46 lines
979 B
Go
46 lines
979 B
Go
|
// Copyright (c) HashiCorp, Inc.
|
||
|
// SPDX-License-Identifier: BUSL-1.1
|
||
|
|
||
|
package structs
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/shoenig/test/must"
|
||
|
|
||
|
"github.com/hashicorp/nomad/nomad/structs"
|
||
|
)
|
||
|
|
||
|
func TestClientCSINodeExpandVolumeRequest_Validate(t *testing.T) {
|
||
|
req := &ClientCSINodeExpandVolumeRequest{
|
||
|
PluginID: "plug-id",
|
||
|
VolumeID: "vol-id",
|
||
|
ExternalID: "ext-id",
|
||
|
Claim: &structs.CSIVolumeClaim{
|
||
|
AllocationID: "alloc-id",
|
||
|
},
|
||
|
}
|
||
|
err := req.Validate()
|
||
|
must.NoError(t, err)
|
||
|
|
||
|
req.PluginID = ""
|
||
|
err = req.Validate()
|
||
|
must.ErrorContains(t, err, "PluginID is required")
|
||
|
|
||
|
req.VolumeID = ""
|
||
|
err = req.Validate()
|
||
|
must.ErrorContains(t, err, "VolumeID is required")
|
||
|
|
||
|
req.ExternalID = ""
|
||
|
err = req.Validate()
|
||
|
must.ErrorContains(t, err, "ExternalID is required")
|
||
|
|
||
|
req.Claim.AllocationID = ""
|
||
|
err = req.Validate()
|
||
|
must.ErrorContains(t, err, "Claim.AllocationID is required")
|
||
|
|
||
|
req.Claim = nil
|
||
|
err = req.Validate()
|
||
|
must.ErrorContains(t, err, "Claim is required")
|
||
|
}
|