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  }