Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion SoftLayer/CLI/order/package_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
from SoftLayer.CLI import formatting
from SoftLayer.managers import ordering

COLUMNS = ['name',
COLUMNS = ['id',
'name',
'keyName',
'type']

Expand Down Expand Up @@ -51,6 +52,7 @@ def cli(env, keyword, package_type):

for package in packages:
table.add_row([
package['id'],
package['name'],
package['keyName'],
package['type']['keyName']
Expand Down
2 changes: 1 addition & 1 deletion SoftLayer/managers/ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def list_tickets(self, open_status=True, closed_status=True):
else:
raise ValueError("open_status and closed_status cannot both be False")

return self.client.call('Account', call, mask=mask)
return self.client.call('Account', call, mask=mask, iter=True)

def list_subjects(self):
"""List all ticket subjects."""
Expand Down
3 changes: 3 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
[tool:pytest]
python_files = *_tests.py
filterwarnings =
ignore::DeprecationWarning
ignore::PendingDeprecationWarning

[wheel]
universal=1
35 changes: 19 additions & 16 deletions tests/CLI/modules/order_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,50 +47,43 @@ def test_item_list(self):
self.assertEqual(expected_results, json.loads(result.output))

def test_package_list(self):
item1 = {'name': 'package1', 'keyName': 'PACKAGE1', 'type': {'keyName': 'BARE_METAL_CPU'}, 'isActive': 1}
item2 = {'name': 'package2', 'keyName': 'PACKAGE2', 'type': {'keyName': 'BARE_METAL_CPU'}, 'isActive': 1}
item3 = {'name': 'package2', 'keyName': 'PACKAGE2', 'type': {'keyName': 'BARE_METAL_CPU'}, 'isActive': 0}
p_mock = self.set_mock('SoftLayer_Product_Package', 'getAllObjects')
p_mock.return_value = [item1, item2, item3]
p_mock.return_value = _get_all_packages()
_filter = {'type': {'keyName': {'operation': '!= BLUEMIX_SERVICE'}}}

result = self.run_command(['order', 'package-list'])

self.assert_no_fail(result)
self.assert_called_with('SoftLayer_Product_Package', 'getAllObjects', filter=_filter)
expected_results = [{'name': 'package1', 'keyName': 'PACKAGE1', 'type': 'BARE_METAL_CPU'},
{'name': 'package2', 'keyName': 'PACKAGE2', 'type': 'BARE_METAL_CPU'}]
expected_results = [{'id': 1, 'name': 'package1', 'keyName': 'PACKAGE1', 'type': 'BARE_METAL_CPU'},
{'id': 2, 'name': 'package2', 'keyName': 'PACKAGE2', 'type': 'BARE_METAL_CPU'}]
self.assertEqual(expected_results, json.loads(result.output))

def test_package_list_keyword(self):
item1 = {'name': 'package1', 'keyName': 'PACKAGE1', 'type': {'keyName': 'BARE_METAL_CPU'}, 'isActive': 1}
item2 = {'name': 'package2', 'keyName': 'PACKAGE2', 'type': {'keyName': 'BARE_METAL_CPU'}, 'isActive': 1}
p_mock = self.set_mock('SoftLayer_Product_Package', 'getAllObjects')
p_mock.return_value = [item1, item2]
p_mock.return_value = _get_all_packages()

_filter = {'type': {'keyName': {'operation': '!= BLUEMIX_SERVICE'}}}
_filter['name'] = {'operation': '*= package1'}
result = self.run_command(['order', 'package-list', '--keyword', 'package1'])

self.assert_no_fail(result)
self.assert_called_with('SoftLayer_Product_Package', 'getAllObjects', filter=_filter)
expected_results = [{'name': 'package1', 'keyName': 'PACKAGE1', 'type': 'BARE_METAL_CPU'},
{'name': 'package2', 'keyName': 'PACKAGE2', 'type': 'BARE_METAL_CPU'}]
expected_results = [{'id': 1, 'name': 'package1', 'keyName': 'PACKAGE1', 'type': 'BARE_METAL_CPU'},
{'id': 2, 'name': 'package2', 'keyName': 'PACKAGE2', 'type': 'BARE_METAL_CPU'}]
self.assertEqual(expected_results, json.loads(result.output))

def test_package_list_type(self):
item1 = {'name': 'package1', 'keyName': 'PACKAGE1', 'type': {'keyName': 'BARE_METAL_CPU'}, 'isActive': 1}
item2 = {'name': 'package2', 'keyName': 'PACKAGE2', 'type': {'keyName': 'BARE_METAL_CPU'}, 'isActive': 1}
p_mock = self.set_mock('SoftLayer_Product_Package', 'getAllObjects')
p_mock.return_value = [item1, item2]
p_mock.return_value = _get_all_packages()

_filter = {'type': {'keyName': {'operation': 'BARE_METAL_CPU'}}}
result = self.run_command(['order', 'package-list', '--package_type', 'BARE_METAL_CPU'])

self.assert_no_fail(result)
self.assert_called_with('SoftLayer_Product_Package', 'getAllObjects', filter=_filter)
expected_results = [{'name': 'package1', 'keyName': 'PACKAGE1', 'type': 'BARE_METAL_CPU'},
{'name': 'package2', 'keyName': 'PACKAGE2', 'type': 'BARE_METAL_CPU'}]
expected_results = [{'id': 1, 'name': 'package1', 'keyName': 'PACKAGE1', 'type': 'BARE_METAL_CPU'},
{'id': 2, 'name': 'package2', 'keyName': 'PACKAGE2', 'type': 'BARE_METAL_CPU'}]
self.assertEqual(expected_results, json.loads(result.output))

def test_place(self):
Expand Down Expand Up @@ -227,3 +220,13 @@ def _get_verified_order_return(self):
price2 = {'item': item2, 'hourlyRecurringFee': '0.05',
'recurringFee': '150'}
return {'orderContainers': [{'prices': [price1, price2]}]}


def _get_all_packages():
package_type = {'keyName': 'BARE_METAL_CPU'}
all_packages = [
{'id': 1, 'name': 'package1', 'keyName': 'PACKAGE1', 'type': package_type, 'isActive': 1},
{'id': 2, 'name': 'package2', 'keyName': 'PACKAGE2', 'type': package_type, 'isActive': 1},
{'id': 3, 'name': 'package2', 'keyName': 'PACKAGE2', 'type': package_type, 'isActive': 0}
]
return all_packages
3 changes: 2 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[tox]
envlist = py27,py35,py36,pypy,analysis,coverage
envlist = py27,py35,py36,py37,pypy,analysis,coverage


[flake8]
max-line-length=120
Expand Down