mirror of
https://github.com/soxoj/maigret.git
synced 2026-05-06 22:19:01 +00:00
134 lines
3.6 KiB
Python
134 lines
3.6 KiB
Python
"""Maigret main module test functions"""
|
|
import asyncio
|
|
|
|
import pytest
|
|
from mock import Mock
|
|
|
|
from maigret.maigret import self_check, maigret
|
|
from maigret.sites import MaigretSite
|
|
from maigret.result import QueryResult, QueryStatus
|
|
|
|
|
|
@pytest.mark.slow
|
|
def test_self_check_db_positive_disable(test_db):
|
|
logger = Mock()
|
|
assert test_db.sites[0].disabled is False
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(
|
|
self_check(test_db, test_db.sites_dict, logger, silent=True)
|
|
)
|
|
|
|
assert test_db.sites[0].disabled is True
|
|
|
|
|
|
@pytest.mark.slow
|
|
def test_self_check_db_positive_enable(test_db):
|
|
logger = Mock()
|
|
|
|
test_db.sites[0].disabled = True
|
|
test_db.sites[0].username_claimed = 'Facebook'
|
|
assert test_db.sites[0].disabled is True
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(
|
|
self_check(test_db, test_db.sites_dict, logger, silent=True)
|
|
)
|
|
|
|
assert test_db.sites[0].disabled is False
|
|
|
|
|
|
@pytest.mark.slow
|
|
def test_self_check_db_negative_disabled(test_db):
|
|
logger = Mock()
|
|
|
|
test_db.sites[0].disabled = True
|
|
assert test_db.sites[0].disabled is True
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(
|
|
self_check(test_db, test_db.sites_dict, logger, silent=True)
|
|
)
|
|
|
|
assert test_db.sites[0].disabled is True
|
|
|
|
|
|
@pytest.mark.slow
|
|
def test_self_check_db_negative_enabled(test_db):
|
|
logger = Mock()
|
|
|
|
test_db.sites[0].disabled = False
|
|
test_db.sites[0].username_claimed = 'Facebook'
|
|
assert test_db.sites[0].disabled is False
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(
|
|
self_check(test_db, test_db.sites_dict, logger, silent=True)
|
|
)
|
|
|
|
assert test_db.sites[0].disabled is False
|
|
|
|
|
|
@pytest.mark.slow
|
|
def test_maigret_results(test_db):
|
|
logger = Mock()
|
|
|
|
username = 'Facebook'
|
|
loop = asyncio.get_event_loop()
|
|
results = loop.run_until_complete(
|
|
maigret(username, site_dict=test_db.sites_dict, logger=logger, timeout=30)
|
|
)
|
|
|
|
assert isinstance(results, dict)
|
|
|
|
reddit_site = results['Reddit']['site']
|
|
assert isinstance(reddit_site, MaigretSite)
|
|
|
|
assert reddit_site.json == {
|
|
'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',
|
|
}
|
|
|
|
del results['Reddit']['site']
|
|
del results['GooglePlayStore']['site']
|
|
|
|
reddit_status = results['Reddit']['status']
|
|
assert isinstance(reddit_status, QueryResult)
|
|
assert reddit_status.status == QueryStatus.ILLEGAL
|
|
|
|
playstore_status = results['GooglePlayStore']['status']
|
|
assert isinstance(playstore_status, QueryResult)
|
|
assert playstore_status.status == QueryStatus.CLAIMED
|
|
|
|
del results['Reddit']['status']
|
|
del results['GooglePlayStore']['status']
|
|
|
|
assert results['Reddit'].get('future') is None
|
|
del results['GooglePlayStore']['future']
|
|
|
|
assert results == {
|
|
'Reddit': {
|
|
'cookies': None,
|
|
'parsing_enabled': False,
|
|
'url_main': 'https://www.reddit.com/',
|
|
'username': 'Facebook',
|
|
},
|
|
'GooglePlayStore': {
|
|
'cookies': None,
|
|
'http_status': 200,
|
|
'is_similar': False,
|
|
'parsing_enabled': False,
|
|
'rank': 1,
|
|
'url_main': 'https://play.google.com/store',
|
|
'url_user': 'https://play.google.com/store/apps/developer?id=Facebook',
|
|
'username': 'Facebook',
|
|
},
|
|
}
|