Skip to content

Commit f0ab230

Browse files
committed
Add tests to verify embed binary image
1 parent fbfbf56 commit f0ab230

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

integration/integration_test.go

+39
Original file line numberDiff line numberDiff line change
@@ -1354,6 +1354,45 @@ COPY --from=a /root/date.txt /date.txt`, testImageAlpine, testImageAlpine),
13541354
})
13551355
}
13561356

1357+
func TestEmbedBinaryImage(t *testing.T) {
1358+
t.Parallel()
1359+
1360+
srv := createGitServer(t, gitServerOptions{
1361+
files: map[string]string{
1362+
".devcontainer/Dockerfile": fmt.Sprintf("FROM %s\nRUN date --utc > /root/date.txt", testImageAlpine),
1363+
".devcontainer/devcontainer.json": `{
1364+
"name": "Test",
1365+
"build": {
1366+
"dockerfile": "Dockerfile"
1367+
},
1368+
}`,
1369+
},
1370+
})
1371+
1372+
testReg := setupInMemoryRegistry(t, setupInMemoryRegistryOpts{})
1373+
testRepo := testReg + "/test"
1374+
ref, err := name.ParseReference(testRepo + ":latest")
1375+
require.NoError(t, err)
1376+
1377+
_, err = runEnvbuilder(t, options{env: []string{
1378+
envbuilderEnv("GIT_URL", srv.URL),
1379+
envbuilderEnv("CACHE_REPO", testRepo),
1380+
envbuilderEnv("PUSH_IMAGE", "1"),
1381+
}})
1382+
require.NoError(t, err)
1383+
1384+
_, err = remote.Image(ref)
1385+
require.NoError(t, err, "expected image to be present after build + push")
1386+
1387+
ctr, err := runEnvbuilder(t, options{env: []string{
1388+
envbuilderEnv("FALLBACK_IMAGE", ref.String()),
1389+
}})
1390+
require.NoError(t, err)
1391+
1392+
out := execContainer(t, ctr, "[[ -f \"/.envbuilder/bin/envbuilder\" ]] && echo \"exists\"")
1393+
require.Equal(t, "exists", strings.TrimSpace(out))
1394+
}
1395+
13571396
type setupInMemoryRegistryOpts struct {
13581397
Username string
13591398
Password string

0 commit comments

Comments
 (0)