github.com/tilt-dev/tilt@v0.36.0/integration/dcbuild_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package integration 5 6 import ( 7 "context" 8 "testing" 9 "time" 10 11 "github.com/stretchr/testify/assert" 12 "github.com/stretchr/testify/require" 13 ) 14 15 // Ensures live-update works on tilt-handled image builds in dockercompose 16 func TestDockerComposeImageBuild(t *testing.T) { 17 f := newDCFixture(t, "dcbuild") 18 19 f.dockerKillAll("tilt") 20 f.TiltUp() 21 22 ctx, cancel := context.WithTimeout(f.ctx, time.Minute) 23 defer cancel() 24 25 f.WaitUntil(ctx, "dcbuild up", func() (string, error) { 26 return f.dockerCmdOutput([]string{ 27 "ps", "-f", "name=dcbuild", "--format", "{{.Image}}", 28 }) 29 }, "gcr.io/windmill-test-containers/dcbuild") 30 31 f.CurlUntil(ctx, "dcbuild", "localhost:8000/index.html", "🍄 One-Up! 🍄") 32 33 cID1, err := f.dockerContainerID("dcbuild") 34 require.NoError(t, err) 35 36 f.ReplaceContents("compile.sh", "One-Up", "Two-Up") 37 38 ctx, cancel = context.WithTimeout(f.ctx, time.Minute) 39 defer cancel() 40 f.CurlUntil(ctx, "dcbuild", "localhost:8000/index.html", "🍄 Two-Up! 🍄") 41 42 cID2, err := f.dockerContainerID("dcbuild") 43 require.NoError(t, err) 44 45 // Make sure the container was updated in-place 46 assert.Equal(t, cID1, cID2) 47 }