| | import os |
| | from urllib.error import HTTPError |
| |
|
| | import pytest |
| | from socceraction.data.base import ( |
| | _auth_remoteloadjson, |
| | _has_auth, |
| | _localloadjson, |
| | _remoteloadjson, |
| | ) |
| |
|
| |
|
| | def test_load_json_from_url() -> None: |
| | url = "https://raw.githubusercontent.com/statsbomb/open-data/master/data/events/15946.json" |
| | result = _remoteloadjson(url) |
| | assert isinstance(result, list) |
| | assert isinstance(result[0], dict) |
| |
|
| |
|
| | def test_has_auth() -> None: |
| | assert not _has_auth({}) |
| | assert not _has_auth({"user": "", "passwd": "test_passwd"}) |
| | assert not _has_auth({"user": "test_user"}) |
| | assert not _has_auth({"passwd": "test_passwd"}) |
| | assert _has_auth({"user": "test_user", "passwd": "test_passwd"}) |
| |
|
| |
|
| | def test_load_json_from_url_with_auth() -> None: |
| | |
| | user = "test_user" |
| | passwd = "test_passwd" |
| | url = f"http://httpbin.org/basic-auth/{user}/{passwd}" |
| | |
| | _auth_remoteloadjson(user, passwd) |
| | |
| | try: |
| | result = _remoteloadjson(url) |
| | assert isinstance(result, dict) |
| | assert result.get("authenticated") is True |
| | except HTTPError as e: |
| | if e.code == 504: |
| | pytest.skip("httpbin.org is down or too slow") |
| |
|
| |
|
| | def test_load_json_from_file() -> None: |
| | data_dir = os.path.join(os.path.dirname(__file__), os.pardir, "datasets", "statsbomb", "raw") |
| | result = _localloadjson(os.path.join(data_dir, "events", "15946.json")) |
| | assert isinstance(result, list) |
| | assert isinstance(result[0], dict) |
| |
|