@@ -906,20 +906,22 @@ var _ = ginkgo.Describe("TestCreateVolume", func() {
906906 }
907907
908908 allParam := map [string ]string {
909- skuNameField : "premium" ,
910- storageAccountTypeField : "stoacctype" ,
911- locationField : "loc" ,
912- storageAccountField : "stoacc" ,
913- resourceGroupField : "rg" ,
914- shareNameField : "" ,
915- diskNameField : "diskname.vhd" ,
916- fsTypeField : "" ,
917- storeAccountKeyField : "storeaccountkey" ,
918- secretNamespaceField : "default" ,
919- mountPermissionsField : "0755" ,
920- accountQuotaField : "1000" ,
921- useDataPlaneAPIField : "oauth" ,
922- clientIDField : "client-id" ,
909+ skuNameField : "premium" ,
910+ storageAccountTypeField : "stoacctype" ,
911+ locationField : "loc" ,
912+ storageAccountField : "stoacc" ,
913+ resourceGroupField : "rg" ,
914+ shareNameField : "" ,
915+ diskNameField : "diskname.vhd" ,
916+ fsTypeField : "" ,
917+ storeAccountKeyField : "storeaccountkey" ,
918+ secretNamespaceField : "default" ,
919+ mountPermissionsField : "0755" ,
920+ accountQuotaField : "1000" ,
921+ useDataPlaneAPIField : "oauth" ,
922+ clientIDField : "client-id" ,
923+ provisionedBandwidthField : "100" ,
924+ provisionedIopsField : "800" ,
923925 }
924926
925927 req := & csi.CreateVolumeRequest {
@@ -1005,42 +1007,55 @@ var _ = ginkgo.Describe("TestCreateVolume", func() {
10051007
10061008 ginkgo .When ("invalid mountPermissions" , func () {
10071009 ginkgo .It ("should fail" , func (ctx context.Context ) {
1008- name := "baz"
1009- SKU := "SKU"
1010- kind := "StorageV2"
1011- location := "centralus"
1012- value := "foo bar"
1013- accounts := []* armstorage.Account {
1014- {Name : & name , SKU : & armstorage.SKU {Name : to .Ptr (armstorage .SKUName (SKU ))}, Kind : to .Ptr (armstorage .Kind (kind )), Location : & location },
1015- }
1016- keys := []* armstorage.AccountKey {
1017- {Value : & value },
1010+ req := & csi.CreateVolumeRequest {
1011+ Name : "random-vol-name-valid-request" ,
1012+ VolumeCapabilities : stdVolCap ,
1013+ CapacityRange : lessThanPremCapRange ,
1014+ Parameters : map [string ]string {
1015+ mountPermissionsField : "0abc" ,
1016+ },
10181017 }
10191018
1020- allParam := map [string ]string {
1021- mountPermissionsField : "0abc" ,
1022- }
1019+ expectedErr := status .Errorf (codes .InvalidArgument , "invalid %s %s in storage class" , "mountPermissions" , "0abc" )
1020+ _ , err := d .CreateVolume (ctx , req )
1021+ gomega .Expect (err ).To (gomega .Equal (expectedErr ))
1022+ })
1023+ })
10231024
1025+ ginkgo .When ("invalid provisionedBandwidth" , func () {
1026+ ginkgo .It ("should fail" , func (ctx context.Context ) {
10241027 req := & csi.CreateVolumeRequest {
1025- Name : "random-vol-name-valid-request " ,
1028+ Name : "invalid-provisionedBandwidth " ,
10261029 VolumeCapabilities : stdVolCap ,
10271030 CapacityRange : lessThanPremCapRange ,
1028- Parameters : allParam ,
1031+ Parameters : map [string ]string {
1032+ provisionedBandwidthField : "abc" ,
1033+ },
10291034 }
10301035
1031- mockStorageAccountsClient := d .cloud .ComputeClientFactory .GetAccountClient ().(* mock_accountclient.MockInterface )
1036+ expectedErr := status .Errorf (codes .InvalidArgument , "invalid %s %s in storage class" , "provisionedBandwidth" , "abc" )
1037+ _ , err := d .CreateVolume (ctx , req )
1038+ gomega .Expect (err ).To (gomega .Equal (expectedErr ))
1039+ })
1040+ })
10321041
1033- mockFileClient .EXPECT ().Create (ctx , gomock .Any (), gomock .Any (), gomock .Any (), gomock .Any (), gomock .Any ()).Return (& armstorage.FileShare {FileShareProperties : & armstorage.FileShareProperties {ShareQuota : nil }}, nil ).AnyTimes ()
1034- mockStorageAccountsClient .EXPECT ().ListKeys (gomock .Any (), gomock .Any (), gomock .Any ()).Return (keys , nil ).AnyTimes ()
1035- mockStorageAccountsClient .EXPECT ().List (gomock .Any (), gomock .Any ()).Return (accounts , nil ).AnyTimes ()
1036- mockStorageAccountsClient .EXPECT ().Create (gomock .Any (), gomock .Any (), gomock .Any (), gomock .Any ()).Return (nil , nil ).AnyTimes ()
1037- mockFileClient .EXPECT ().Get (ctx , gomock .Any (), gomock .Any (), gomock .Any (), gomock .Any ()).Return (& armstorage.FileShare {FileShareProperties : & armstorage.FileShareProperties {ShareQuota : & fakeShareQuota }}, nil ).AnyTimes ()
1042+ ginkgo .When ("invalid provisionedIops" , func () {
1043+ ginkgo .It ("should fail" , func (ctx context.Context ) {
1044+ req := & csi.CreateVolumeRequest {
1045+ Name : "invalid-provisionedIops" ,
1046+ VolumeCapabilities : stdVolCap ,
1047+ CapacityRange : lessThanPremCapRange ,
1048+ Parameters : map [string ]string {
1049+ provisionedIopsField : "abc" ,
1050+ },
1051+ }
10381052
1039- expectedErr := status .Errorf (codes .InvalidArgument , "invalid %s %s in storage class" , "mountPermissions " , "0abc " )
1053+ expectedErr := status .Errorf (codes .InvalidArgument , "invalid %s %s in storage class" , "provisionedIops " , "abc " )
10401054 _ , err := d .CreateVolume (ctx , req )
10411055 gomega .Expect (err ).To (gomega .Equal (expectedErr ))
10421056 })
10431057 })
1058+
10441059 ginkgo .When ("invalid parameter" , func () {
10451060 ginkgo .It ("should fail" , func (ctx context.Context ) {
10461061 name := "baz"
0 commit comments