@@ -177,6 +177,25 @@ def test_delete_snapshot(self):
177177 'deleteObject' ,
178178 identifier = 100 )
179179
180+ def test_order_file_volume_invalid_location (self ):
181+ mock = self .set_mock ('SoftLayer_Location_Datacenter' , 'getDatacenters' )
182+ mock .return_value = []
183+
184+ exception = self .assertRaises (
185+ exceptions .SoftLayerError ,
186+ self .file .order_file_volume ,
187+ "performance_storage_nfs" ,
188+ "dal05" ,
189+ 100 ,
190+ None ,
191+ iops = 100 ,
192+ )
193+
194+ self .assertEqual (str (exception ), "Invalid datacenter name "
195+ "specified. Please provide the "
196+ "lower case short name "
197+ "(e.g.: dal09)" )
198+
180199 def test_order_file_volume_no_package (self ):
181200 mock = self .set_mock ('SoftLayer_Product_Package' , 'getAllObjects' )
182201 mock .return_value = []
@@ -205,6 +224,35 @@ def test_order_file_volume_too_many_packages(self):
205224 iops = 100 ,
206225 )
207226
227+ def test_order_file_volume_invalid_storage_type (self ):
228+ mock = self .set_mock ('SoftLayer_Product_Package' , 'getAllObjects' )
229+ mock .return_value = [{}]
230+
231+ exception = self .assertRaises (
232+ exceptions .SoftLayerError ,
233+ self .file .order_file_volume ,
234+ "something_completely_different" ,
235+ "dal05" ,
236+ 100 ,
237+ None ,
238+ iops = 100 ,
239+ )
240+ self .assertEqual (str (exception ), "File volume storage_type must be "
241+ "either Performance or Endurance" )
242+
243+ def test_order_file_volume_os_type_provided (self ):
244+ exception = self .assertRaises (
245+ exceptions .SoftLayerError ,
246+ self .file .order_file_volume ,
247+ "performance_storage_nfs" ,
248+ "dal05" ,
249+ 100 ,
250+ "LINUX" ,
251+ iops = 100 ,
252+ )
253+ self .assertEqual (str (exception ), "OS type is not used on file "
254+ "storage orders" )
255+
208256 def test_order_file_volume_performance (self ):
209257 mock = self .set_mock ('SoftLayer_Product_Package' , 'getAllObjects' )
210258 mock .return_value = [{
@@ -467,6 +515,78 @@ def test_order_snapshot_space_too_many_packages(self):
467515 False ,
468516 )
469517
518+ def test_order_snapshot_space_invalid_category (self ):
519+ mock = self .set_mock ('SoftLayer_Product_Package' , 'getAllObjects' )
520+ mock .return_value = [{
521+ 'id' : 240 ,
522+ 'name' : 'Endurance' ,
523+ 'items' : [{
524+ 'capacity' : '0' ,
525+ }, {
526+ 'capacity' : '5' ,
527+ 'prices' : [{
528+ 'locationGroupId' : '530' ,
529+ }],
530+ }, {
531+ 'capacity' : '5' ,
532+ 'prices' : [{
533+ 'locationGroupId' : '' ,
534+ 'categories' : [{
535+ 'categoryCode' : 'storage_file' ,
536+ }],
537+ }],
538+ }, {
539+ 'capacity' : '5' ,
540+ 'prices' : [{
541+ 'locationGroupId' : '' ,
542+ 'categories' : [{
543+ 'categoryCode' : 'storage_snapshot_space' ,
544+ }],
545+ 'capacityRestrictionMinimum' : '300' ,
546+ }],
547+ }, {
548+ 'capacity' : '5' ,
549+ 'prices' : [{
550+ 'locationGroupId' : '' ,
551+ 'categories' : [{
552+ 'categoryCode' : 'storage_snapshot_space' ,
553+ }],
554+ 'capacityRestrictionMinimum' : '100' ,
555+ 'capacityRestrictionMaximum' : '100' ,
556+ }],
557+ }, {
558+ 'capacity' : '5' ,
559+ 'prices' : [{
560+ 'id' : 46130 ,
561+ 'locationGroupId' : '' ,
562+ 'categories' : [{
563+ 'categoryCode' : 'storage_snapshot_space' ,
564+ }],
565+ 'capacityRestrictionMinimum' : '200' ,
566+ 'capacityRestrictionMaximum' : '200' ,
567+ }],
568+ }],
569+ }]
570+
571+ billing_item_mock = self .set_mock ('SoftLayer_Network_Storage' ,
572+ 'getObject' )
573+ billing_item_mock .return_value = {
574+ 'billingItem' : {
575+ 'categoryCode' : 'not_storage_service_enterprise'
576+ }
577+ }
578+
579+ exception = self .assertRaises (
580+ exceptions .SoftLayerError ,
581+ self .file .order_snapshot_space ,
582+ 100 ,
583+ 5 ,
584+ None ,
585+ False ,
586+ )
587+ self .assertEqual (str (exception ), "File volume storage_type must be "
588+ "Endurance" )
589+
470590 def test_order_snapshot_space (self ):
471591 mock = self .set_mock ('SoftLayer_Product_Package' , 'getAllObjects' )
472592 mock .return_value = [{
0 commit comments