Esempio n. 1
0
    def setUp(self):

        self.begin_at = datetime(2016, 1, 1)
        self.end_at = datetime(2016, 1, 2)
        self.artq = AvgResponseTimeQuery(self.begin_at, self.end_at)

        self.mock_get_es()
    def setUp(self):

        self.begin_at = datetime(2016, 1, 1)
        self.end_at = datetime(2016, 1, 2)
        self.artq = AvgResponseTimeQuery(self.begin_at, self.end_at)

        self.mock_get_es()
class TestQuery(unittest.TestCase):

    def setUp(self):

        self.begin_at = datetime(2016, 1, 1)
        self.end_at = datetime(2016, 1, 2)
        self.artq = AvgResponseTimeQuery(self.begin_at, self.end_at)

        self.mock_get_es()

    def mock_get_es(self):

        self.artq.get_es = MagicMock()
        self.artq.get_es.return_value = self.mock_es = MagicMock()
        self.mock_es.search.return_value = {
            'aggregations': {'avg_resp_time':{'value': 1.0}}
        }

    def test_call(self):

        self.assertEqual(self.artq.query(), 1.0)

        trc = TimeRangeClause(begin_time=self.begin_at, end_time=self.end_at)
        self.mock_es.search.assert_called_with(
            index='logstash-2016.01.01',
            body = {
                'filter': trc.get_clause(),
                'aggs': {
                    'avg_resp_time': {
                        'avg': {
                            'field': 'backend_processing_time'
                        }
                    }
                }
            }
        )
Esempio n. 4
0
    def get_avg_response_time(self):

        return AvgResponseTimeQuery(self.begin_at, self.end_at).query()
Esempio n. 5
0
class TestQuery(unittest.TestCase):
    def setUp(self):

        self.begin_at = datetime(2016, 1, 1)
        self.end_at = datetime(2016, 1, 2)
        self.artq = AvgResponseTimeQuery(self.begin_at, self.end_at)

        self.mock_get_es()

    def mock_get_es(self):

        self.artq.get_es = MagicMock()
        self.artq.get_es.return_value = self.mock_es = MagicMock()
        self.mock_es.search.return_value = {
            'aggregations': {
                'avg_resp_time': {
                    'value': 1.0
                }
            }
        }

    def test_call(self):

        self.assertEqual(self.artq.query(), 1.0)

        trc = TimeRangeClause(begin_time=self.begin_at, end_time=self.end_at)
        self.mock_es.search.assert_called_with(
            index='logstash-2016.01.01',
            body={
                'query': {
                    'bool': {
                        'filter': [{
                            'range': {
                                'timestamp': {
                                    'gte': 1451606400000,
                                    'lt': 1451692800000
                                }
                            }
                        }, {
                            'exists': {
                                'field': 'rails.controller#action'
                            }
                        }, {
                            'term': {
                                'domain_name': 'api.thekono.com'
                            }
                        }, {
                            'range': {
                                'backend_processing_time': {
                                    'gte': 0
                                }
                            }
                        }]
                    }
                },
                'size': 0,
                'aggs': {
                    'avg_resp_time': {
                        'avg': {
                            'field': 'backend_processing_time'
                        }
                    }
                }
            })