diff --git a/SoftLayer/CLI/order/package_list.py b/SoftLayer/CLI/order/package_list.py index af3e36269..145ad0de1 100644 --- a/SoftLayer/CLI/order/package_list.py +++ b/SoftLayer/CLI/order/package_list.py @@ -7,7 +7,8 @@ from SoftLayer.CLI import formatting from SoftLayer.managers import ordering -COLUMNS = ['name', +COLUMNS = ['id', + 'name', 'keyName', 'type'] @@ -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'] diff --git a/SoftLayer/managers/ticket.py b/SoftLayer/managers/ticket.py index 0155f0d5f..6c1eb042f 100644 --- a/SoftLayer/managers/ticket.py +++ b/SoftLayer/managers/ticket.py @@ -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.""" diff --git a/setup.cfg b/setup.cfg index ba4e6f120..4b08cec20 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,8 @@ [tool:pytest] python_files = *_tests.py +filterwarnings = + ignore::DeprecationWarning + ignore::PendingDeprecationWarning [wheel] universal=1 diff --git a/tests/CLI/modules/order_tests.py b/tests/CLI/modules/order_tests.py index b48cb8a53..d7f05a0b7 100644 --- a/tests/CLI/modules/order_tests.py +++ b/tests/CLI/modules/order_tests.py @@ -47,26 +47,21 @@ 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'} @@ -74,23 +69,21 @@ def test_package_list_keyword(self): 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): @@ -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 diff --git a/tox.ini b/tox.ini index 25e736cb8..ae456665f 100644 --- a/tox.ini +++ b/tox.ini @@ -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