Exemplo n.º 1
0
    def test_from_db_record(self):
        values = copy.deepcopy(self.action_values)
        obj = ab.Action(OBJID, 'OBJECT_ACTION', self.ctx, **values)
        obj.store(self.ctx)

        record = ao.Action.get(self.ctx, obj.id)

        action_obj = ab.Action._from_object(record)
        self.assertIsInstance(action_obj, ab.Action)
        self.assertEqual(obj.id, action_obj.id)
        self.assertEqual(obj.action, action_obj.action)
        self.assertEqual(obj.name, action_obj.name)
        self.assertEqual(obj.target, action_obj.target)
        self.assertEqual(obj.cause, action_obj.cause)
        self.assertEqual(obj.owner, action_obj.owner)
        self.assertEqual(obj.interval, action_obj.interval)
        self.assertEqual(obj.start_time, action_obj.start_time)
        self.assertEqual(obj.end_time, action_obj.end_time)
        self.assertEqual(obj.timeout, action_obj.timeout)
        self.assertEqual(obj.status, action_obj.status)
        self.assertEqual(obj.status_reason, action_obj.status_reason)
        self.assertEqual(obj.inputs, action_obj.inputs)
        self.assertEqual(obj.outputs, action_obj.outputs)
        self.assertEqual(common_utils.isotime(obj.created_at),
                         common_utils.isotime(action_obj.created_at))
        self.assertEqual(obj.updated_at, action_obj.updated_at)
        self.assertEqual(obj.data, action_obj.data)
        self.assertEqual(obj.user, action_obj.user)
        self.assertEqual(obj.project, action_obj.project)
        self.assertEqual(obj.domain, action_obj.domain)
Exemplo n.º 2
0
 def to_dict(self):
     context = senlin_context.get_admin_context()
     profile = db_api.profile_get(context,
                                  self.profile_id,
                                  project_safe=False)
     return {
         'id': self.id,
         'name': self.name,
         'profile_id': self.profile_id,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'init_at': utils.isotime(self.init_at),
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'min_size': self.min_size,
         'max_size': self.max_size,
         'desired_capacity': self.desired_capacity,
         'timeout': self.timeout,
         'status': self.status,
         'status_reason': self.status_reason,
         'metadata': self.metadata or {},
         'data': self.data or {},
         'dependents': self.dependents or {},
         'profile_name': profile.name,
         'nodes': db_api.node_ids_by_cluster(context, self.id),
         'policies': db_api.cluster_policy_ids_by_cluster(context, self.id)
     }
Exemplo n.º 3
0
 def to_dict(self):
     if self.id:
         dep_on = dobj.Dependency.get_depended(self.context, self.id)
         dep_by = dobj.Dependency.get_dependents(self.context, self.id)
     else:
         dep_on = []
         dep_by = []
     action_dict = {
         'id': self.id,
         'name': self.name,
         'action': self.action,
         'target': self.target,
         'cause': self.cause,
         'owner': self.owner,
         'interval': self.interval,
         'start_time': self.start_time,
         'end_time': self.end_time,
         'timeout': self.timeout,
         'status': self.status,
         'status_reason': self.status_reason,
         'inputs': self.inputs,
         'outputs': self.outputs,
         'depends_on': dep_on,
         'depended_by': dep_by,
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'data': self.data,
         'user': self.user,
         'project': self.project,
     }
     return action_dict
Exemplo n.º 4
0
    def test_receiver_store(self):
        receiver = rb.Receiver('webhook', CLUSTER_ID, 'test-action',
                               name='test_receiver_123456',
                               project=self.context.project)
        self.assertIsNone(receiver.id)

        receiver_id = receiver.store(self.context)

        self.assertIsNotNone(receiver_id)
        self.assertEqual(receiver_id, receiver.id)

        result = ro.Receiver.get(self.context, receiver_id)

        self.assertIsNotNone(result)
        self.assertEqual(receiver_id, result.id)
        self.assertEqual(receiver.type, result.type)
        self.assertEqual(receiver.name, result.name)
        self.assertEqual(receiver.user, result.user)
        self.assertEqual(receiver.project, result.project)
        self.assertEqual(receiver.domain, result.domain)
        self.assertEqual(common_utils.isotime(receiver.created_at),
                         common_utils.isotime(result.created_at)),
        self.assertEqual(receiver.updated_at, result.updated_at)
        self.assertEqual(receiver.action, result.action)
        self.assertEqual(receiver.actor, result.actor)
        self.assertEqual(receiver.params, result.params)
        self.assertEqual(receiver.channel, result.channel)
