diff --git a/SoftLayer/CLI/virt/detail.py b/SoftLayer/CLI/virt/detail.py index ac9453ddd..94b37f742 100644 --- a/SoftLayer/CLI/virt/detail.py +++ b/SoftLayer/CLI/virt/detail.py @@ -69,11 +69,13 @@ def cli(env, identifier, passwords=False, price=False): table.add_row(['transient', result.get('transientGuestFlag', False)]) table.add_row(['created', result['createDate']]) table.add_row(['modified', result['modifyDate']]) - last_transaction = "{} ({})".format(utils.lookup(result, 'lastTransaction', 'transactionGroup', 'name'), - utils.clean_time(utils.lookup(result, 'lastTransaction', 'modifyDate'))) + last_transaction = '' + if result.get('lastTransaction'): + last_transaction = "{} ({})".format(utils.lookup(result, 'lastTransaction', 'transactionGroup', 'name'), + utils.clean_time(utils.lookup(result, 'lastTransaction', 'modifyDate'))) table.add_row(['last_transaction', last_transaction]) - table.add_row(['billing', 'Hourly' if result['hourlyBillingFlag'] else'Monthly']) + table.add_row(['billing', 'Hourly' if result['hourlyBillingFlag'] else 'Monthly']) table.add_row(['preset', utils.lookup(result, 'billingItem', 'orderItem', 'preset', diff --git a/tests/CLI/modules/vs/vs_tests.py b/tests/CLI/modules/vs/vs_tests.py index 99fafc0bf..f56212561 100644 --- a/tests/CLI/modules/vs/vs_tests.py +++ b/tests/CLI/modules/vs/vs_tests.py @@ -947,3 +947,13 @@ def test_authorize_volume_and_portable_storage_vs(self): def test_monitoring_vs(self): result = self.run_command(['vs', 'monitoring', '1234']) self.assert_no_fail(result) + + def test_last_transaction_empty(self): + vg_return = SoftLayer_Virtual_Guest.getObject + transaction = [] + + vg_return['lastTransaction'] = transaction + mock = self.set_mock('SoftLayer_Virtual_Guest', 'getObject') + mock.return_value = vg_return + result = self.run_command(['vs', 'detail', '100']) + self.assert_no_fail(result)