def test_proxy_to_kairos_chunked_raises_except(m_query_kairos): m_query_kairos.return_value = {"error": "some error message", "status_code": 500} kq = KQuery(MockRedis()) kq.query = {"hello": "goodbye"} then = datetime.datetime.fromtimestamp(1234567890) diff = datetime.timedelta(minutes=30) time_ranges = [(then - diff, then), (then - diff - diff, then - diff)] with pytest.raises(BackendQueryFailure): kq.proxy_to_kairos_chunked("localhost", 8080, time_ranges)
def test_proxy_to_kairos_chunked_raises_except(m_query_kairos): m_query_kairos.return_value = { 'error': 'some error message', 'status_code': 500 } kq = KQuery(MockRedis()) kq.query = {'hello': 'goodbye'} then = datetime.datetime.fromtimestamp(1234567890) diff = datetime.timedelta(minutes=30) time_ranges = [(then - diff, then), (then - diff - diff, then - diff)] with pytest.raises(BackendQueryFailure): kq.proxy_to_kairos_chunked('localhost', 8080, time_ranges)
def test_proxy_to_kairos_chunked_happy(m_query_kairos): m_query_kairos.return_value = { 'queries': [{ 'name': 'first' }, {'name', 'second'}] } kq = KQuery(MockRedis()) kq.query = {'hello': 'goodbye'} then = datetime.datetime.fromtimestamp(1234567890) diff = datetime.timedelta(minutes=30) time_ranges = [(then - diff, then), (then - diff - diff, then - diff)] results = kq.proxy_to_kairos_chunked('localhost', 8080, time_ranges) assert len(results) == 2 assert m_query_kairos.call_count == 2 expected_query = {'cache_time': 0, 'metrics': [{'hello': 'goodbye'}]} expected_query['start_absolute'] = int((then - diff).strftime('%s')) * 1000 expected_query['end_absolute'] = int((then).strftime('%s')) * 1000 assert m_query_kairos.call_args_list[0] == (('localhost', 8080, expected_query), { 'propagate': False }) expected_query['start_absolute'] = int( (then - diff - diff).strftime('%s')) * 1000 expected_query['end_absolute'] = int((then - diff).strftime('%s')) * 1000 assert m_query_kairos.call_args_list[1] == (('localhost', 8080, expected_query), { 'propagate': False })
def test_proxy_to_kairos_chunked_happy(m_query_kairos): m_query_kairos.return_value = {"queries": [{"name": "first"}, {"name", "second"}]} kq = KQuery(MockRedis()) kq.query = {"hello": "goodbye"} then = datetime.datetime.fromtimestamp(1234567890) diff = datetime.timedelta(minutes=30) time_ranges = [(then - diff, then), (then - diff - diff, then - diff)] results = kq.proxy_to_kairos_chunked("localhost", 8080, time_ranges) assert len(results) == 2 assert m_query_kairos.call_count == 2 expected_query = {"cache_time": 0, "metrics": [{"hello": "goodbye"}]} expected_query["start_absolute"] = int((then - diff).strftime("%s")) * 1000 expected_query["end_absolute"] = int((then).strftime("%s")) * 1000 assert m_query_kairos.call_args_list[0] == (("localhost", 8080, expected_query), {"propagate": False}) expected_query["start_absolute"] = int((then - diff - diff).strftime("%s")) * 1000 expected_query["end_absolute"] = int((then - diff).strftime("%s")) * 1000 assert m_query_kairos.call_args_list[1] == (("localhost", 8080, expected_query), {"propagate": False})