from mock import Mock import pytest from maigret import search def site_result_except(server, username, **kwargs): query = f'id={username}' server.expect_request('/url', query_string=query).respond_with_data(**kwargs) @pytest.mark.slow @pytest.mark.asyncio async def test_checking_by_status_code(httpserver, local_test_db): sites_dict = local_test_db.sites_dict site_result_except(httpserver, 'claimed', status=200) site_result_except(httpserver, 'unclaimed', status=404) result = await search('claimed', site_dict=sites_dict, logger=Mock()) assert result['StatusCode']['status'].is_found() is True result = await search('unclaimed', site_dict=sites_dict, logger=Mock()) assert result['StatusCode']['status'].is_found() is False @pytest.mark.slow @pytest.mark.asyncio async def test_checking_by_message_positive_full(httpserver, local_test_db): sites_dict = local_test_db.sites_dict site_result_except(httpserver, 'claimed', response_data="user profile") site_result_except(httpserver, 'unclaimed', response_data="404 not found") result = await search('claimed', site_dict=sites_dict, logger=Mock()) assert result['Message']['status'].is_found() is True result = await search('unclaimed', site_dict=sites_dict, logger=Mock()) assert result['Message']['status'].is_found() is False @pytest.mark.slow @pytest.mark.asyncio async def test_checking_by_message_positive_part(httpserver, local_test_db): sites_dict = local_test_db.sites_dict site_result_except(httpserver, 'claimed', response_data="profile") site_result_except(httpserver, 'unclaimed', response_data="404") result = await search('claimed', site_dict=sites_dict, logger=Mock()) assert result['Message']['status'].is_found() is True result = await search('unclaimed', site_dict=sites_dict, logger=Mock()) assert result['Message']['status'].is_found() is False @pytest.mark.slow @pytest.mark.asyncio async def test_checking_by_message_negative(httpserver, local_test_db): sites_dict = local_test_db.sites_dict site_result_except(httpserver, 'claimed', response_data="") site_result_except(httpserver, 'unclaimed', response_data="user 404") result = await search('claimed', site_dict=sites_dict, logger=Mock()) assert result['Message']['status'].is_found() is False result = await search('unclaimed', site_dict=sites_dict, logger=Mock()) assert result['Message']['status'].is_found() is True