def test_requests_timeout(): # timeouts are weird on python 2...just skip it... if sys.version_info[0] < 3: return class MyTimeoutError(Exception): pass logger = logging.getLogger("test_requests_timeout") timeout = 1e-100 loops = 1000 client = Client(VERIFY_WEBUI_CERTIFICATE=False) with pytest.raises(MyTimeoutError): try: for _ in range(loops): client.torrents_info(requests_args={"timeout": timeout}) except exceptions.APIConnectionError as exp: logger.error("%r", exp) if "ReadTimeoutError" in str(exp) or "RemoteDisconnected" in str( exp): raise MyTimeoutError client = Client(VERIFY_WEBUI_CERTIFICATE=False, REQUESTS_ARGS={"timeout": timeout}) with pytest.raises(MyTimeoutError): try: for _ in range(loops): client.torrents_info() except exceptions.APIConnectionError as exp: logger.error("%r", exp) if "ReadTimeoutError" in str(exp) or "RemoteDisconnected" in str( exp): raise MyTimeoutError
def test_simple_response(client, orig_torrent): torrent = client.torrents_info()[0] assert isinstance(torrent, TorrentDictionary) torrent = client.torrents_info(SIMPLE_RESPONSE=True)[0] assert isinstance(torrent, dict) torrent = client.torrents_info(SIMPLE_RESPONSES=True)[0] assert isinstance(torrent, dict) torrent = client.torrents_info(SIMPLE_RESPONSE=False)[0] assert isinstance(torrent, TorrentDictionary) torrent = client.torrents_info(SIMPLE_RESPONSES=False)[0] assert isinstance(torrent, TorrentDictionary) client = Client(VERIFY_WEBUI_CERTIFICATE=False, SIMPLE_RESPONSES=True) torrent = client.torrents_info()[0] assert isinstance(torrent, dict) client = Client(VERIFY_WEBUI_CERTIFICATE=False, SIMPLE_RESPONSES=False) torrent = client.torrents_info()[0] assert isinstance(torrent, TorrentDictionary)
def pytest_sessionfinish(session, exitstatus): try: if 'TRAVIS' not in environ: client = Client() # remove all torrents for torrent in client.torrents_info(): client.torrents_delete(delete_files=True, torrent_hashes=torrent.hash) except: pass
def pytest_sessionfinish(session, exitstatus): try: if environ.get("CI") != "true": client = Client() # remove all torrents for torrent in client.torrents_info(): client.torrents_delete(delete_files=True, torrent_hashes=torrent.hash) except: pass