Skip to content

Commit

Permalink
e2e test for recreate volume
Browse files Browse the repository at this point in the history
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
  • Loading branch information
ndeloof committed Dec 13, 2024
1 parent 977530c commit a20b69a
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 8 deletions.
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"})
}

0 comments on commit a20b69a

Please sign in to comment.