Exemplo n.º 5
0
 def to_dict(self):
     return {
         'id': self.id,
         'name': self.name,
         'profile_id': self.profile_id,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'init_at': utils.isotime(self.init_at),
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'min_size': self.min_size,
         'max_size': self.max_size,
         'desired_capacity': self.desired_capacity,
         'timeout': self.timeout,
         'status': self.status,
         'status_reason': self.status_reason,
         'metadata': self.metadata or {},
         'data': self.data or {},
         'dependents': self.dependents or {},
         'config': self.config or {},
         'profile_name': self.profile_name,
         'nodes': self.nodes,
         'policies': self.policies
     }
Exemplo n.º 6
0
    def test_from_db_record(self):
        values = copy.deepcopy(self.action_values)
        obj = ab.Action(OBJID, 'OBJECT_ACTION', self.ctx, **values)
        obj.store(self.ctx)

        record = ao.Action.get(self.ctx, obj.id)

        action_obj = ab.Action._from_object(record)
        self.assertIsInstance(action_obj, ab.Action)
        self.assertEqual(obj.id, action_obj.id)
        self.assertEqual(obj.action, action_obj.action)
        self.assertEqual(obj.name, action_obj.name)
        self.assertEqual(obj.target, action_obj.target)
        self.assertEqual(obj.cause, action_obj.cause)
        self.assertEqual(obj.owner, action_obj.owner)
        self.assertEqual(obj.interval, action_obj.interval)
        self.assertEqual(obj.start_time, action_obj.start_time)
        self.assertEqual(obj.end_time, action_obj.end_time)
        self.assertEqual(obj.timeout, action_obj.timeout)
        self.assertEqual(obj.status, action_obj.status)
        self.assertEqual(obj.status_reason, action_obj.status_reason)
        self.assertEqual(obj.inputs, action_obj.inputs)
        self.assertEqual(obj.outputs, action_obj.outputs)
        self.assertEqual(common_utils.isotime(obj.created_at),
                         common_utils.isotime(action_obj.created_at))
        self.assertEqual(obj.updated_at, action_obj.updated_at)
        self.assertEqual(obj.data, action_obj.data)
        self.assertEqual(obj.user, action_obj.user)
        self.assertEqual(obj.project, action_obj.project)
        self.assertEqual(obj.domain, action_obj.domain)
Exemplo n.º 7
0
 def test_node_to_dict_no_profile(self, mock_profile_get):
     x_node_id = '11ad5c3d-e1e5-4ed8-8fe3-2938b63a11cb'
     node = utils.create_node(self.context, x_node_id, PROFILE_ID,
                              CLUSTER_ID)
     self.assertIsNotNone(node.id)
     expected = {
         'id': node.id,
         'name': node.name,
         'cluster_id': node.cluster_id,
         'physical_id': node.physical_id,
         'profile_id': node.profile_id,
         'user': node.user,
         'project': node.project,
         'domain': node.domain,
         'index': node.index,
         'role': node.role,
         'init_at': common_utils.isotime(node.init_at),
         'created_at': common_utils.isotime(node.created_at),
         'updated_at': common_utils.isotime(node.updated_at),
         'status': node.status,
         'status_reason': node.status_reason,
         'data': node.data,
         'metadata': node.metadata,
         'profile_name': 'Unknown',
     }
     mock_profile_get.return_value = None
     result = nodem.Node.load(self.context, x_node_id)
     dt = result.to_dict()
     self.assertEqual(expected, dt)
