vendor: github.com/moby/moby/api, moby/moby/client master

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2025-10-24 22:08:17 +02:00
parent f74cd147bb
commit 056e314645
92 changed files with 639 additions and 580 deletions

View File

@ -84,7 +84,7 @@ func TestVolumeInspectWithoutFormat(t *testing.T) {
return client.VolumeInspectResult{}, fmt.Errorf("invalid volumeID, expected %s, got %s", "foo", volumeID)
}
return client.VolumeInspectResult{
Volume: *builders.Volume(),
Volume: builders.Volume(),
}, nil
},
},
@ -93,7 +93,7 @@ func TestVolumeInspectWithoutFormat(t *testing.T) {
args: []string{"foo", "bar"},
volumeInspectFunc: func(volumeID string) (client.VolumeInspectResult, error) {
return client.VolumeInspectResult{
Volume: *builders.Volume(builders.VolumeName(volumeID), builders.VolumeLabels(map[string]string{
Volume: builders.Volume(builders.VolumeName(volumeID), builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
}, nil
@ -114,7 +114,7 @@ func TestVolumeInspectWithoutFormat(t *testing.T) {
func TestVolumeInspectWithFormat(t *testing.T) {
volumeInspectFunc := func(volumeID string) (client.VolumeInspectResult, error) {
return client.VolumeInspectResult{
Volume: *builders.Volume(builders.VolumeLabels(map[string]string{
Volume: builders.Volume(builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
}, nil

View File

@ -71,13 +71,13 @@ func runList(ctx context.Context, dockerCLI command.Cli, options listOptions) er
// trick for filtering in place
n := 0
for _, vol := range res.Items.Volumes {
for _, vol := range res.Items {
if vol.ClusterVolume != nil {
res.Items.Volumes[n] = vol
res.Items[n] = vol
n++
}
}
res.Items.Volumes = res.Items.Volumes[:n]
res.Items = res.Items[:n]
if !options.quiet {
format = clusterTableFormat
} else {
@ -85,13 +85,13 @@ func runList(ctx context.Context, dockerCLI command.Cli, options listOptions) er
}
}
sort.Slice(res.Items.Volumes, func(i, j int) bool {
return sortorder.NaturalLess(res.Items.Volumes[i].Name, res.Items.Volumes[j].Name)
sort.Slice(res.Items, func(i, j int) bool {
return sortorder.NaturalLess(res.Items[i].Name, res.Items[j].Name)
})
volumeCtx := formatter.Context{
Output: dockerCLI.Out(),
Format: formatter.NewVolumeFormat(format, options.quiet),
}
return formatter.VolumeWrite(volumeCtx, res.Items.Volumes)
return formatter.VolumeWrite(volumeCtx, res.Items)
}

View File

@ -52,14 +52,12 @@ func TestVolumeListWithoutFormat(t *testing.T) {
cli := test.NewFakeCli(&fakeClient{
volumeListFunc: func(client.VolumeListOptions) (client.VolumeListResult, error) {
return client.VolumeListResult{
Items: volume.ListResponse{
Volumes: []*volume.Volume{
builders.Volume(),
builders.Volume(builders.VolumeName("foo"), builders.VolumeDriver("bar")),
builders.Volume(builders.VolumeName("baz"), builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
},
Items: []volume.Volume{
builders.Volume(),
builders.Volume(builders.VolumeName("foo"), builders.VolumeDriver("bar")),
builders.Volume(builders.VolumeName("baz"), builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
},
}, nil
},
@ -73,14 +71,12 @@ func TestVolumeListWithConfigFormat(t *testing.T) {
cli := test.NewFakeCli(&fakeClient{
volumeListFunc: func(client.VolumeListOptions) (client.VolumeListResult, error) {
return client.VolumeListResult{
Items: volume.ListResponse{
Volumes: []*volume.Volume{
builders.Volume(),
builders.Volume(builders.VolumeName("foo"), builders.VolumeDriver("bar")),
builders.Volume(builders.VolumeName("baz"), builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
},
Items: []volume.Volume{
builders.Volume(),
builders.Volume(builders.VolumeName("foo"), builders.VolumeDriver("bar")),
builders.Volume(builders.VolumeName("baz"), builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
},
}, nil
},
@ -97,14 +93,12 @@ func TestVolumeListWithFormat(t *testing.T) {
cli := test.NewFakeCli(&fakeClient{
volumeListFunc: func(client.VolumeListOptions) (client.VolumeListResult, error) {
return client.VolumeListResult{
Items: volume.ListResponse{
Volumes: []*volume.Volume{
builders.Volume(),
builders.Volume(builders.VolumeName("foo"), builders.VolumeDriver("bar")),
builders.Volume(builders.VolumeName("baz"), builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
},
Items: []volume.Volume{
builders.Volume(),
builders.Volume(builders.VolumeName("foo"), builders.VolumeDriver("bar")),
builders.Volume(builders.VolumeName("baz"), builders.VolumeLabels(map[string]string{
"foo": "bar",
})),
},
}, nil
},
@ -119,12 +113,10 @@ func TestVolumeListSortOrder(t *testing.T) {
cli := test.NewFakeCli(&fakeClient{
volumeListFunc: func(client.VolumeListOptions) (client.VolumeListResult, error) {
return client.VolumeListResult{
Items: volume.ListResponse{
Volumes: []*volume.Volume{
builders.Volume(builders.VolumeName("volume-2-foo")),
builders.Volume(builders.VolumeName("volume-10-foo")),
builders.Volume(builders.VolumeName("volume-1-foo")),
},
Items: []volume.Volume{
builders.Volume(builders.VolumeName("volume-2-foo")),
builders.Volume(builders.VolumeName("volume-10-foo")),
builders.Volume(builders.VolumeName("volume-1-foo")),
},
}, nil
},
@ -139,101 +131,99 @@ func TestClusterVolumeList(t *testing.T) {
cli := test.NewFakeCli(&fakeClient{
volumeListFunc: func(client.VolumeListOptions) (client.VolumeListResult, error) {
return client.VolumeListResult{
Items: volume.ListResponse{
Volumes: []*volume.Volume{
{
Name: "volume1",
Scope: "global",
Driver: "driver1",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group1",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeSingleNode,
Sharing: volume.SharingOneWriter,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityActive,
Items: []volume.Volume{
{
Name: "volume1",
Scope: "global",
Driver: "driver1",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group1",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeSingleNode,
Sharing: volume.SharingOneWriter,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityActive,
},
},
{
Name: "volume2",
Scope: "global",
Driver: "driver1",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group1",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeSingleNode,
Sharing: volume.SharingOneWriter,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityPause,
},
Info: &volume.Info{
CapacityBytes: 100000000,
VolumeID: "driver1vol2",
},
},
},
{
Name: "volume3",
Scope: "global",
Driver: "driver2",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group2",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeMultiNode,
Sharing: volume.SharingAll,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityActive,
},
PublishStatus: []*volume.PublishStatus{
{
NodeID: "nodeid1",
State: volume.StatePublished,
},
},
Info: &volume.Info{
CapacityBytes: 100000000,
VolumeID: "driver1vol3",
},
},
},
{
Name: "volume4",
Scope: "global",
Driver: "driver2",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group2",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeMultiNode,
Sharing: volume.SharingAll,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityActive,
},
PublishStatus: []*volume.PublishStatus{
{
NodeID: "nodeid1",
State: volume.StatePublished,
}, {
NodeID: "nodeid2",
State: volume.StatePublished,
},
},
Info: &volume.Info{
CapacityBytes: 100000000,
VolumeID: "driver1vol4",
},
},
},
builders.Volume(builders.VolumeName("volume-local-1")),
},
{
Name: "volume2",
Scope: "global",
Driver: "driver1",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group1",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeSingleNode,
Sharing: volume.SharingOneWriter,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityPause,
},
Info: &volume.Info{
CapacityBytes: 100000000,
VolumeID: "driver1vol2",
},
},
},
{
Name: "volume3",
Scope: "global",
Driver: "driver2",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group2",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeMultiNode,
Sharing: volume.SharingAll,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityActive,
},
PublishStatus: []*volume.PublishStatus{
{
NodeID: "nodeid1",
State: volume.StatePublished,
},
},
Info: &volume.Info{
CapacityBytes: 100000000,
VolumeID: "driver1vol3",
},
},
},
{
Name: "volume4",
Scope: "global",
Driver: "driver2",
ClusterVolume: &volume.ClusterVolume{
Spec: volume.ClusterVolumeSpec{
Group: "group2",
AccessMode: &volume.AccessMode{
Scope: volume.ScopeMultiNode,
Sharing: volume.SharingAll,
MountVolume: &volume.TypeMount{},
},
Availability: volume.AvailabilityActive,
},
PublishStatus: []*volume.PublishStatus{
{
NodeID: "nodeid1",
State: volume.StatePublished,
}, {
NodeID: "nodeid2",
State: volume.StatePublished,
},
},
Info: &volume.Info{
CapacityBytes: 100000000,
VolumeID: "driver1vol4",
},
},
},
builders.Volume(builders.VolumeName("volume-local-1")),
},
}, nil
},