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