Exemplo n.º 8
0
 def to_dict(self):
     if self.id:
         dep_on = dobj.Dependency.get_depended(self.context, self.id)
         dep_by = dobj.Dependency.get_dependents(self.context, self.id)
     else:
         dep_on = []
         dep_by = []
     action_dict = {
         'id': self.id,
         'name': self.name,
         'action': self.action,
         'target': self.target,
         'cause': self.cause,
         'owner': self.owner,
         'interval': self.interval,
         'start_time': self.start_time,
         'end_time': self.end_time,
         'timeout': self.timeout,
         'status': self.status,
         'status_reason': self.status_reason,
         'inputs': self.inputs,
         'outputs': self.outputs,
         'depends_on': dep_on,
         'depended_by': dep_by,
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'data': self.data,
     }
     return action_dict
Exemplo n.º 9
0
 def test_node_to_dict(self):
     x_node_id = '16e70db8-4f70-4883-96be-cf40264a5abd'
     node = utils.create_node(self.context, x_node_id, PROFILE_ID,
                              CLUSTER_ID)
     self.assertIsNotNone(node.id)
     expected = {
         'id': node.id,
         'name': node.name,
         'cluster_id': node.cluster_id,
         'physical_id': node.physical_id,
         'profile_id': node.profile_id,
         'user': node.user,
         'project': node.project,
         'domain': node.domain,
         'index': node.index,
         'role': node.role,
         'init_at': common_utils.isotime(node.init_at),
         'created_at': common_utils.isotime(node.created_at),
         'updated_at': common_utils.isotime(node.updated_at),
         'status': node.status,
         'status_reason': node.status_reason,
         'data': node.data,
         'metadata': node.metadata,
         'dependents': node.dependents,
         'profile_name': self.profile.name,
     }
     result = nodem.Node.load(self.context, x_node_id)
     dt = result.to_dict()
     self.assertEqual(expected, dt)
Exemplo n.º 10
0
    def test_receiver_store(self):
        receiver = rb.Receiver('webhook',
                               CLUSTER_ID,
                               'test-action',
                               name='test_receiver_123456',
                               project=self.context.project)
        self.assertIsNone(receiver.id)

        receiver_id = receiver.store(self.context)

        self.assertIsNotNone(receiver_id)
        self.assertEqual(receiver_id, receiver.id)

        result = ro.Receiver.get(self.context, receiver_id)

        self.assertIsNotNone(result)
        self.assertEqual(receiver_id, result.id)
        self.assertEqual(receiver.type, result.type)
        self.assertEqual(receiver.name, result.name)
        self.assertEqual(receiver.user, result.user)
        self.assertEqual(receiver.project, result.project)
        self.assertEqual(receiver.domain, result.domain)
        self.assertEqual(common_utils.isotime(receiver.created_at),
                         common_utils.isotime(result.created_at)),
        self.assertEqual(receiver.updated_at, result.updated_at)
        self.assertEqual(receiver.action, result.action)
        self.assertEqual(receiver.actor, result.actor)
        self.assertEqual(receiver.params, result.params)
        self.assertEqual(receiver.channel, result.channel)
Exemplo n.º 11
0
 def to_dict(self):
     action_dict = {
         'id': self.id,
         'name': self.name,
         'action': self.action,
         'target': self.target,
         'cause': self.cause,
         'owner': self.owner,
         'interval': self.interval,
         'start_time': self.start_time,
         'end_time': self.end_time,
         'timeout': self.timeout,
         'status': self.status,
         'status_reason': self.status_reason,
         'inputs': self.inputs,
         'outputs': self.outputs,
         'depends_on': self.dep_on,
         'depended_by': self.dep_by,
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'data': self.data,
         'user': self.user,
         'project': self.project,
     }
     return action_dict
