Skip to content

Commit 2c5026c

Browse files
author
Ian Sutton
committed
more tests and analysis checker fixes
1 parent faa6cd5 commit 2c5026c

File tree

5 files changed

+95
-4
lines changed

5 files changed

+95
-4
lines changed

SoftLayer/CLI/block/duplicate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
type=click.BOOL,
5959
default=False,
6060
help='Whether or not this duplicate will be a dependent duplicate '
61-
'of the origin volume (default to false)')
61+
'of the origin volume (default to false)')
6262
@environment.pass_env
6363
def cli(env, origin_volume_id, origin_snapshot_id, duplicate_size,
6464
duplicate_iops, duplicate_tier, duplicate_snapshot_size, billing,

SoftLayer/CLI/file/duplicate.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@
5656
type=click.BOOL,
5757
default=False,
5858
help='Whether or not this duplicate will be a dependent duplicate'
59-
'of the origin volume (default to false)')
60-
59+
'of the origin volume (default to false)')
6160
@environment.pass_env
6261
def cli(env, origin_volume_id, origin_snapshot_id, duplicate_size,
6362
duplicate_iops, duplicate_tier, duplicate_snapshot_size, billing,

SoftLayer/managers/storage_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,7 @@ def prepare_duplicate_order_object(manager, origin_volume, iops, tier,
800800
:param duplicate_snapshot_size: The size for the duplicate snapshot space
801801
:param volume_type: The type of the origin volume ('file' or 'block')
802802
:param hourly_billing_flag: Billing type, monthly (False) or hourly (True)
803-
:param dependent_duplicate: Duplicate type, normal (False) or dependent
803+
:param dependent_duplicate: Duplicate type, normal (False) or dependent
804804
duplicate (True)
805805
:return: Returns the order object to be passed to the
806806
placeOrder() method of the Product_Order service

tests/managers/block_tests.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,53 @@ def test_order_block_duplicate_performance(self):
846846
'useHourlyPricing': False
847847
},))
848848

849+
def test_order_block_duplicate_depdupe(self):
850+
mock = self.set_mock('SoftLayer_Product_Package', 'getAllObjects')
851+
mock.return_value = [fixtures.SoftLayer_Product_Package.SAAS_PACKAGE]
852+
853+
mock_volume = copy.deepcopy(fixtures.SoftLayer_Network_Storage.STAAS_TEST_VOLUME)
854+
mock_volume['storageType']['keyName'] = 'PERFORMANCE_BLOCK_STORAGE'
855+
mock = self.set_mock('SoftLayer_Network_Storage', 'getObject')
856+
mock.return_value = mock_volume
857+
858+
result = self.block.order_duplicate_volume(
859+
102,
860+
origin_snapshot_id=470,
861+
duplicate_size=1000,
862+
duplicate_iops=2000,
863+
duplicate_tier_level=None,
864+
duplicate_snapshot_size=10,
865+
dependent_duplicate=True
866+
)
867+
868+
self.assertEqual(fixtures.SoftLayer_Product_Order.placeOrder, result)
869+
870+
self.assert_called_with(
871+
'SoftLayer_Product_Order',
872+
'placeOrder',
873+
args=({
874+
'complexType': 'SoftLayer_Container_Product_Order_'
875+
'Network_Storage_AsAService',
876+
'packageId': 759,
877+
'prices': [
878+
{'id': 189433},
879+
{'id': 189443},
880+
{'id': 190113},
881+
{'id': 190173},
882+
{'id': 191193}
883+
],
884+
'volumeSize': 1000,
885+
'quantity': 1,
886+
'location': 449500,
887+
'duplicateOriginVolumeId': 102,
888+
'osFormatType': {'keyName': 'LINUX'},
889+
'duplicateOriginSnapshotId': 470,
890+
'iops': 2000,
891+
'useHourlyPricing': False,
892+
'isDependentDuplicateFlag': 1
893+
},))
894+
895+
849896
def test_order_block_duplicate_endurance_no_duplicate_snapshot(self):
850897
mock = self.set_mock('SoftLayer_Product_Package', 'getAllObjects')
851898
mock.return_value = [fixtures.SoftLayer_Product_Package.SAAS_PACKAGE]

tests/managers/file_tests.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,51 @@ def test_order_file_duplicate_endurance_no_duplicate_snapshot(self):
742742
'useHourlyPricing': False
743743
},))
744744

745+
def test_order_file_duplicate_depdupe(self):
746+
mock = self.set_mock('SoftLayer_Product_Package', 'getAllObjects')
747+
mock.return_value = [fixtures.SoftLayer_Product_Package.SAAS_PACKAGE]
748+
749+
mock_volume = copy.deepcopy(fixtures.SoftLayer_Network_Storage.STAAS_TEST_VOLUME)
750+
mock_volume['storageType']['keyName'] = 'ENDURANCE_FILE_STORAGE'
751+
mock = self.set_mock('SoftLayer_Network_Storage', 'getObject')
752+
mock.return_value = mock_volume
753+
754+
result = self.file.order_duplicate_volume(
755+
102,
756+
origin_snapshot_id=470,
757+
duplicate_size=1000,
758+
duplicate_iops=None,
759+
duplicate_tier_level=4,
760+
duplicate_snapshot_size=10,
761+
dependent_duplicate=True
762+
)
763+
764+
self.assertEqual(fixtures.SoftLayer_Product_Order.placeOrder, result)
765+
766+
self.assert_called_with(
767+
'SoftLayer_Product_Order',
768+
'placeOrder',
769+
args=({
770+
'complexType': 'SoftLayer_Container_Product_Order_'
771+
'Network_Storage_AsAService',
772+
'packageId': 759,
773+
'prices': [
774+
{'id': 189433},
775+
{'id': 189453},
776+
{'id': 194763},
777+
{'id': 194703},
778+
{'id': 194943}
779+
],
780+
'volumeSize': 1000,
781+
'quantity': 1,
782+
'location': 449500,
783+
'duplicateOriginVolumeId': 102,
784+
'duplicateOriginSnapshotId': 470,
785+
'useHourlyPricing': False,
786+
'isDependentDuplicateFlag': 1
787+
},))
788+
789+
745790
def test_order_file_duplicate_endurance(self):
746791
mock = self.set_mock('SoftLayer_Product_Package', 'getAllObjects')
747792
mock.return_value = [fixtures.SoftLayer_Product_Package.SAAS_PACKAGE]

0 commit comments

Comments
 (0)