github.com/panekj/cli@v0.0.0-20230304125325-467dd2f3797e/internal/test/builders/volume.go (about) 1 package builders 2 3 import "github.com/docker/docker/api/types/volume" 4 5 // Volume creates a volume with default values. 6 // Any number of volume function builder can be passed to augment it. 7 func Volume(builders ...func(volume *volume.Volume)) *volume.Volume { 8 vol := &volume.Volume{ 9 Name: "volume", 10 Driver: "local", 11 Mountpoint: "/data/volume", 12 Scope: "local", 13 } 14 15 for _, builder := range builders { 16 builder(vol) 17 } 18 19 return vol 20 } 21 22 // VolumeLabels sets the volume labels 23 func VolumeLabels(labels map[string]string) func(volume *volume.Volume) { 24 return func(volume *volume.Volume) { 25 volume.Labels = labels 26 } 27 } 28 29 // VolumeName sets the volume labels 30 func VolumeName(name string) func(volume *volume.Volume) { 31 return func(volume *volume.Volume) { 32 volume.Name = name 33 } 34 } 35 36 // VolumeDriver sets the volume driver 37 func VolumeDriver(name string) func(volume *volume.Volume) { 38 return func(volume *volume.Volume) { 39 volume.Driver = name 40 } 41 }