From 72ce0286208299d107d68cf732e15a1c07645fed Mon Sep 17 00:00:00 2001 From: allmightyspiff Date: Thu, 6 Sep 2018 16:06:09 -0500 Subject: [PATCH 1/3] #1034 added pagination to ticket searches. Added IDs to package list results --- SoftLayer/CLI/order/package_list.py | 4 +++- SoftLayer/managers/ticket.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/SoftLayer/CLI/order/package_list.py b/SoftLayer/CLI/order/package_list.py index af3e36269..4b17b0445 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.""" From 2c430e64d4594784c39c4b3ace025994aa7a45df Mon Sep 17 00:00:00 2001 From: allmightyspiff Date: Thu, 6 Sep 2018 17:58:31 -0500 Subject: [PATCH 2/3] added py37 to test list, ignored depreciated testing messages --- setup.cfg | 3 +++ tests/CLI/modules/order_tests.py | 34 +++++++++++++++++--------------- tox.ini | 3 ++- 3 files changed, 23 insertions(+), 17 deletions(-) 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..4c978837b 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,12 @@ 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 From e32bdfaa6430894f0d8bf9877d19fc9013d31b2d Mon Sep 17 00:00:00 2001 From: allmightyspiff Date: Thu, 6 Sep 2018 18:07:41 -0500 Subject: [PATCH 3/3] TOX fixes --- SoftLayer/CLI/order/package_list.py | 2 +- tests/CLI/modules/order_tests.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/SoftLayer/CLI/order/package_list.py b/SoftLayer/CLI/order/package_list.py index 4b17b0445..145ad0de1 100644 --- a/SoftLayer/CLI/order/package_list.py +++ b/SoftLayer/CLI/order/package_list.py @@ -7,7 +7,7 @@ from SoftLayer.CLI import formatting from SoftLayer.managers import ordering -COLUMNS = ['id', +COLUMNS = ['id', 'name', 'keyName', 'type'] diff --git a/tests/CLI/modules/order_tests.py b/tests/CLI/modules/order_tests.py index 4c978837b..d7f05a0b7 100644 --- a/tests/CLI/modules/order_tests.py +++ b/tests/CLI/modules/order_tests.py @@ -221,11 +221,12 @@ def _get_verified_order_return(self): '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': 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