Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pkg/e2e/fixtures/recreate-volumes/compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ services:

volumes:
my_vol:
external: true
name: test_external_volume
labels:
foo: bar
4 changes: 2 additions & 2 deletions pkg/e2e/fixtures/recreate-volumes/compose2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ services:

volumes:
my_vol:
external: true
name: test_external_volume_2
labels:
foo: zot
10 changes: 10 additions & 0 deletions pkg/e2e/fixtures/switch-volumes/compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
services:
app:
image: alpine
volumes:
- my_vol:/my_vol

volumes:
my_vol:
external: true
name: test_external_volume
10 changes: 10 additions & 0 deletions pkg/e2e/fixtures/switch-volumes/compose2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
services:
app:
image: alpine
volumes:
- my_vol:/my_vol

volumes:
my_vol:
external: true
name: test_external_volume_2
25 changes: 21 additions & 4 deletions pkg/e2e/volumes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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"})
}
Loading