示例#1
0
    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()
示例#2
0
 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
示例#3
0
    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
示例#4
0
    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
示例#5
0
    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()
示例#6
0
    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
示例#7
0
    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()
示例#8
0
    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()
示例#9
0
    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()
示例#10
0
    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()
示例#11
0
    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()
示例#12
0
 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
示例#13
0
    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()
示例#14
0
    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()
示例#15
0
    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()
示例#16
0
    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()