github.com/thajeztah/cli@v0.0.0-20240223162942-dc6bfac81a8b/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(vol *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(vol *volume.Volume) { 24 return func(vol *volume.Volume) { 25 vol.Labels = labels 26 } 27 } 28 29 // VolumeName sets the volume labels 30 func VolumeName(name string) func(vol *volume.Volume) { 31 return func(vol *volume.Volume) { 32 vol.Name = name 33 } 34 } 35 36 // VolumeDriver sets the volume driver 37 func VolumeDriver(name string) func(vol *volume.Volume) { 38 return func(vol *volume.Volume) { 39 vol.Driver = name 40 } 41 }