self = <swh.storage.tests.test_api_client.TestStorage object at 0x7fc6374397f0>
swh_storage_backend_config = {'cls': 'local', 'db': 'postgresql://postgres@127.0.0.1:29649/tests', 'journal_writer': {'cls': 'memory'}, 'objstorage': {'args': {}, 'cls': 'memory'}}
def test_types(self, swh_storage_backend_config):
"""Checks all methods of StorageInterface are implemented by this
backend, and that they have the same signature."""
# Create an instance of the protocol (which cannot be instantiated
# directly, so this creates a subclass, then instantiates it)
interface = type("_", (StorageInterface,), {})()
storage = get_storage(**swh_storage_backend_config)
assert "content_add" in dir(interface)
missing_methods = []
for meth_name in dir(interface):
if meth_name.startswith("_"):
continue
interface_meth = getattr(interface, meth_name)
try:
concrete_meth = getattr(storage, meth_name)
except AttributeError:
if not getattr(interface_meth, "deprecated_endpoint", False):
# The backend is missing a (non-deprecated) endpoint
missing_methods.append(meth_name)
continue
expected_signature = inspect.signature(interface_meth)
actual_signature = inspect.signature(concrete_meth)
> assert expected_signature == actual_signature, meth_name
E AssertionError: origin_search
E assert <Signature (u....Origin, str]> == <Signature (u....Origin, str]>
E +<Signature (url_pattern: str, page_token: Union[str, NoneType] = None, limit: int = 50, regexp: bool = False, with_visit: bool = False) -> swh.core.api.classes.PagedResult[swh.model.model.Origin, str]>
E -<Signature (url_pattern, page_token: Union[str, NoneType] = None, limit: int = 50, regexp: bool = False, with_visit: bool = False) -> swh.core.api.classes.PagedResult[swh.model.model.Origin, str]>
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/test_storage.py:150: AssertionError
TEST RESULT
TEST RESULT
- Run At
- Jul 30 2020, 4:17 PM