Merge "Fix to return broker values for 'broker add' command"

This commit is contained in:
Jenkins 2015-06-17 07:17:45 +00:00 committed by Gerrit Code Review
commit 9521999348
4 changed files with 42 additions and 7 deletions

View File

@ -51,7 +51,17 @@ class BrokerCommands(base.Commands):
'active': status,
}
broker = objects.Broker(**broker_values)
broker.create_broker(self.context)
new_broker = broker.create_broker(self.context)
new_broker_table = prettytable.PrettyTable(
["Broker id", "Broker Name", "Active", "Created Time",
"Updated Time", "Deleted Time", ])
new_broker_table.add_row(
[new_broker.id, new_broker.name, new_broker.active,
new_broker.created_at, new_broker.updated_at,
new_broker.deleted_at])
print(new_broker_table)
return new_broker
def list(self):
"""List all the brokers."""

View File

@ -47,7 +47,7 @@ class Broker(base.CueObject):
broker_values = self.as_dict()
db_broker = self.dbapi.create_broker(context, broker_values)
self._from_db_object(self, db_broker)
return self._from_db_object(self, db_broker)
def delete_broker(self, context):
"""Deletes a Broker object for specified broker_id.

View File

@ -102,11 +102,7 @@ class BrokerObjectsTests(base.FunctionalTestCase):
test_broker_dict = func_utils.get_test_broker_dict()
new_broker = objects.Broker(**test_broker_dict)
self.validate_broker_values(new_broker, test_broker_dict)
new_broker.create_broker(self.context)
# retrieve created broker
broker_query = sqlalchemy_api.model_query(
self.context, models.Broker).filter_by(id=test_broker_dict['id'])
retrieved_broker = broker_query.one()
retrieved_broker = new_broker.create_broker(self.context)
self.validate_broker_values(new_broker, retrieved_broker)

View File

@ -80,6 +80,35 @@ class TestBroker(test_base.UnitTestCase):
mock_add_broker.assert_called_once_with(self.cue_manage_broker.context)
def test_broker_add_check_result(self):
"""Test 'cue-manage broker add' return value
Mocks the cue/objects/broker.py create_broker() call to return a fake
broker object with specific attributes and asserts that broker object
is printed to std_out
"""
broker_name = "test_broker"
active_status = "True"
fake_broker = FakeBroker('test_id', broker_name, active_status,
'test_created_at', 'test_updated_at',
'test_deleted_at')
with stdout_redirect(StringIO.StringIO()) as new_stdout:
with mock.patch.object(
broker.Broker, 'create_broker') as mock_create_broker:
mock_create_broker.return_value = fake_broker
self.cue_manage_broker.add(broker_name, active_status)
new_stdout.seek(0)
std_out = new_stdout.read().strip()
fake_broker_dict = fake_broker.__dict__
for key in fake_broker_dict:
self.assertIn(fake_broker_dict[key], std_out)
def test_broker_list(self):
"""Test 'cue-manage broker list'