diff --git a/pkg/e2e/fixtures/recreate-volumes/compose.yaml b/pkg/e2e/fixtures/recreate-volumes/compose.yaml index 9da0dcba17..e0e40c721b 100644 --- a/pkg/e2e/fixtures/recreate-volumes/compose.yaml +++ b/pkg/e2e/fixtures/recreate-volumes/compose.yaml @@ -6,5 +6,5 @@ services: volumes: my_vol: - external: true - name: test_external_volume + labels: + foo: bar diff --git a/pkg/e2e/fixtures/recreate-volumes/compose2.yaml b/pkg/e2e/fixtures/recreate-volumes/compose2.yaml index 6d52097f92..96a073f051 100644 --- a/pkg/e2e/fixtures/recreate-volumes/compose2.yaml +++ b/pkg/e2e/fixtures/recreate-volumes/compose2.yaml @@ -6,5 +6,5 @@ services: volumes: my_vol: - external: true - name: test_external_volume_2 + labels: + foo: zot diff --git a/pkg/e2e/fixtures/switch-volumes/compose.yaml b/pkg/e2e/fixtures/switch-volumes/compose.yaml new file mode 100644 index 0000000000..9da0dcba17 --- /dev/null +++ b/pkg/e2e/fixtures/switch-volumes/compose.yaml @@ -0,0 +1,10 @@ +services: + app: + image: alpine + volumes: + - my_vol:/my_vol + +volumes: + my_vol: + external: true + name: test_external_volume diff --git a/pkg/e2e/fixtures/switch-volumes/compose2.yaml b/pkg/e2e/fixtures/switch-volumes/compose2.yaml new file mode 100644 index 0000000000..6d52097f92 --- /dev/null +++ b/pkg/e2e/fixtures/switch-volumes/compose2.yaml @@ -0,0 +1,10 @@ +services: + app: + image: alpine + volumes: + - my_vol:/my_vol + +volumes: + my_vol: + external: true + name: test_external_volume_2 diff --git a/pkg/e2e/volumes_test.go b/pkg/e2e/volumes_test.go index d975f9e8a8..ebb4e1b241 100644 --- a/pkg/e2e/volumes_test.go +++ b/pkg/e2e/volumes_test.go @@ -123,9 +123,9 @@ func TestProjectVolumeBind(t *testing.T) { }) } -func TestUpRecreateVolumes(t *testing.T) { +func TestUpSwitchVolumes(t *testing.T) { c := NewCLI(t) - const projectName = "compose-e2e-recreate-volumes" + const projectName = "compose-e2e-switch-volumes" t.Cleanup(func() { c.cleanupWithDown(t, projectName) c.RunDockerCmd(t, "volume", "rm", "-f", "test_external_volume") @@ -135,12 +135,29 @@ func TestUpRecreateVolumes(t *testing.T) { c.RunDockerCmd(t, "volume", "create", "test_external_volume") c.RunDockerCmd(t, "volume", "create", "test_external_volume_2") - c.RunDockerComposeCmd(t, "-f", "./fixtures/recreate-volumes/compose.yaml", "--project-name", projectName, "up", "-d") + c.RunDockerComposeCmd(t, "-f", "./fixtures/switch-volumes/compose.yaml", "--project-name", projectName, "up", "-d") res := c.RunDockerCmd(t, "inspect", fmt.Sprintf("%s-app-1", projectName), "-f", "{{ (index .Mounts 0).Name }}") res.Assert(t, icmd.Expected{Out: "test_external_volume"}) - c.RunDockerComposeCmd(t, "-f", "./fixtures/recreate-volumes/compose2.yaml", "--project-name", projectName, "up", "-d") + c.RunDockerComposeCmd(t, "-f", "./fixtures/switch-volumes/compose2.yaml", "--project-name", projectName, "up", "-d") res = c.RunDockerCmd(t, "inspect", fmt.Sprintf("%s-app-1", projectName), "-f", "{{ (index .Mounts 0).Name }}") res.Assert(t, icmd.Expected{Out: "test_external_volume_2"}) } + +func TestUpRecreateVolumes(t *testing.T) { + c := NewCLI(t) + const projectName = "compose-e2e-recreate-volumes" + t.Cleanup(func() { + c.cleanupWithDown(t, projectName) + }) + + c.RunDockerComposeCmd(t, "-f", "./fixtures/recreate-volumes/compose.yaml", "--project-name", projectName, "up", "-d") + + res := c.RunDockerCmd(t, "volume", "inspect", fmt.Sprintf("%s_my_vol", projectName), "-f", "{{ index .Labels \"foo\" }}") + res.Assert(t, icmd.Expected{Out: "bar"}) + + c.RunDockerComposeCmd(t, "-f", "./fixtures/recreate-volumes/compose2.yaml", "--project-name", projectName, "up", "-d", "-y") + res = c.RunDockerCmd(t, "volume", "inspect", fmt.Sprintf("%s_my_vol", projectName), "-f", "{{ index .Labels \"foo\" }}") + res.Assert(t, icmd.Expected{Out: "zot"}) +}