def create_object_broker(self, **kw): """Create a broker object.""" test_broker_dict = func_utils.get_test_broker_dict(**kw) new_broker = objects.Broker(**test_broker_dict) self.validate_broker_values(test_broker_dict, new_broker) 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']) db_broker = broker_query.one() broker_obj = objects.Broker._from_db_object(objects.Broker(), db_broker) return broker_obj
def test_create_invalid_image(self): """test create a cluster with invalid image configured.""" # add a new broker image that is not in nova image-list self.CONF.config(default_broker_name='rabbitmq1') broker_values = { 'name': 'rabbitmq1', 'active': '1', } broker = objects.Broker(**broker_values) broker.create_broker(None) broker_list = broker.get_brokers(None) metadata_value = { 'key': 'IMAGE', 'value': 'ea329926-b8bf-11e5-9912-ba0be0483c18', 'broker_id': broker_list[1]['id'] } metadata = objects.BrokerMetadata(**metadata_value) metadata.create_broker_metadata(None) api_cluster = test_utils.create_api_test_cluster() data = self.post_json('/clusters', params=api_cluster, headers=self.auth_headers, expect_errors=True) self.assertEqual(500, data.status_code, 'Invalid status code value received.')
def test_get_broker_metadata_by_broker_id(self): """Tests get broker_metadata by broker_id from BrokerMetadata objects API. """ new_broker = objects.Broker(**func_utils.get_test_broker_dict()) new_broker.create_broker(self.context) broker_metadata_1 = self.create_object_broker_metadata( broker_id=new_broker.id) broker_metadata_2 = self.create_object_broker_metadata( broker_id=new_broker.id, id='a2dcf598-ef5d-11e4-90ec-1681e6b88ec1', key='SEC_GROUP', value='test') metadata_list = ( objects.BrokerMetadata.get_broker_metadata_by_broker_id( self.context, new_broker.id)) # check for the list length self.assertEqual(2, len(metadata_list), "Invalid number of " "broker_metadata returned") for metadata in metadata_list: if metadata.id == broker_metadata_1.id: self.validate_broker_metadata_values(broker_metadata_1, metadata) else: self.validate_broker_metadata_values(broker_metadata_2, metadata)
def test_create_broker(self): """Tests create broker from Broker objects API.""" 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) retrieved_broker = new_broker.create_broker(self.context) self.validate_broker_values(new_broker, retrieved_broker)
def test_delete_broker_metadata(self): """Tests delete broker_metadata from BrokerMetadata objects API.""" new_broker = objects.Broker(**func_utils.get_test_broker_dict()) new_broker.create_broker(self.context) new_broker_metadata = self.create_object_broker_metadata( broker_id=new_broker.id) new_broker_metadata.delete_broker_metadata(self.context) metadata_returned = self.dbapi.get_broker_metadata_by_broker_id( self.context, new_broker_metadata.broker_id) self.assertListEqual([], metadata_returned)
def test_get_image_id_by_nonexistent_broker_name(self): """Tests get broker image_id by nonexistent broker_name from BrokerMetadata objects API. """ new_broker = objects.Broker(**func_utils.get_test_broker_dict()) new_broker.create_broker(self.context) self.create_object_broker_metadata(broker_id=new_broker.id) invalid_broker_name = "kafka" self.assertRaises(exception.NotFound, objects.BrokerMetadata.get_image_id_by_broker_name, self.context, invalid_broker_name)
def update(self, broker_id, broker_name, active): """Update name/active field or both the fields for a given broker.""" broker_value = {} if broker_name is not None: broker_value['name'] = broker_name if active is not None: active = strutils.bool_from_string(active) broker_value['active'] = active broker_value['id'] = broker_id broker_obj = objects.Broker(**broker_value) broker_obj.update_broker(self.context)
def test_get_broker_metadata_by_invalid_broker_id(self): """Tests get broker_metadata from BrokerMetadata objects API with invalid broker id. """ new_broker = objects.Broker(**func_utils.get_test_broker_dict()) new_broker.create_broker(self.context) self.create_object_broker_metadata(broker_id=new_broker.id) invalid_broker_id = '17efe8ae-e93c-11e4-b02c-1681e6b88ec1' metadata = objects.BrokerMetadata.get_broker_metadata_by_broker_id( self.context, invalid_broker_id) self.assertListEqual([], metadata)
def test_create_broker_metadata(self): """Tests create broker_metadata from BrokerMetadata objects API.""" new_broker = objects.Broker(**func_utils.get_test_broker_dict()) new_broker.create_broker(self.context) test_metadata_dict = func_utils.get_test_broker_metadata_dict() new_broker_metadata = objects.BrokerMetadata(**test_metadata_dict) self.validate_broker_metadata_values(new_broker_metadata, test_metadata_dict) new_broker_metadata.create_broker_metadata(self.context) returned_broker_metadata = self.dbapi.get_broker_metadata_by_broker_id( self.context, new_broker.id) self.validate_broker_metadata_values(new_broker_metadata, returned_broker_metadata[0])
def test_broker_db_to_object_to_db(self): """Tests Broker db object conversion to Broker object and back to db object. """ broker_dict = func_utils.get_test_broker_dict() db_broker_object = models.Broker() db_broker_object.update(broker_dict) object_broker = objects.Broker._from_db_object(objects.Broker(), db_broker_object) self.validate_broker_values(db_broker_object, object_broker) broker_changes = object_broker.obj_get_changes() db_broker_object_2 = models.Broker() db_broker_object_2.update(broker_changes) self.validate_broker_values(db_broker_object, db_broker_object_2)
def set_broker(self): # Loading default broker and image to broker and brokerMetadata table broker_values = { 'name': 'rabbitmq', 'active': '1', } broker = objects.Broker(**broker_values) broker.create_broker(None) broker_list = broker.get_brokers(None) broker_id = broker_list[0]['id'] metadata_value = { 'key': 'IMAGE', 'value': 'f7e8c49b-7d1e-472f-a78b-7c46a39c85be', 'broker_id': broker_id } metadata = objects.BrokerMetadata(**metadata_value) metadata.create_broker_metadata(None)
def test_get_image_id_by_broker_name(self): """Tests get broker image_id by broker_name from BrokerMetadata objects API. """ new_broker = objects.Broker(**func_utils.get_test_broker_dict()) new_broker.create_broker(self.context) test_metadata_dict = func_utils.get_test_broker_metadata_dict() new_broker_metadata = objects.BrokerMetadata(**test_metadata_dict) self.validate_broker_metadata_values(new_broker_metadata, test_metadata_dict) new_broker_metadata.create_broker_metadata(self.context) image_id = objects.BrokerMetadata.get_image_id_by_broker_name( self.context, new_broker.name) self.assertEqual(image_id, new_broker_metadata.value)
def add(self, broker_name, active): """Add a new broker.""" status = strutils.bool_from_string(active) broker_values = { 'name': broker_name, 'active': status, } broker = objects.Broker(**broker_values) 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 test_broker_object_generation(self): """Test Broker Object generation from a broker dictionary object.""" broker_dict = func_utils.get_test_broker_dict() broker_object = objects.Broker(**broker_dict) self.validate_broker_values(broker_dict, broker_object)
def delete(self, broker_id): """Delete a broker.""" broker_id = {'id': broker_id} broker_obj = objects.Broker(**broker_id) broker_obj.delete_broker(self.context)