示例#1
0
    JSONMapping, JSONSequence)
from stolos import api


def setup_func(func_name):
    raw = {'a': 1, 'b': [1, 2, 3], 'c': {'aa': 1, 'bb': [1, 2, 3]},
           'd': [1, [2, 3]]}
    td = JSONMapping(raw)
    return [], dict(td=td, raw=raw)


def teardown_func():
    pass


with_setup = tt.with_setup_factory(
    [setup_func], [teardown_func])


@with_setup
def test_get_item(td, raw):
    nt.assert_is_instance(td, JSONMapping)
    nt.assert_equal(td['a'], 1)
    nt.assert_equal(td['b'], JSONSequence(raw['b']))
    nt.assert_equal(td['b'][0], 1)
    nt.assert_equal(td['c'], JSONMapping(raw['c']))
    nt.assert_equal(td['c']['bb'][-1], 3)


@with_setup
def test_set_item(td, raw):
    with nt.assert_raises(TypeError):
示例#2
0
        'b': [1, 2, 3],
        'c': {
            'aa': 1,
            'bb': [1, 2, 3]
        },
        'd': [1, [2, 3]]
    }
    td = JSONMapping(raw)
    return [], dict(td=td, raw=raw)


def teardown_func():
    pass


with_setup = tt.with_setup_factory([setup_func], [teardown_func])


@with_setup
def test_get_item(td, raw):
    nt.assert_is_instance(td, JSONMapping)
    nt.assert_equal(td['a'], 1)
    nt.assert_equal(td['b'], JSONSequence(raw['b']))
    nt.assert_equal(td['b'][0], 1)
    nt.assert_equal(td['c'], JSONMapping(raw['c']))
    nt.assert_equal(td['c']['bb'][-1], 3)


@with_setup
def test_set_item(td, raw):
    with nt.assert_raises(TypeError):
示例#3
0
from stolos import testing_tools as tt
from stolos import get_NS


def setup_qb(func_name):
    return ((),
            dict(
                app1=tt.makepath(func_name, 'app1'),
                app2=tt.makepath(func_name, 'app2'),
                app3=tt.makepath(func_name, 'app3'),
                app4=tt.makepath(func_name, 'app4'),
                item1="{}-{}".format(func_name, 'a'),
                item2="{}-{}".format(func_name, 'b'),
                item3="{}-{}".format(func_name, 'c'),
                item4="{}-{}".format(func_name, 'd'),
                item5="{}-{}".format(func_name, 'e'),
                item6="{}-{}".format(func_name, 'f'),
            ))


with_setup = tt.with_setup_factory(
    (
        tt.setup_job_ids,
        setup_qb,
    ), (tt.teardown_queue_backend, ),
    (tt.post_setup_queue_backend, lambda: dict(qbcli=get_NS().queue_backend)))

with_setup, setup_qb
示例#4
0
        app_name: REDIS_PREFIX % (func_name, app_name) for app_name in raw}
    td = RedisMapping()
    for app_name, app_conf in raw.items():
        td.cli.hmset(app_names[app_name], app_conf)
    return dict(
        cli=td.cli, raw=raw, td=td, **app_names)


def teardown_redis(raw, cli, func_name):
    assert cli.delete(
        *(REDIS_PREFIX % (func_name, app_name)
          for app_name in raw)), \
        "Oops did not clean up redis properly"


with_setup = tt.with_setup_factory(
    [setup_redis], [teardown_redis], [post_initialize])


@with_setup
def test_get_item(app1, td):
    with nt.assert_raises(KeyError):
        td['appNotExist']
    nt.assert_is_instance(td, RedisMapping)
    nt.assert_is_instance(td[app1], JSONMapping)
    nt.assert_is_instance(td[app1], JSONMapping)
    # are returned values of the correct type?
    nt.assert_equal(len(list(td[app1].keys())), 3)
    nt.assert_true(all(x in [3, 2, 'key1'] for x in td[app1].keys()))
    nt.assert_is_instance(
        td[app1][3], JSONSequence)
    nt.assert_equal(td[app1]['key1'], 1)
示例#5
0
        for app_name in raw
    }
    td = RedisMapping()
    for app_name, app_conf in raw.items():
        td.cli.hmset(app_names[app_name], app_conf)
    return dict(cli=td.cli, raw=raw, td=td, **app_names)


def teardown_redis(raw, cli, func_name):
    assert cli.delete(
        *(REDIS_PREFIX % (func_name, app_name)
          for app_name in raw)), \
        "Oops did not clean up redis properly"


with_setup = tt.with_setup_factory([setup_redis], [teardown_redis],
                                   [post_initialize])


@with_setup
def test_get_item(app1, td):
    with nt.assert_raises(KeyError):
        td['appNotExist']
    nt.assert_is_instance(td, RedisMapping)
    nt.assert_is_instance(td[app1], JSONMapping)
    nt.assert_is_instance(td[app1], JSONMapping)
    # are returned values of the correct type?
    nt.assert_equal(len(list(td[app1].keys())), 3)
    nt.assert_true(all(x in [3, 2, 'key1'] for x in td[app1].keys()))
    nt.assert_is_instance(td[app1][3], JSONSequence)
    nt.assert_equal(td[app1]['key1'], 1)
    nt.assert_equal(len(td[app1]), 3)
示例#6
0
文件: __init__.py 项目: kszucs/stolos
from stolos import testing_tools as tt
from stolos import get_NS


def setup_qb(func_name):
    return ((), dict(
        app1=tt.makepath(func_name, 'app1'),
        app2=tt.makepath(func_name, 'app2'),
        app3=tt.makepath(func_name, 'app3'),
        app4=tt.makepath(func_name, 'app4'),
        item1="{}-{}".format(func_name, 'a'),
        item2="{}-{}".format(func_name, 'b'),
        item3="{}-{}".format(func_name, 'c'),
        item4="{}-{}".format(func_name, 'd'),
        item5="{}-{}".format(func_name, 'e'),
        item6="{}-{}".format(func_name, 'f'),
    ))


with_setup = tt.with_setup_factory(
    (tt.setup_job_ids, setup_qb, ),
    (tt.teardown_queue_backend, ),
    (tt.post_setup_queue_backend,
     lambda: dict(qbcli=get_NS().queue_backend))
)


with_setup, setup_qb