github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/integration/docker/load_test.go (about)

     1  // Copyright (c) 2019 Intel Corporation
     2  //
     3  // SPDX-License-Identifier: Apache-2.0
     4  
     5  package docker
     6  
     7  import (
     8  	"io/ioutil"
     9  	"os"
    10  
    11  	. "github.com/onsi/ginkgo"
    12  	. "github.com/onsi/gomega"
    13  )
    14  
    15  var _ = Describe("load", func() {
    16  	var (
    17  		id       string
    18  		repoName string
    19  		exitCode int
    20  	)
    21  
    22  	BeforeEach(func() {
    23  		id = randomDockerName()
    24  		_, _, exitCode = dockerRun("-td", "--name", id, Image)
    25  		Expect(exitCode).To(Equal(0))
    26  		repoName = randomDockerRepoName()
    27  	})
    28  
    29  	AfterEach(func() {
    30  		_, _, exitCode = dockerRmi(repoName)
    31  		Expect(exitCode).To(Equal(0))
    32  		Expect(RemoveDockerContainer(id)).To(BeTrue())
    33  		Expect(ExistDockerContainer(id)).NotTo(BeTrue())
    34  	})
    35  
    36  	Describe("load with docker", func() {
    37  		Context("load a container", func() {
    38  			It("should load image", func() {
    39  				file, err := ioutil.TempFile(os.TempDir(), "mynewimage.tar")
    40  				Expect(err).ToNot(HaveOccurred())
    41  				err = file.Close()
    42  				Expect(err).ToNot(HaveOccurred())
    43  				defer os.Remove(file.Name())
    44  				Expect(file.Name()).To(BeAnExistingFile())
    45  				_, _, exitCode = dockerCommit(id, repoName)
    46  				Expect(exitCode).To(Equal(0))
    47  				_, _, exitCode = dockerSave(repoName, "--output", file.Name())
    48  				Expect(exitCode).To(Equal(0))
    49  				stdout, _, _ := dockerLoad("--input", file.Name())
    50  				Expect(stdout).To(ContainSubstring(repoName))
    51  			})
    52  		})
    53  	})
    54  })