| package convert | |
| import ( | |
| "testing" | |
| types "github.com/docker/docker/api/types/swarm" | |
| swarmapi "github.com/moby/swarmkit/v2/api" | |
| "gotest.tools/v3/assert" | |
| ) | |
| // TestNodeCSIInfoFromGRPC tests that conversion of the NodeCSIInfo from the | |
| // gRPC to the Docker types is correct. | |
| func TestNodeCSIInfoFromGRPC(t *testing.T) { | |
| node := &swarmapi.Node{ | |
| ID: "someID", | |
| Description: &swarmapi.NodeDescription{ | |
| CSIInfo: []*swarmapi.NodeCSIInfo{ | |
| { | |
| PluginName: "plugin1", | |
| NodeID: "p1n1", | |
| MaxVolumesPerNode: 1, | |
| }, | |
| { | |
| PluginName: "plugin2", | |
| NodeID: "p2n1", | |
| MaxVolumesPerNode: 2, | |
| AccessibleTopology: &swarmapi.Topology{ | |
| Segments: map[string]string{ | |
| "a": "1", | |
| "b": "2", | |
| }, | |
| }, | |
| }, | |
| }, | |
| }, | |
| } | |
| expected := []types.NodeCSIInfo{ | |
| { | |
| PluginName: "plugin1", | |
| NodeID: "p1n1", | |
| MaxVolumesPerNode: 1, | |
| }, | |
| { | |
| PluginName: "plugin2", | |
| NodeID: "p2n1", | |
| MaxVolumesPerNode: 2, | |
| AccessibleTopology: &types.Topology{ | |
| Segments: map[string]string{ | |
| "a": "1", | |
| "b": "2", | |
| }, | |
| }, | |
| }, | |
| } | |
| actual := NodeFromGRPC(*node) | |
| assert.DeepEqual(t, actual.Description.CSIInfo, expected) | |
| } |