예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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
                                                 })
예제 #4
0
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})