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
Exemplo n.º 2
0
    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.')
Exemplo n.º 3
0
    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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 11
0
    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)
Exemplo n.º 12
0
    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)