Exemplo n.º 12
0
    def to_dict(self):
        info = {
            'id': self.id,
            'name': self.name,
            'profile_id': self.profile_id,
            'user': self.user,
            'project': self.project,
            'domain': self.domain,
            'init_at': utils.isotime(self.init_at),
            'created_at': utils.isotime(self.created_at),
            'updated_at': utils.isotime(self.updated_at),
            'min_size': self.min_size,
            'max_size': self.max_size,
            'desired_capacity': self.desired_capacity,
            'timeout': self.timeout,
            'status': self.status,
            'status_reason': self.status_reason,
            'metadata': self.metadata,
            'data': self.data,
            'dependents': self.dependents,
            'nodes': [node.id for node in self.rt['nodes']],
            'policies': [policy.id for policy in self.rt['policies']],
        }
        if self.rt['profile']:
            info['profile_name'] = self.rt['profile'].name
        else:
            info['profile_name'] = None

        return info
Exemplo n.º 13
0
 def test_node_to_dict(self):
     x_node_id = '16e70db8-4f70-4883-96be-cf40264a5abd'
     node = utils.create_node(self.context, x_node_id, PROFILE_ID,
                              CLUSTER_ID)
     self.assertIsNotNone(node.id)
     expected = {
         'id': node.id,
         'name': node.name,
         'cluster_id': node.cluster_id,
         'physical_id': node.physical_id,
         'profile_id': node.profile_id,
         'user': node.user,
         'project': node.project,
         'domain': node.domain,
         'index': node.index,
         'role': node.role,
         'init_at': common_utils.isotime(node.init_at),
         'created_at': common_utils.isotime(node.created_at),
         'updated_at': common_utils.isotime(node.updated_at),
         'status': node.status,
         'status_reason': node.status_reason,
         'data': node.data,
         'metadata': node.metadata,
         'profile_name': self.profile.name,
     }
     result = nodem.Node.load(self.context, x_node_id)
     dt = result.to_dict()
     self.assertEqual(expected, dt)
Exemplo n.º 14
0
 def test_node_to_dict_no_profile(self, mock_profile_get):
     x_node_id = '11ad5c3d-e1e5-4ed8-8fe3-2938b63a11cb'
     node = utils.create_node(self.context, x_node_id, PROFILE_ID,
                              CLUSTER_ID)
     self.assertIsNotNone(node.id)
     expected = {
         'id': node.id,
         'name': node.name,
         'cluster_id': node.cluster_id,
         'physical_id': node.physical_id,
         'profile_id': node.profile_id,
         'user': node.user,
         'project': node.project,
         'domain': node.domain,
         'index': node.index,
         'role': node.role,
         'init_at': common_utils.isotime(node.init_at),
         'created_at': common_utils.isotime(node.created_at),
         'updated_at': common_utils.isotime(node.updated_at),
         'status': node.status,
         'status_reason': node.status_reason,
         'data': node.data,
         'metadata': node.metadata,
         'dependents': node.dependents,
         'profile_name': 'Unknown',
     }
     mock_profile_get.return_value = None
     result = nodem.Node.load(self.context, x_node_id)
     dt = result.to_dict()
     self.assertEqual(expected, dt)
Exemplo n.º 15
0
 def to_dict(self):
     if self.rt['profile']:
         profile_name = self.rt['profile'].name
     else:
         profile_name = 'Unknown'
     node_dict = {
         'id': self.id,
         'name': self.name,
         'cluster_id': self.cluster_id,
         'physical_id': self.physical_id,
         'profile_id': self.profile_id,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'index': self.index,
         'role': self.role,
         'init_at': utils.isotime(self.init_at),
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'status': self.status,
         'status_reason': self.status_reason,
         'data': self.data,
         'metadata': self.metadata,
         'profile_name': profile_name,
     }
     return node_dict
