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  }