Skip to content

Commit 73b1315

Browse files
author
Ian Sutton
committed
UTs, and merge in coalesced storage branch
1 parent 4a1ca0a commit 73b1315

File tree

6 files changed

+84
-0
lines changed

6 files changed

+84
-0
lines changed

SoftLayer/fixtures/SoftLayer_Network_Storage.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
'storageTierLevel': 'READHEAVY_TIER',
158158
'storageType': {'keyName': 'ENDURANCE_STORAGE'},
159159
'username': 'username',
160+
'dependentDuplicate': 1,
160161
}
161162

162163
getSnapshots = [{
@@ -232,3 +233,11 @@
232233
'maximumAvailableCount': 300,
233234
'provisionedCount': 100
234235
}
236+
237+
refreshDependentDuplicate = {
238+
'dependentDuplicate': 1
239+
}
240+
241+
convertCloneDependentToIndependent = {
242+
'dependentDuplicate': 1
243+
}

SoftLayer/managers/storage.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,3 +414,18 @@ def cancel_volume(self, volume_id, reason='No longer needed', immediate=False):
414414
immediate = True
415415

416416
return self.client.call('SoftLayer_Billing_Item', 'cancelItem', immediate, True, reason, id=billing_item_id)
417+
418+
def refresh_dep_dupe(self, volume_id, snapshot_id):
419+
""""Refresh a dependent duplicate volume with a snapshot from its parent.
420+
421+
:param integer volume_id: The id of the volume
422+
:param integer snapshot_id: The id of the snapshot
423+
"""
424+
return self.client.call('Network_Storage', 'refreshDependentDuplicate', snapshot_id, id=volume_id)
425+
426+
def convert_dep_dupe(self, volume_id):
427+
"""Convert a dependent duplicate volume to an indepdent volume.
428+
429+
:param integer volume_id: The id of the volume.
430+
"""
431+
return self.client.call('Network_Storage', 'convertCloneDependentToIndependent', id=volume_id)

tests/CLI/modules/block_tests.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,3 +716,13 @@ def test_volume_limit(self, list_mock):
716716

717717
result = self.run_command(['block', 'volume-limits'])
718718
self.assert_no_fail(result)
719+
720+
def test_dep_dupe_refresh(self):
721+
result = self.run_command(['block', 'volume-refresh', '102', '103'])
722+
723+
self.assert_no_fail(result)
724+
725+
def test_dep_dupe_convert(self):
726+
result = self.run_command(['block', 'volume-convert', '102'])
727+
728+
self.assert_no_fail(result)

tests/CLI/modules/file_tests.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,3 +695,13 @@ def test_volume_limit(self, list_mock):
695695
}]
696696
result = self.run_command(['file', 'volume-limits'])
697697
self.assert_no_fail(result)
698+
699+
def test_dep_dupe_refresh(self):
700+
result = self.run_command(['file', 'volume-refresh', '102', '103'])
701+
702+
self.assert_no_fail(result)
703+
704+
def test_dep_dupe_convert(self):
705+
result = self.run_command(['file', 'volume-convert', '102'])
706+
707+
self.assert_no_fail(result)

tests/managers/block_tests.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,3 +1042,23 @@ def test_get_ids_from_username_empty(self):
10421042
result = self.block._get_ids_from_username("test")
10431043
self.assert_called_with('SoftLayer_Account', 'getIscsiNetworkStorage')
10441044
self.assertEqual([], result)
1045+
1046+
def test_refresh_block_depdupe(self):
1047+
result = self.block.refresh_dep_dupe(123, snapshot_id=321)
1048+
self.assertEqual(SoftLayer_Network_Storage.refreshDependentDuplicate, result)
1049+
1050+
self.assert_called_with(
1051+
'SoftLayer_Network_Storage',
1052+
'refreshDependentDuplicate',
1053+
identifier=123
1054+
)
1055+
1056+
def test_convert_block_depdupe(self):
1057+
result = self.block.convert_dep_dupe(123)
1058+
self.assertEqual(SoftLayer_Network_Storage.convertCloneDependentToIndependent, result)
1059+
1060+
self.assert_called_with(
1061+
'SoftLayer_Network_Storage',
1062+
'convertCloneDependentToIndependent',
1063+
identifier=123
1064+
)

tests/managers/file_tests.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,3 +891,23 @@ def test_get_ids_from_username_empty(self):
891891
result = self.file._get_ids_from_username("test")
892892
self.assert_called_with('SoftLayer_Account', 'getNasNetworkStorage')
893893
self.assertEqual([], result)
894+
895+
def test_refresh_file_depdupe(self):
896+
result = self.file.refresh_dep_dupe(123, snapshot_id=321)
897+
self.assertEqual(SoftLayer_Network_Storage.refreshDependentDuplicate, result)
898+
899+
self.assert_called_with(
900+
'SoftLayer_Network_Storage',
901+
'refreshDependentDuplicate',
902+
identifier=123
903+
)
904+
905+
def test_convert_file_depdupe(self):
906+
result = self.file.convert_dep_dupe(123)
907+
self.assertEqual(SoftLayer_Network_Storage.convertCloneDependentToIndependent, result)
908+
909+
self.assert_called_with(
910+
'SoftLayer_Network_Storage',
911+
'convertCloneDependentToIndependent',
912+
identifier=123
913+
)

0 commit comments

Comments
 (0)