Ejemplo n.º 1
0
def test_site_url_detector():
    db = MaigretDatabase()
    db.load_from_json(EXAMPLE_DB)

    assert (db.sites[0].url_regexp.pattern ==
            r'^https?://(www.)?forum\.amperka\.ru/members/\?username=(.+?)$')
    assert (db.sites[0].detect_username(
        'http://forum.amperka.ru/members/?username=test') == 'test')
Ejemplo n.º 2
0
def test_site_strip_engine_data():
    db = MaigretDatabase()
    db.load_from_json(EXAMPLE_DB)

    amperka = db.sites[0]
    amperka_stripped = amperka.strip_engine_data()

    assert amperka_stripped.json == EXAMPLE_DB['sites']['Amperka']
Ejemplo n.º 3
0
def test_site_json_dump():
    db = MaigretDatabase()
    db.load_from_json(EXAMPLE_DB)

    init_keys = EXAMPLE_DB['sites']['Amperka'].keys()
    # contains engine data
    obj_keys = db.sites[0].json.keys()

    assert set(init_keys).issubset(set(obj_keys))
Ejemplo n.º 4
0
def test_load_valid_db():
    db = MaigretDatabase()
    db.load_from_json(EXAMPLE_DB)

    assert len(db.sites) == 1
    assert len(db.engines) == 1

    assert db.sites[0].name == 'Amperka'
    assert db.engines[0].name == 'XenForo'
Ejemplo n.º 5
0
def test_site_strip_engine_data_with_site_prior_updates():
    db = MaigretDatabase()
    UPDATED_EXAMPLE_DB = dict(EXAMPLE_DB)
    UPDATED_EXAMPLE_DB['sites']['Amperka']['absenceStrs'] = ["test"]
    db.load_from_json(UPDATED_EXAMPLE_DB)

    amperka = db.sites[0]
    amperka_stripped = amperka.strip_engine_data()

    assert amperka_stripped.json == UPDATED_EXAMPLE_DB['sites']['Amperka']
Ejemplo n.º 6
0
def test_site_correct_initialization():
    db = MaigretDatabase()
    db.load_from_json(EXAMPLE_DB)

    xenforo = db.engines[0]
    assert xenforo.name == 'XenForo'
    assert xenforo.site['checkType'] == 'message'

    amperka = db.sites[0]
    assert amperka.name == 'Amperka'
    assert amperka.check_type == 'message'
Ejemplo n.º 7
0
def test_self_check_db_positive_disable():
    logger = Mock()
    db = MaigretDatabase()
    db.load_from_json(EXAMPLE_DB)

    assert db.sites[0].disabled == False

    loop = asyncio.get_event_loop()
    loop.run_until_complete(self_check(db, db.sites_dict, logger, silent=True))

    assert db.sites[0].disabled == True
Ejemplo n.º 8
0
def test_saving_site_error():
    db = MaigretDatabase()

    DB = dict(EXAMPLE_DB)
    DB['sites']['Amperka']['errors'] = {'error1': 'text1'}

    db.load_from_json(DB)

    amperka = db.sites[0]
    assert len(amperka.errors) == 2

    assert amperka.strip_engine_data().errors == {'error1': 'text1'}
    assert amperka.strip_engine_data().json['errors'] == {'error1': 'text1'}
Ejemplo n.º 9
0
def test_self_check_db_negative_enabled():
    logger = Mock()
    db = MaigretDatabase()
    db.load_from_json(EXAMPLE_DB)

    db.sites[0].disabled = False
    db.sites[0].username_claimed = 'Facebook'
    assert db.sites[0].disabled == False

    loop = asyncio.get_event_loop()
    loop.run_until_complete(self_check(db, db.sites_dict, logger, silent=True))

    assert db.sites[0].disabled == False