diff --git a/integration-cli/docker_api_version_test.go b/integration-cli/docker_api_version_test.go deleted file mode 100644 index 0b995f7a15..0000000000 --- a/integration-cli/docker_api_version_test.go +++ /dev/null @@ -1,18 +0,0 @@ -package main - -import ( - "github.com/docker/docker/client" - "github.com/docker/docker/dockerversion" - "github.com/docker/docker/integration-cli/checker" - "github.com/go-check/check" - "golang.org/x/net/context" -) - -func (s *DockerSuite) TestGetVersion(c *check.C) { - cli, err := client.NewEnvClient() - c.Assert(err, checker.IsNil) - defer cli.Close() - - v, err := cli.ServerVersion(context.Background()) - c.Assert(v.Version, checker.Equals, dockerversion.Version, check.Commentf("Version mismatch")) -} diff --git a/integration-cli/docker_cli_experimental_test.go b/integration-cli/docker_cli_experimental_test.go deleted file mode 100644 index 0a496fd26c..0000000000 --- a/integration-cli/docker_cli_experimental_test.go +++ /dev/null @@ -1,29 +0,0 @@ -package main - -import ( - "strings" - - "github.com/docker/docker/integration-cli/checker" - "github.com/go-check/check" -) - -func (s *DockerSuite) TestExperimentalVersionTrue(c *check.C) { - testExperimentalInVersion(c, ExperimentalDaemon, "*true") -} - -func (s *DockerSuite) TestExperimentalVersionFalse(c *check.C) { - testExperimentalInVersion(c, NotExperimentalDaemon, "*false") -} - -func testExperimentalInVersion(c *check.C, requirement func() bool, expectedValue string) { - testRequires(c, requirement) - out, _ := dockerCmd(c, "version") - for _, line := range strings.Split(out, "\n") { - if strings.HasPrefix(strings.TrimSpace(line), "Experimental:") { - c.Assert(line, checker.Matches, expectedValue) - return - } - } - - c.Fatal(`"Experimental" not found in version output`) -} diff --git a/integration-cli/docker_cli_version_test.go b/integration-cli/docker_cli_version_test.go deleted file mode 100644 index 074a7db475..0000000000 --- a/integration-cli/docker_cli_version_test.go +++ /dev/null @@ -1,58 +0,0 @@ -package main - -import ( - "strings" - - "github.com/docker/docker/integration-cli/checker" - "github.com/go-check/check" -) - -// ensure docker version works -func (s *DockerSuite) TestVersionEnsureSucceeds(c *check.C) { - out, _ := dockerCmd(c, "version") - stringsToCheck := map[string]int{ - "Client:": 1, - "Server:": 1, - " Version:": 2, - " API version:": 2, - " Go version:": 2, - " Git commit:": 2, - " OS/Arch:": 2, - " Built:": 2, - } - - for k, v := range stringsToCheck { - c.Assert(strings.Count(out, k), checker.Equals, v, check.Commentf("The count of %v in %s does not match excepted", k, out)) - } -} - -// ensure the Windows daemon return the correct platform string -func (s *DockerSuite) TestVersionPlatform_w(c *check.C) { - testRequires(c, DaemonIsWindows) - testVersionPlatform(c, "windows/amd64") -} - -// ensure the Linux daemon return the correct platform string -func (s *DockerSuite) TestVersionPlatform_l(c *check.C) { - testRequires(c, DaemonIsLinux) - testVersionPlatform(c, "linux") -} - -func testVersionPlatform(c *check.C, platform string) { - out, _ := dockerCmd(c, "version") - expected := "OS/Arch: " + platform - - split := strings.Split(out, "\n") - c.Assert(len(split) >= 14, checker.Equals, true, check.Commentf("got %d lines from version", len(split))) - - // Verify the second 'OS/Arch' matches the platform. Experimental has - // more lines of output than 'regular' - bFound := false - for i := 14; i < len(split); i++ { - if strings.Contains(split[i], expected) { - bFound = true - break - } - } - c.Assert(bFound, checker.Equals, true, check.Commentf("Could not find server '%s' in '%s'", expected, out)) -} diff --git a/integration/system/main_test.go b/integration/system/main_test.go new file mode 100644 index 0000000000..ad0d203753 --- /dev/null +++ b/integration/system/main_test.go @@ -0,0 +1,28 @@ +package system + +import ( + "fmt" + "os" + "testing" + + "github.com/docker/docker/internal/test/environment" +) + +var testEnv *environment.Execution + +func TestMain(m *testing.M) { + var err error + testEnv, err = environment.New() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + testEnv.Print() + os.Exit(m.Run()) +} + +func setupTest(t *testing.T) func() { + environment.ProtectImages(t, testEnv) + return func() { testEnv.Clean(t) } +} diff --git a/integration/system/version_test.go b/integration/system/version_test.go new file mode 100644 index 0000000000..ac47891e9b --- /dev/null +++ b/integration/system/version_test.go @@ -0,0 +1,24 @@ +package system + +import ( + "testing" + + "github.com/docker/docker/integration-cli/request" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "golang.org/x/net/context" +) + +func TestVersion(t *testing.T) { + client, err := request.NewClient() + require.NoError(t, err) + + version, err := client.ServerVersion(context.Background()) + require.NoError(t, err) + + assert.NotNil(t, version.APIVersion) + assert.NotNil(t, version.Version) + assert.NotNil(t, version.MinAPIVersion) + assert.Equal(t, testEnv.DaemonInfo.ExperimentalBuild, version.Experimental) + assert.Equal(t, testEnv.DaemonInfo.OSType, version.Os) +}