Mock the response for test_detect_ckan

pull/1336/head
Sol Lee 2024-03-25 08:58:34 +00:00
rodzic 7712751c8f
commit 1039d8dcb9
1 zmienionych plików z 12 dodań i 17 usunięć

Wyświetl plik

@ -2,28 +2,23 @@ import os
from contextlib import contextmanager from contextlib import contextmanager
from tempfile import NamedTemporaryFile, TemporaryDirectory from tempfile import NamedTemporaryFile, TemporaryDirectory
import pytest
from repo2docker.contentproviders import CKAN from repo2docker.contentproviders import CKAN
test_ckan = CKAN()
test_hosts = [ def test_detect_ckan(requests_mock):
( mock_response = {"result": {"metadata_modified": "2024-02-27T14:15:54.573058"}}
[ requests_mock.get("http://demo.ckan.org/api/3/action/status_show", status_code=200)
"http://demo.ckan.org/dataset/sample-dataset-1", requests_mock.get(
], "http://demo.ckan.org/api/3/action/package_show?id=1234", json=mock_response
{
"dataset_id": "sample-dataset-1",
"api_url": "http://demo.ckan.org/api/3/action/",
"version": "1707387710",
},
) )
]
expected = {
"dataset_id": "1234",
"api_url": "http://demo.ckan.org/api/3/action/",
"version": "1709043354",
}
@pytest.mark.parametrize("test_input, expected", test_hosts) assert CKAN().detect("http://demo.ckan.org/dataset/1234") == expected
def test_detect_ckan(test_input, expected):
assert CKAN().detect(test_input[0]) == expected
def test_detect_not_ckan(): def test_detect_not_ckan():