Exemplo n.º 16
0
 def to_dict(self):
     if self.rt['profile']:
         profile_name = self.rt['profile'].name
     else:
         profile_name = 'Unknown'
     node_dict = {
         'id': self.id,
         'name': self.name,
         'cluster_id': self.cluster_id,
         'physical_id': self.physical_id,
         'profile_id': self.profile_id,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'index': self.index,
         'role': self.role,
         'init_at': utils.isotime(self.init_at),
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'status': self.status,
         'status_reason': self.status_reason,
         'data': self.data,
         'metadata': self.metadata,
         'profile_name': profile_name,
     }
     return node_dict
Exemplo n.º 17
0
    def to_dict(self):
        info = {
            'id': self.id,
            'name': self.name,
            'profile_id': self.profile_id,
            'user': self.user,
            'project': self.project,
            'domain': self.domain,
            'init_at': utils.isotime(self.init_at),
            'created_at': utils.isotime(self.created_at),
            'updated_at': utils.isotime(self.updated_at),
            'min_size': self.min_size,
            'max_size': self.max_size,
            'desired_capacity': self.desired_capacity,
            'timeout': self.timeout,
            'status': self.status,
            'status_reason': self.status_reason,
            'metadata': self.metadata,
            'data': self.data,
            'nodes': [node.id for node in self.rt['nodes']],
            'policies': [policy.id for policy in self.rt['policies']],
        }
        if self.rt['profile']:
            info['profile_name'] = self.rt['profile'].name
        else:
            info['profile_name'] = None

        return info
Exemplo n.º 18
0
    def test_action_store_for_create(self):
        values = copy.deepcopy(self.action_values)
        obj = ab.Action(OBJID, 'OBJECT_ACTION', self.ctx, **values)

        self.assertEqual(common_utils.isotime(values['created_at']),
                         common_utils.isotime(obj.created_at))
        self.assertIsNone(obj.updated_at)

        # store for creation
        res = obj.store(self.ctx)
        self.assertIsNotNone(res)
        self.assertEqual(obj.id, res)
        self.assertIsNotNone(obj.created_at)
        self.assertIsNone(obj.updated_at)
Exemplo n.º 19
0
 def to_dict(self):
     pb_dict = {
         'id': self.id,
         'name': self.name,
         'type': self.type,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'spec': self.spec,
         'metadata': self.metadata,
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
     }
     return pb_dict
Exemplo n.º 20
0
 def to_dict(self):
     pb_dict = {
         'id': self.id,
         'name': self.name,
         'type': self.type,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'spec': self.spec,
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'data': self.data,
     }
     return pb_dict
Exemplo n.º 21
0
    def test_action_store_for_create(self):
        values = copy.deepcopy(self.action_values)
        obj = ab.Action(OBJID, 'OBJECT_ACTION', self.ctx, **values)

        self.assertEqual(common_utils.isotime(values['created_at']),
                         common_utils.isotime(obj.created_at))
        self.assertIsNone(obj.updated_at)

        # store for creation
        res = obj.store(self.ctx)
        self.assertIsNotNone(res)
        self.assertEqual(obj.id, res)
        self.assertIsNotNone(obj.created_at)
        self.assertIsNone(obj.updated_at)
Exemplo n.º 22
0
    def test_action_to_dict(self, mock_dep_by, mock_dep_on):
        mock_dep_on.return_value = ['ACTION_1']
        mock_dep_by.return_value = ['ACTION_2']
        action = ab.Action(OBJID, 'OBJECT_ACTION', self.ctx,
                           **self.action_values)
        action.id = 'FAKE_ID'
        ts = common_utils.isotime(self.action_values['created_at'])
        expected = {
            'id': 'FAKE_ID',
            'name': 'FAKE_NAME',
            'action': 'OBJECT_ACTION',
            'target': OBJID,
            'cause': 'FAKE_CAUSE',
            'owner': OWNER_ID,
            'interval': 60,
            'start_time': 0,
            'end_time': 0,
            'timeout': 120,
            'status': 'FAKE_STATUS',
            'status_reason': 'FAKE_STATUS_REASON',
            'inputs': {'param': 'value'},
            'outputs': {'key': 'output_value'},
            'depends_on': ['ACTION_1'],
            'depended_by': ['ACTION_2'],
            'created_at': ts,
            'updated_at': None,
            'data': {'data_key': 'data_value'},
        }

        res = action.to_dict()
        self.assertEqual(expected, res)
        mock_dep_on.assert_called_once_with(action.context, 'FAKE_ID')
        mock_dep_by.assert_called_once_with(action.context, 'FAKE_ID')
