mirror of
https://github.com/soxoj/maigret.git
synced 2026-05-06 14:08:59 +00:00
107 lines
2.7 KiB
Python
107 lines
2.7 KiB
Python
"""Maigret main module test functions"""
|
|
import asyncio
|
|
|
|
import pytest
|
|
from mock import Mock
|
|
|
|
from maigret.maigret import self_check
|
|
from maigret.sites import MaigretDatabase
|
|
|
|
EXAMPLE_DB = {
|
|
'engines': {
|
|
},
|
|
'sites': {
|
|
"GooglePlayStore": {
|
|
"tags": [
|
|
"global",
|
|
"us"
|
|
],
|
|
"disabled": False,
|
|
"checkType": "status_code",
|
|
"alexaRank": 1,
|
|
"url": "https://play.google.com/store/apps/developer?id={username}",
|
|
"urlMain": "https://play.google.com/store",
|
|
"usernameClaimed": "Facebook_nosuchname",
|
|
"usernameUnclaimed": "noonewouldeverusethis7"
|
|
},
|
|
"Reddit": {
|
|
"tags": [
|
|
"news",
|
|
"social",
|
|
"us"
|
|
],
|
|
"checkType": "status_code",
|
|
"presenseStrs": [
|
|
"totalKarma"
|
|
],
|
|
"disabled": True,
|
|
"alexaRank": 17,
|
|
"url": "https://www.reddit.com/user/{username}",
|
|
"urlMain": "https://www.reddit.com/",
|
|
"usernameClaimed": "blue",
|
|
"usernameUnclaimed": "noonewouldeverusethis7"
|
|
},
|
|
}
|
|
}
|
|
|
|
|
|
@pytest.mark.slow
|
|
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
|
|
|
|
|
|
@pytest.mark.slow
|
|
def test_self_check_db_positive_enable():
|
|
logger = Mock()
|
|
db = MaigretDatabase()
|
|
db.load_from_json(EXAMPLE_DB)
|
|
|
|
db.sites[0].disabled = True
|
|
db.sites[0].username_claimed = 'Facebook'
|
|
assert db.sites[0].disabled == True
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(self_check(db, db.sites_dict, logger, silent=True))
|
|
|
|
assert db.sites[0].disabled == False
|
|
|
|
|
|
@pytest.mark.slow
|
|
def test_self_check_db_negative_disabled():
|
|
logger = Mock()
|
|
db = MaigretDatabase()
|
|
db.load_from_json(EXAMPLE_DB)
|
|
|
|
db.sites[0].disabled = True
|
|
assert db.sites[0].disabled == True
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(self_check(db, db.sites_dict, logger, silent=True))
|
|
|
|
assert db.sites[0].disabled == True
|
|
|
|
|
|
@pytest.mark.slow
|
|
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
|