@@ -25,6 +25,48 @@ func TestAccDockerContainer_basic(t *testing.T) {
2525 })
2626}
2727
28+ func TestAccDockerContainer_volume (t * testing.T ) {
29+ var c dc.Container
30+
31+ testCheck := func (* terraform.State ) error {
32+ if len (c .Mounts ) != 2 {
33+ return fmt .Errorf ("Incorrect number of mounts: expected 2, got %d" , len (c .Mounts ))
34+ }
35+
36+ for _ , v := range c .Mounts {
37+ if v .Name != "testAccDockerContainerVolume_volume" {
38+ continue
39+ }
40+
41+ if v .Destination != "/tmp/volume" {
42+ return fmt .Errorf ("Bad destination on mount: expected /tmp/volume, got %q" , v .Destination )
43+ }
44+
45+ if v .Mode != "rw" {
46+ return fmt .Errorf ("Bad mode on mount: expected rw, got %q" , v .Mode )
47+ }
48+
49+ return nil
50+ }
51+
52+ return fmt .Errorf ("Mount for testAccDockerContainerVolume_volume not found" )
53+ }
54+
55+ resource .Test (t , resource.TestCase {
56+ PreCheck : func () { testAccPreCheck (t ) },
57+ Providers : testAccProviders ,
58+ Steps : []resource.TestStep {
59+ resource.TestStep {
60+ Config : testAccDockerContainerVolumeConfig ,
61+ Check : resource .ComposeTestCheckFunc (
62+ testAccContainerRunning ("docker_container.foo" , & c ),
63+ testCheck ,
64+ ),
65+ },
66+ },
67+ })
68+ }
69+
2870func TestAccDockerContainer_customized (t * testing.T ) {
2971 var c dc.Container
3072
@@ -145,6 +187,27 @@ resource "docker_container" "foo" {
145187}
146188`
147189
190+ const testAccDockerContainerVolumeConfig = `
191+ resource "docker_image" "foo" {
192+ name = "nginx:latest"
193+ }
194+
195+ resource "docker_volume" "foo" {
196+ name = "testAccDockerContainerVolume_volume"
197+ }
198+
199+ resource "docker_container" "foo" {
200+ name = "tf-test"
201+ image = "${docker_image.foo.latest}"
202+
203+ volumes {
204+ volume_name = "${docker_volume.foo.name}"
205+ container_path = "/tmp/volume"
206+ read_only = false
207+ }
208+ }
209+ `
210+
148211const testAccDockerContainerCustomizedConfig = `
149212resource "docker_image" "foo" {
150213 name = "nginx:latest"
0 commit comments