Exemplo n.º 23
0
 def to_dict(self):
     info = {
         'id': self.id,
         'name': self.name,
         'type': self.type,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'cluster_id': self.cluster_id,
         'actor': self.actor,
         'action': self.action,
         'params': self.params,
         'channel': self.channel,
     }
     return info
Exemplo n.º 24
0
 def to_dict(self):
     receiver_dict = {
         'id': self.id,
         'name': self.name,
         'type': self.type,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'cluster_id': self.cluster_id,
         'actor': self.actor,
         'action': self.action,
         'params': self.params,
         'channel': self.channel,
     }
     return receiver_dict
Exemplo n.º 25
0
    def test_event_create_get(self):
        event = self.create_event(self.ctx)
        ret_event = db_api.event_get(self.ctx, event.id)
        self.assertIsNotNone(ret_event)
        tst_timestamp = tu.parse_strtime('2014-12-19 11:51:54.670244',
                                         '%Y-%m-%d %H:%M:%S.%f')

        self.assertEqual(common_utils.isotime(tst_timestamp),
                         common_utils.isotime(ret_event.timestamp))
        self.assertEqual('20', ret_event.level)
        self.assertEqual('', ret_event.oid)
        self.assertEqual('', ret_event.otype)
        self.assertEqual('', ret_event.oname)
        self.assertEqual('', ret_event.action)
        self.assertEqual('', ret_event.status)
        self.assertEqual('', ret_event.status_reason)
        self.assertEqual(self.ctx.user, ret_event.user)
        self.assertEqual(self.ctx.project, ret_event.project)
Exemplo n.º 26
0
    def test_to_dict(self):
        PROFILE_ID = uuidutils.generate_uuid()
        CLUSTER_ID = uuidutils.generate_uuid()
        values = {
            'name': 'test_node',
            'profile_id': PROFILE_ID,
            'cluster_id': CLUSTER_ID,
            'user': self.ctx.user_id,
            'project': self.ctx.project_id,
            'index': -1,
            'init_at': timeutils.utcnow(True),
            'status': 'Initializing',
        }
        node = no.Node.create(self.ctx, values)
        self.assertIsNotNone(node.id)

        expected = {
            'id': node.id,
            'name': node.name,
            'cluster_id': node.cluster_id,
            'physical_id': node.physical_id,
            'profile_id': node.profile_id,
            'user': node.user,
            'project': node.project,
            'domain': node.domain,
            'index': node.index,
            'role': node.role,
            'init_at': common_utils.isotime(node.init_at),
            'created_at': common_utils.isotime(node.created_at),
            'updated_at': common_utils.isotime(node.updated_at),
            'status': node.status,
            'status_reason': node.status_reason,
            'data': node.data,
            'metadata': node.metadata,
            'dependents': node.dependents,
            'profile_name': node.profile_name,
            'tainted': False,
        }

        result = no.Node.get(self.ctx, node.id)
        dt = result.to_dict()
        self.assertEqual(expected, dt)
Exemplo n.º 27
0
    def test_receiver_to_dict(self):
        receiver = self._create_receiver('test-receiver', UUID1)
        self.assertIsNotNone(receiver.id)
        expected = {
            'id': receiver.id,
            'name': receiver.name,
            'type': receiver.type,
            'user': receiver.user,
            'project': receiver.project,
            'domain': receiver.domain,
            'cluster_id': receiver.cluster_id,
            'action': receiver.action,
            'actor': receiver.actor,
            'params': receiver.params,
            'created_at': common_utils.isotime(receiver.created_at),
            'updated_at': common_utils.isotime(receiver.updated_at),
            'channel': None,
        }

        result = rb.Receiver.load(self.context, receiver_id=receiver.id)
        self.assertEqual(expected, result.to_dict())
