Exemple #1
0
    def test_create(self, mock_db_create, mock_notify, mock_notify_action):
        obj = objects.InstanceGroup(context=self.context)
        obj.uuid = _DB_UUID
        obj.name = _INST_GROUP_DB['name']
        obj.user_id = _INST_GROUP_DB['user_id']
        obj.project_id = _INST_GROUP_DB['project_id']
        obj.members = _INST_GROUP_DB['members']
        obj.policies = _INST_GROUP_DB['policies']
        obj.updated_at = _TS_NOW
        obj.created_at = _TS_NOW
        obj.deleted_at = None
        obj.deleted = False
        obj.create()
        mock_db_create.assert_called_once_with(
            self.context, {
                'uuid': _DB_UUID,
                'name': _INST_GROUP_DB['name'],
                'user_id': _INST_GROUP_DB['user_id'],
                'project_id': _INST_GROUP_DB['project_id'],
                'created_at': _TS_NOW,
                'updated_at': _TS_NOW,
                'deleted_at': None,
                'deleted': False,
            },
            members=_INST_GROUP_DB['members'],
            policies=_INST_GROUP_DB['policies'])
        mock_notify.assert_called_once_with(
            self.context, "create", {
                'uuid': _DB_UUID,
                'name': _INST_GROUP_DB['name'],
                'user_id': _INST_GROUP_DB['user_id'],
                'project_id': _INST_GROUP_DB['project_id'],
                'created_at': _TS_NOW,
                'updated_at': _TS_NOW,
                'deleted_at': None,
                'deleted': False,
                'members': _INST_GROUP_DB['members'],
                'policies': _INST_GROUP_DB['policies'],
                'server_group_id': _DB_UUID
            })

        def _group_matcher(group):
            """Custom mock call matcher method."""
            return (group.uuid == _DB_UUID
                    and group.name == _INST_GROUP_DB['name']
                    and group.user_id == _INST_GROUP_DB['user_id']
                    and group.project_id == _INST_GROUP_DB['project_id']
                    and group.created_at == _TS_NOW
                    and group.updated_at == _TS_NOW
                    and group.deleted_at is None and group.deleted is False
                    and group.members == _INST_GROUP_DB['members']
                    and group.policies == _INST_GROUP_DB['policies']
                    and group.id == 1)

        group_matcher = test_utils.CustomMockCallMatcher(_group_matcher)

        self.assertRaises(exception.ObjectActionError, obj.create)
        mock_notify_action.assert_called_once_with(context=self.context,
                                                   group=group_matcher,
                                                   action='create')
Exemple #2
0
    def test_destroy(self, mock_db_delete, mock_notify, mock_notify_action):
        obj = objects.InstanceGroup(context=self.context)
        obj.uuid = _DB_UUID
        obj.destroy()

        group_matcher = test_utils.CustomMockCallMatcher(
            lambda group: group.uuid == _DB_UUID)

        mock_notify_action.assert_called_once_with(context=obj._context,
                                                   group=group_matcher,
                                                   action='delete')
        mock_db_delete.assert_called_once_with(self.context, _DB_UUID)
        mock_notify.assert_called_once_with(self.context, "delete",
                                            {'server_group_id': _DB_UUID})
Exemple #3
0
    def test_success(self, mock_notify):
        self.keypair_api.delete_key_pair(self.ctxt, self.ctxt.user_id,
                                         self.existing_key_name)
        self.assertRaises(exception.KeypairNotFound,
                          self.keypair_api.get_key_pair, self.ctxt,
                          self.ctxt.user_id, self.existing_key_name)

        match_by_name = test_utils.CustomMockCallMatcher(
            lambda keypair: keypair['name'] == self.existing_key_name)

        mock_notify.assert_has_calls([
            mock.call(context=self.ctxt,
                      keypair=match_by_name,
                      action='delete',
                      phase='start'),
            mock.call(context=self.ctxt,
                      keypair=match_by_name,
                      action='delete',
                      phase='end')
        ])
        self._check_notifications(action='delete',
                                  key_name=self.existing_key_name)