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' } } } } )
def get_avg_response_time(self): return AvgResponseTimeQuery(self.begin_at, self.end_at).query()
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' } } } })