예제 #1
0
def test_json_decoded(temp_file: str, mocked_redis: MockedRedis,
                      query: RedisQuery):
    mocked_redis.add({
        'product:a': '{ "name": "kaas" }',
        'product:b': '{ "name": "kees" }',
        'product:c': '{ "name": "koos" }',
        'something-else': '{ "name": "kies" }',
    })

    with JsonProcessor(temp_file, True) as p:
        query.query_with_processor("product:", p)

    with open(temp_file, "r") as f:
        obj = json.load(f)

    assert obj == [{
        "key": "product:a",
        "value": {
            "name": "kaas"
        }
    }, {
        "key": "product:b",
        "value": {
            "name": "kees"
        }
    }, {
        "key": "product:c",
        "value": {
            "name": "koos"
        }
    }]
예제 #2
0
def test_csv_omit_header(temp_file: str, mocked_redis: MockedRedis,
                         query: RedisQuery):
    mocked_redis.add({
        'product:a': '11',
        'product:b': '22',
        'product:c': '33',
        'something-else': '44'
    })

    with CsvProcessor(temp_file, omit_csv_header=True) as p:
        query.query_with_processor("product:", p)

    with open(temp_file, "r") as f:
        lines = f.read().splitlines()

    assert lines == ['product:a,11', 'product:b,22', 'product:c,33']
예제 #3
0
def test_txt(temp_file: str, mocked_redis: MockedRedis, query: RedisQuery):

    mocked_redis.add({
        'product:a': '11',
        'product:b': '22',
        'product:c': '33',
        'something-else': '44'
    })

    with TextProcessor(temp_file) as p:
        query.query_with_processor("product:", p)

    with open(temp_file, "r") as f:
        lines = f.read().splitlines()

    assert lines == ['product:a', '11', 'product:b', '22', 'product:c', '33']
예제 #4
0
def test_multiple_values(mocked_redis: MockedRedis, query: RedisQuery):
    mocked_redis.add({
        'product:a': '11',
        'product:b': '22',
        'product:c': '33',
    })
    data = query.query("product:")
    assert len(data) == 3
예제 #5
0
def test_query_json(mocked_redis: MockedRedis, query: RedisQuery):
    mocked_redis.add({
        'product:a': '{ "name": "kaas" }',
        'product:b': '{ "name": "kees" }',
        'product:c': '{ "name": "koos" }',
        'something-else': '{ "name": "kies" }',
    })

    data = query.json("product:b")
    assert len(data) == 1
    assert data[0][0] == "product:b"
    assert data[0][1]['name'] == "kees"
예제 #6
0
def test_single_value(mocked_redis: MockedRedis, query: RedisQuery):
    mocked_redis.add({'a': '1', 'b': '2', 'c': '3'})
    data = query.query("b")
    assert len(data) == 1
    assert data[0][0] == "b"
    assert data[0][1] == "2"
예제 #7
0
def query() -> RedisQuery:
    return RedisQuery(None, False, 1000)