def test_event_list_with_params(self, mock_load): obj_1 = mock.Mock() obj_1.as_dict.return_value = {'level': consts.EVENT_LEVELS['DEBUG']} obj_2 = mock.Mock() obj_2.as_dict.return_value = {'level': consts.EVENT_LEVELS['INFO']} mock_load.return_value = [obj_1, obj_2] marker_uuid = '8216a86c-1bdc-442e-b493-329385d37cbc' req = oreo.EventListRequest(level=['DEBUG', 'INFO'], limit=123, marker=marker_uuid, sort=consts.EVENT_TIMESTAMP, project_safe=True) result = self.svc.event_list(self.ctx, req.obj_to_primitive()) expected = [{'level': 'DEBUG'}, {'level': 'INFO'}] self.assertEqual(expected, result) filters = { 'level': [consts.EVENT_LEVELS['DEBUG'], consts.EVENT_LEVELS['INFO']] } mock_load.assert_called_once_with(self.ctx, filters=filters, sort=consts.EVENT_TIMESTAMP, limit=123, marker=marker_uuid, project_safe=True)
def test_action_list_request_body_full(self): params = { 'oid': ['f23ff00c-ec4f-412d-bd42-7f6e209819cb'], 'otype': ['NODE'], 'oname': ['mynode1'], 'action': ['NODE_CREATE'], 'cluster_id': ['f23ff00c-ec4f-412d-bd42-7f6e209819cb'], 'level': ['ERROR'], 'limit': 5, 'marker': '98625fd0-b120-416c-a978-2fbe28c46820', 'sort': 'timestamp:asc', 'project_safe': False, } sot = events.EventListRequest(**params) self.assertEqual(['f23ff00c-ec4f-412d-bd42-7f6e209819cb'], sot.oid) self.assertEqual(['NODE'], sot.otype) self.assertEqual(['mynode1'], sot.oname) self.assertEqual(['NODE_CREATE'], sot.action) self.assertEqual(['f23ff00c-ec4f-412d-bd42-7f6e209819cb'], sot.cluster_id) self.assertEqual(['ERROR'], sot.level) self.assertEqual(5, sot.limit) self.assertEqual('98625fd0-b120-416c-a978-2fbe28c46820', sot.marker) self.assertEqual('timestamp:asc', sot.sort) self.assertFalse(sot.project_safe)
def test_event_list_with_Auth(self, mock_load): mock_load.return_value = [] req = oreo.EventListRequest(project_safe=True) result = self.svc.event_list(self.ctx, req.obj_to_primitive()) self.assertEqual([], result) mock_load.assert_called_once_with(self.ctx, project_safe=True) self.ctx.is_admin = True mock_load.reset_mock() req = oreo.EventListRequest(project_safe=True) result = self.svc.event_list(self.ctx, req.obj_to_primitive()) self.assertEqual([], result) mock_load.assert_called_once_with(self.ctx, project_safe=True) mock_load.reset_mock() req = oreo.EventListRequest(project_safe=False) result = self.svc.event_list(self.ctx, req.obj_to_primitive()) self.assertEqual([], result) mock_load.assert_called_once_with(self.ctx, project_safe=False)
def test_event_list(self, mock_load): obj_1 = mock.Mock() obj_1.as_dict.return_value = {'level': consts.EVENT_LEVELS['DEBUG']} obj_2 = mock.Mock() obj_2.as_dict.return_value = {'level': consts.EVENT_LEVELS['INFO']} mock_load.return_value = [obj_1, obj_2] req = oreo.EventListRequest() result = self.svc.event_list(self.ctx, req.obj_to_primitive()) expected = [{'level': 'DEBUG'}, {'level': 'INFO'}] self.assertEqual(expected, result) mock_load.assert_called_once_with(self.ctx, project_safe=True)
def test_event_list_with_cluster_not_found(self, mock_load, mock_find): mock_find.side_effect = [ mock.Mock(id='FAKE1'), exc.ResourceNotFound(type='cluster', id='CLUSTER2'), ] req = oreo.EventListRequest(cluster_id=['CLUSTERA', 'CLUSTER2'], project_safe=True) result = self.svc.event_list(self.ctx, req.obj_to_primitive()) self.assertEqual([], result) self.assertEqual(0, mock_load.call_count) mock_find.assert_has_calls( [mock.call(self.ctx, 'CLUSTERA'), mock.call(self.ctx, 'CLUSTER2')])
def test_event_list_with_cluster_id(self, mock_load, mock_find): obj_1 = mock.Mock() obj_1.as_dict.return_value = {'level': consts.EVENT_LEVELS['DEBUG']} obj_2 = mock.Mock() obj_2.as_dict.return_value = {'level': consts.EVENT_LEVELS['INFO']} mock_load.return_value = [obj_1, obj_2] fake_clusters = [mock.Mock(id='FAKE1'), mock.Mock(id='FAKE2')] mock_find.side_effect = fake_clusters req = oreo.EventListRequest(cluster_id=['CLUSTERA', 'CLUSTER2'], project_safe=True) result = self.svc.event_list(self.ctx, req.obj_to_primitive()) expected = [{'level': 'DEBUG'}, {'level': 'INFO'}] self.assertEqual(expected, result) filters = {'cluster_id': ['FAKE1', 'FAKE2']} mock_load.assert_called_once_with(self.ctx, filters=filters, project_safe=True) mock_find.assert_has_calls( [mock.call(self.ctx, 'CLUSTERA'), mock.call(self.ctx, 'CLUSTER2')])
def test_event_get_request(self): sot = events.EventListRequest(**self.body) self.assertEqual('test-event', sot.identity)
def test_event_list_request_body_default(self): sot = events.EventListRequest() sot.obj_set_defaults() self.assertTrue(sot.project_safe)
def test_event_list_with_bad_params(self): req = oreo.EventListRequest(project_safe=False) ex = self.assertRaises(rpc.ExpectedException, self.svc.event_list, self.ctx, req.obj_to_primitive()) self.assertEqual(exc.Forbidden, ex.exc_info[0])