Exemplo n.º 28
0
    def test_receiver_to_dict(self):
        receiver = self._create_receiver('test-receiver', UUID1)
        self.assertIsNotNone(receiver.id)
        expected = {
            'id': receiver.id,
            'name': receiver.name,
            'type': receiver.type,
            'user': receiver.user,
            'project': receiver.project,
            'domain': receiver.domain,
            'cluster_id': receiver.cluster_id,
            'action': receiver.action,
            'actor': receiver.actor,
            'params': receiver.params,
            'created_at': common_utils.isotime(receiver.created_at),
            'updated_at': common_utils.isotime(receiver.updated_at),
            'channel': None,
        }

        result = rb.Receiver.load(self.context, receiver_id=receiver.id)
        self.assertEqual(expected, result.to_dict())
Exemplo n.º 29
0
    def test_cluster_policy_store(self):
        utils.create_profile(self.context, PROFILE_ID)
        cluster = utils.create_cluster(self.context, CLUSTER_ID, PROFILE_ID)
        policy = utils.create_policy(self.context, POLICY_ID)
        values = {
            'priority': 12,
            'enabled': True,
        }
        cp = cpm.ClusterPolicy(cluster.id, policy.id, **values)
        self.assertIsNone(cp.id)
        cp_id = cp.store(self.context)
        self.assertIsNotNone(cp_id)

        result = cpo.ClusterPolicy.get(self.context, CLUSTER_ID, POLICY_ID)

        self.assertIsNotNone(result)
        self.assertEqual(12, result.priority)
        self.assertTrue(result.enabled)
        self.assertEqual({}, result.data)
        self.assertIsNone(result.last_op)

        # do an update
        cp.enabled = False
        cp.priority = 60
        cp.data = {'foo': 'bar'}
        timestamp = timeutils.utcnow(True)
        cp.last_op = timestamp

        new_id = cp.store(self.context)
        self.assertEqual(cp_id, new_id)

        result = cpo.ClusterPolicy.get(self.context, CLUSTER_ID, POLICY_ID)

        self.assertIsNotNone(result)
        self.assertFalse(result.enabled)
        self.assertEqual(60, result.priority)
        self.assertEqual({'foo': 'bar'}, result.data)
        self.assertEqual(common_utils.isotime(timestamp),
                         common_utils.isotime(result.last_op))
Exemplo n.º 30
0
 def to_dict(self):
     return {
         'id': self.id,
         'name': self.name,
         'cluster_id': self.cluster_id,
         'physical_id': self.physical_id,
         'profile_id': self.profile_id,
         'user': self.user,
         'project': self.project,
         'domain': self.domain,
         'index': self.index,
         'role': self.role,
         'init_at': utils.isotime(self.init_at),
         'created_at': utils.isotime(self.created_at),
         'updated_at': utils.isotime(self.updated_at),
         'status': self.status,
         'status_reason': self.status_reason,
         'data': self.data,
         'metadata': self.metadata,
         'dependents': self.dependents,
         'profile_name': self.profile_name,
     }
Exemplo n.º 31
0
    def test_cluster_policy_store(self):
        cluster = utils.create_cluster(self.context, CLUSTER_ID, PROFILE_ID)
        policy = utils.create_policy(self.context, POLICY_ID)
        values = {
            'priority': 12,
            'enabled': True,
        }
        cp = cpm.ClusterPolicy(cluster.id, policy.id, **values)
        self.assertIsNone(cp.id)
        cp_id = cp.store(self.context)
        self.assertIsNotNone(cp_id)

        result = cpo.ClusterPolicy.get(self.context, CLUSTER_ID, POLICY_ID)

        self.assertIsNotNone(result)
        self.assertEqual(12, result.priority)
        self.assertTrue(result.enabled)
        self.assertEqual({}, result.data)
        self.assertIsNone(result.last_op)

        # do an update
        cp.enabled = False
        cp.priority = 60
        cp.data = {'foo': 'bar'}
        timestamp = timeutils.utcnow(True)
        cp.last_op = timestamp

        new_id = cp.store(self.context)
        self.assertEqual(cp_id, new_id)

        result = cpo.ClusterPolicy.get(self.context, CLUSTER_ID, POLICY_ID)

        self.assertIsNotNone(result)
        self.assertFalse(result.enabled)
        self.assertEqual(60, result.priority)
        self.assertEqual({'foo': 'bar'}, result.data)
        self.assertEqual(common_utils.isotime(timestamp),
                         common_utils.isotime(result.last_op))
