MCPcopy Create free account
hub / github.com/ddev/ddev / TestDockerComposeDownload

Function TestDockerComposeDownload

pkg/dockerutil/docker_compose_test.go:39–84  ·  view source on GitHub ↗

TestDockerComposeDownload verifies that we can download a particular docker-compose version

(t *testing.T)

Source from the content-addressed store, hash-verified

37
38// TestDockerComposeDownload verifies that we can download a particular docker-compose version
39func TestDockerComposeDownload(t *testing.T) {
40 assert := asrt.New(t)
41 var err error
42
43 _, err = dockerutil.DownloadDockerComposeIfNeeded()
44 require.NoError(t, err)
45
46 tmpXdgConfigHomeDir := testcommon.CopyGlobalDdevDir(t)
47
48 t.Cleanup(func() {
49 testcommon.ResetGlobalDdevDir(t, tmpXdgConfigHomeDir)
50 })
51
52 // Remove previous binary
53 previousDockerCompose, _ := globalconfig.GetDockerComposePath()
54 _ = os.RemoveAll(previousDockerCompose)
55
56 // Download the normal required version specified in code
57 globalconfig.DockerComposeVersion = ""
58
59 downloaded, err := dockerutil.DownloadDockerComposeIfNeeded()
60 require.NoError(t, err)
61 require.True(t, downloaded)
62 v, err := dockerutil.GetLiveDockerComposeVersion()
63 assert.NoError(err)
64 assert.Equal(globalconfig.GetRequiredDockerComposeVersion(), v)
65
66 // Make sure it doesn't download a second time
67 downloaded, err = dockerutil.DownloadDockerComposeIfNeeded()
68 assert.NoError(err)
69 assert.False(downloaded)
70
71 for _, v := range []string{"v2.32.4"} {
72 globalconfig.DockerComposeVersion = ""
73 globalconfig.DdevGlobalConfig.RequiredDockerComposeVersion = v
74 downloaded, err = dockerutil.DownloadDockerComposeIfNeeded()
75 require.NoError(t, err)
76 assert.True(downloaded)
77 // We have to reset version.DockerComposeVersion so it will actually check
78 // instead of using cached value.
79 globalconfig.DockerComposeVersion = ""
80 activeVersion, err := dockerutil.GetLiveDockerComposeVersion()
81 assert.NoError(err)
82 assert.Equal(globalconfig.GetRequiredDockerComposeVersion(), activeVersion)
83 }
84}
85
86// TestComposeCmd tests execution of docker-compose commands.
87func TestComposeCmd(t *testing.T) {

Callers

nothing calls this directly

Calls 7

CopyGlobalDdevDirFunction · 0.92
ResetGlobalDdevDirFunction · 0.92
GetDockerComposePathFunction · 0.92
CleanupMethod · 0.80

Tested by

no test coverage detected