def test_process(self): deployment = self.mox.CreateMockAnything() raw = self.mox.CreateMockAnything() message = self.mox.CreateMockAnything() consumer = worker.NovaConsumer('test', None, deployment, True, {}) routing_key = 'monitor.info' message.delivery_info = {'routing_key': routing_key} body_dict = {u'key': u'value'} message.body = json.dumps(body_dict) self.mox.StubOutWithMock(views, 'process_raw_data', use_mock_anything=True) args = (routing_key, body_dict) views.process_raw_data(deployment, args, json.dumps(args))\ .AndReturn(raw) message.ack() self.mox.StubOutWithMock(views, 'post_process') views.post_process(raw, body_dict) self.mox.StubOutWithMock(consumer, '_check_memory', use_mock_anything=True) consumer._check_memory() self.mox.ReplayAll() consumer._process(message) self.assertEqual(consumer.processed, 1) self.mox.VerifyAll()
def test_process_raw_data_old_timestamp(self): deployment = self.mox.CreateMockAnything() when = '2013-1-25T13:38:23.123' dict = { '_context_timestamp': when, } args = ('monitor.info', dict) json_args = json.dumps(args) old_info_handler = views.HANDLERS['monitor.info'] views.HANDLERS['monitor.info'] = lambda key, mess: {'host': 'api'} raw_values = { 'deployment': deployment, 'when': utils.decimal_utc(datetime.datetime.strptime(when, "%Y-%m-%dT%H:%M:%S.%f")), 'host': 'api', 'routing_key': 'monitor.info', 'json': json_args } raw = self.mox.CreateMockAnything() views.STACKDB.create_rawdata(**raw_values).AndReturn(raw) views.STACKDB.save(raw) self.mox.StubOutWithMock(views, "aggregate_lifecycle") views.aggregate_lifecycle(raw) self.mox.StubOutWithMock(views, "aggregate_usage") views.aggregate_usage(raw, dict) self.mox.ReplayAll() views.process_raw_data(deployment, args, json_args) self.mox.VerifyAll() views.HANDLERS['monitor.info'] = old_info_handler
def test_process(self): deployment = self.mox.CreateMockAnything() raw = self.mox.CreateMockAnything() raw.get_name().AndReturn('RawData') message = self.mox.CreateMockAnything() exchange = 'nova' consumer = worker.Consumer('test', None, deployment, True, {}, exchange, self._test_topics()) routing_key = 'monitor.info' message.delivery_info = {'routing_key': routing_key} body_dict = {u'key': u'value'} message.body = json.dumps(body_dict) mock_notification = self.mox.CreateMockAnything() mock_post_process_method = self.mox.CreateMockAnything() mock_post_process_method(raw, mock_notification) old_handler = worker.POST_PROCESS_METHODS worker.POST_PROCESS_METHODS["RawData"] = mock_post_process_method self.mox.StubOutWithMock(views, 'process_raw_data', use_mock_anything=True) args = (routing_key, body_dict) views.process_raw_data(deployment, args, json.dumps(args), exchange) \ .AndReturn((raw, mock_notification)) message.ack() self.mox.StubOutWithMock(consumer, '_check_memory', use_mock_anything=True) consumer._check_memory() self.mox.ReplayAll() consumer._process(message) self.assertEqual(consumer.processed, 1) self.mox.VerifyAll() worker.POST_PROCESS_METHODS["RawData"] = old_handler
def test_process_raw_data_old_timestamp(self): deployment = self.mox.CreateMockAnything() when = '2013-1-25T13:38:23.123' dict = { '_context_timestamp': when, } args = ('monitor.info', dict) json_args = json.dumps(args[1]) raw_values = { 'deployment': deployment, 'when': utils.decimal_utc(datetime.datetime.strptime(when, '%Y-%m-%dT%H:%M:%S.%f')), 'host': 'api', 'routing_key': 'monitor.info', 'json': json_args } old_info_handler = views.NOTIFICATIONS['monitor.info'] mock_notification = self.mox.CreateMockAnything() mock_notification.rawdata_kwargs(deployment, 'monitor.info', json_args).AndReturn(raw_values) views.NOTIFICATIONS['monitor.info'] = lambda message_body: mock_notification views.STACKDB.create_rawdata(**raw_values) self.mox.ReplayAll() views.process_raw_data(deployment, args, json_args) self.mox.VerifyAll() views.NOTIFICATIONS['monitor.info'] = old_info_handler
def test_process_raw_data_old_timestamp(self): deployment = self.mox.CreateMockAnything() when = '2013-1-25T13:38:23.123' dict = { '_context_timestamp': when, } routing_key = 'monitor.info' args = ('monitor.info', dict) json_args = json.dumps(args[1]) mock_notification = self.mox.CreateMockAnything() mock_notification.save() self.mox.StubOutWithMock(notification, 'notification_factory') exchange = 'nova' notification.notification_factory(dict, deployment, routing_key, json_args, exchange).AndReturn(mock_notification) self.mox.ReplayAll() views.process_raw_data(deployment, args, json_args, exchange) self.mox.VerifyAll()
def _process(self, message): routing_key = message.delivery_info['routing_key'] body = str(message.body) args = (routing_key, json.loads(body)) asJson = json.dumps(args) raw = views.process_raw_data(self.deployment, args, asJson) if raw: self.processed += 1 self._check_memory()
def _process(self, message): routing_key = message.delivery_info['routing_key'] body = str(message.body) args = (routing_key, json.loads(body)) asJson = json.dumps(args) # save raw and ack the message raw, notif = views.process_raw_data( self.deployment, args, asJson, self.exchange) self.processed += 1 message.ack() POST_PROCESS_METHODS[raw.get_name()](raw, notif) self._check_memory()
def _process(self, message): routing_key = message.delivery_info['routing_key'] body = str(message.body) args = (routing_key, json.loads(body)) asJson = json.dumps(args) # save raw and ack the message raw, notif = views.process_raw_data(self.deployment, args, asJson, self.exchange) self.processed += 1 message.ack() POST_PROCESS_METHODS[raw.get_name()](raw, notif) self._check_memory()
def test_process_raw_data_old_timestamp(self): deployment = self.mox.CreateMockAnything() when = '2013-1-25T13:38:23.123' dict = { '_context_timestamp': when, } args = ('monitor.info', dict) json_args = json.dumps(args) old_info_handler = views.HANDLERS['monitor.info'] views.HANDLERS['monitor.info'] = lambda key, mess: {'host': 'api'} raw_values = { 'deployment': deployment, 'when': utils.decimal_utc(datetime.datetime.strptime(when, "%Y-%m-%dT%H:%M:%S.%f")), 'host': 'api', 'routing_key': 'monitor.info', 'json': json_args } raw = self.mox.CreateMockAnything() views.STACKDB.create_rawdata(**raw_values).AndReturn(raw) views.STACKDB.save(raw) self.mox.ReplayAll() views.process_raw_data(deployment, args, json_args) self.mox.VerifyAll() views.HANDLERS['monitor.info'] = old_info_handler
def _process(self, message): routing_key = message.delivery_info['routing_key'] body = str(message.body) args = (routing_key, json.loads(body)) asJson = json.dumps(args) # save raw and ack the message raw = views.process_raw_data(self.deployment, args, asJson) if raw: self.processed += 1 message.ack() views.post_process(raw, args[1]) self._check_memory()
def test_process_raw_data(self): deployment = self.mox.CreateMockAnything() when = '2013-1-25 13:38:23.123' dict = { 'timestamp': when, } routing_key = 'monitor.info' args = (routing_key, dict) json_args = json.dumps(args) mock_record = self.mox.CreateMockAnything() mock_notification = self.mox.CreateMockAnything() mock_notification.save().AndReturn(mock_record) self.mox.StubOutWithMock(notification, 'notification_factory') exchange = 'nova' notification.notification_factory( dict, deployment, routing_key, json_args, exchange).AndReturn(mock_notification) self.mox.ReplayAll() self.assertEquals( views.process_raw_data(deployment, args, json_args, exchange), (mock_record, mock_notification)) self.mox.VerifyAll()
def test_process_raw_data(self): deployment = self.mox.CreateMockAnything() when = '2013-1-25 13:38:23.123' dict = { 'timestamp': when, } routing_key = 'monitor.info' args = (routing_key, dict) json_args = json.dumps(args) mock_record = self.mox.CreateMockAnything() mock_notification = self.mox.CreateMockAnything() mock_notification.save().AndReturn(mock_record) self.mox.StubOutWithMock(notification, 'notification_factory') exchange = 'nova' notification.notification_factory(dict, deployment, routing_key, json_args, exchange).AndReturn( mock_notification) self.mox.ReplayAll() self.assertEquals( views.process_raw_data(deployment, args, json_args, exchange), (mock_record, mock_notification)) self.mox.VerifyAll()