Skip to content

Commit fe3c15e

Browse files
committed
#1129 unit tests
1 parent 2758e33 commit fe3c15e

File tree

2 files changed

+57
-3
lines changed

2 files changed

+57
-3
lines changed

tests/CLI/modules/subnet_tests.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@
44
55
:license: MIT, see LICENSE for more details.
66
"""
7+
from SoftLayer.fixtures import SoftLayer_Product_Order
8+
from SoftLayer.fixtures import SoftLayer_Product_Package
79
from SoftLayer import testing
810

911
import json
12+
import mock
13+
import SoftLayer
1014

1115

1216
class SubnetTests(testing.TestCase):
17+
1318
def test_detail(self):
1419
result = self.run_command(['subnet', 'detail', '1234'])
1520

@@ -39,3 +44,55 @@ def test_detail(self):
3944
def test_list(self):
4045
result = self.run_command(['subnet', 'list'])
4146
self.assert_no_fail(result)
47+
48+
@mock.patch('SoftLayer.CLI.formatting.confirm')
49+
def test_create_subnet_ipv4(self, confirm_mock):
50+
confirm_mock.return_value = True
51+
52+
item_mock = self.set_mock('SoftLayer_Product_Package', 'getItems')
53+
item_mock.return_value = SoftLayer_Product_Package.getItems
54+
55+
place_mock = self.set_mock('SoftLayer_Product_Order', 'placeOrder')
56+
place_mock.return_value = SoftLayer_Product_Order.placeOrder
57+
58+
result = self.run_command(['subnet', 'create', 'private', '8', '12346'])
59+
self.assert_no_fail(result)
60+
61+
output = [
62+
{'Item': 'this is a thing', 'cost': '2.00'},
63+
{'Item': 'Total monthly cost', 'cost': '2.00'}
64+
]
65+
66+
self.assertEqual(output, json.loads(result.output))
67+
68+
@mock.patch('SoftLayer.CLI.formatting.confirm')
69+
def test_create_subnet_ipv6(self, confirm_mock):
70+
confirm_mock.return_value = True
71+
72+
item_mock = self.set_mock('SoftLayer_Product_Package', 'getItems')
73+
item_mock.return_value = SoftLayer_Product_Package.getItems
74+
75+
place_mock = self.set_mock('SoftLayer_Product_Order', 'placeOrder')
76+
place_mock.return_value = SoftLayer_Product_Order.placeOrder
77+
78+
result = self.run_command(['subnet', 'create', '--v6', 'public', '64', '12346', '--test'])
79+
self.assert_no_fail(result)
80+
81+
output = [
82+
{'Item': 'this is a thing', 'cost': '2.00'},
83+
{'Item': 'Total monthly cost', 'cost': '2.00'}
84+
]
85+
86+
self.assertEqual(output, json.loads(result.output))
87+
88+
def test_create_subnet_no_prices_found(self):
89+
item_mock = self.set_mock('SoftLayer_Product_Package', 'getItems')
90+
item_mock.return_value = SoftLayer_Product_Package.getItems
91+
92+
verify_mock = self.set_mock('SoftLayer_Product_Order', 'verifyOrder')
93+
verify_mock.side_effect = SoftLayer.SoftLayerAPIError('SoftLayer_Exception', 'Price not found')
94+
95+
result = self.run_command(['subnet', 'create', '--v6', 'public', '32', '12346', '--test'])
96+
97+
self.assertRaises(SoftLayer.SoftLayerAPIError, verify_mock)
98+
self.assertEqual(result.exception.message, 'There is no price id for 32 public ipv6')

tests/managers/network_tests.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ def test_ip_lookup(self):
2424
'getByIpAddress',
2525
args=('10.0.1.37',))
2626

27-
def test_add_subnet_raises_exception_on_failure(self):
28-
self.assertRaises(TypeError, self.network.add_subnet, ('bad'))
29-
3027
def test_add_global_ip(self):
3128
# Test a global IPv4 order
3229
result = self.network.add_global_ip(test_order=True)

0 commit comments

Comments
 (0)