Exemplo n.º 32
0
    def test_to_dict(self):
        profile = self._create_profile('test-profile')
        # simulate a store()
        profile.id = 'FAKE_ID'
        expected = {
            'id': 'FAKE_ID',
            'name': profile.name,
            'type': profile.type,
            'user': profile.user,
            'project': profile.project,
            'domain': profile.domain,
            'spec': profile.spec,
            'metadata': profile.metadata,
            'created_at': common_utils.isotime(profile.created_at),
            'updated_at': None,
        }

        result = profile.to_dict()
        self.assertEqual(expected, result)
Exemplo n.º 33
0
    def test_to_dict(self):
        policy = self._create_policy('test-policy')
        policy_id = policy.store(self.ctx)
        self.assertIsNotNone(policy_id)
        expected = {
            'id': policy_id,
            'name': policy.name,
            'type': policy.type,
            'user': policy.user,
            'project': policy.project,
            'domain': policy.domain,
            'spec': policy.spec,
            'data': policy.data,
            'created_at': common_utils.isotime(policy.created_at),
            'updated_at': None,
        }

        result = pb.Policy.load(self.ctx, policy_id=policy.id)
        self.assertEqual(expected, result.to_dict())
Exemplo n.º 34
0
    def test_to_dict(self):
        profile = self._create_profile('test-profile')
        # simulate a store()
        profile.id = 'FAKE_ID'
        expected = {
            'id': 'FAKE_ID',
            'name': profile.name,
            'type': profile.type,
            'user': profile.user,
            'project': profile.project,
            'domain': profile.domain,
            'spec': profile.spec,
            'metadata': profile.metadata,
            'created_at': common_utils.isotime(profile.created_at),
            'updated_at': None,
        }

        result = profile.to_dict()
        self.assertEqual(expected, result)
Exemplo n.º 35
0
    def test_action_to_dict(self, mock_dep_by, mock_dep_on):
        mock_dep_on.return_value = ['ACTION_1']
        mock_dep_by.return_value = ['ACTION_2']
        action = ab.Action(OBJID, 'OBJECT_ACTION', self.ctx,
                           **self.action_values)
        action.id = 'FAKE_ID'
        ts = common_utils.isotime(self.action_values['created_at'])
        expected = {
            'id': 'FAKE_ID',
            'name': 'FAKE_NAME',
            'action': 'OBJECT_ACTION',
            'target': OBJID,
            'cause': 'FAKE_CAUSE',
            'owner': OWNER_ID,
            'interval': 60,
            'start_time': 0,
            'end_time': 0,
            'timeout': 120,
            'status': 'FAKE_STATUS',
            'status_reason': 'FAKE_STATUS_REASON',
            'inputs': {
                'param': 'value'
            },
            'outputs': {
                'key': 'output_value'
            },
            'depends_on': ['ACTION_1'],
            'depended_by': ['ACTION_2'],
            'created_at': ts,
            'updated_at': None,
            'data': {
                'data_key': 'data_value'
            },
            'user': USER_ID,
            'project': PROJECT_ID,
        }

        res = action.to_dict()
        self.assertEqual(expected, res)
        mock_dep_on.assert_called_once_with(action.context, 'FAKE_ID')
        mock_dep_by.assert_called_once_with(action.context, 'FAKE_ID')