github.com/thriqon/involucro@v1.1.3/integrationtest/20_tags_test.go (about) 1 package integrationtest 2 3 import ( 4 "testing" 5 6 "github.com/fsouza/go-dockerclient" 7 "github.com/involucro/involucro/app" 8 ) 9 10 func TestTagging(t *testing.T) { 11 if testing.Short() { 12 t.SkipNow() 13 } 14 c, err := docker.NewClientFromEnv() 15 if err != nil { 16 t.Fatal(err) 17 } 18 19 defer func() { 20 c.RemoveImage("inttest/20:v1") 21 c.RemoveImage("inttest/20_b") 22 }() 23 24 if err := app.Main([]string{ 25 "involucro", "-e", 26 "inv.task('package').wrap('.').inImage('busybox').at('/data').as('inttest/20:v1').tag('inttest/20:v1').as('inttest/20_b')", 27 "package", 28 }); err != nil { 29 t.Fatal(err) 30 } 31 32 image, err := c.InspectImage("inttest/20:v1") 33 if err != nil { 34 t.Fatal(err) 35 } 36 37 image2, err := c.InspectImage("inttest/20_b") 38 if err != nil { 39 t.Fatal(err) 40 } 41 42 if err := app.Main([]string{ 43 "involucro", "-e", 44 "inv.task('run').using('inttest/20:v1').run('true')", 45 "run", 46 }); err != nil { 47 t.Fatal(err) 48 } 49 50 if image.ID != image2.ID { 51 t.Error("Images do not share an ID", image.ID, image2.ID) 52 } 53 }