Skip to content

Commit

Permalink
#150: Add test to ensure all required abstract methods are present f…
Browse files Browse the repository at this point in the history
…or Backend
  • Loading branch information
MRichards99 committed Dec 4, 2020
1 parent 97bf1a4 commit f5c4558
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions test/test_backends.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pytest

from datagateway_api.common.backend import Backend
from datagateway_api.common.backends import create_backend
from datagateway_api.common.database.backend import DatabaseBackend
from datagateway_api.common.icat.backend import PythonICATBackend
Expand All @@ -17,3 +18,58 @@ def test_backend_creation(self, backend_name, backend_type):
test_backend = create_backend(backend_name)

assert type(test_backend) == backend_type

def test_abstract_class(self):
"""Test the `Backend` abstract class has all the required classes for the API"""
Backend.__abstractmethods__ = set()

class DummyBackend(Backend):
pass

d = DummyBackend()

credentials = "credentials"
session_id = "session_id"
entity_type = "entity_type"
filters = "filters"
data = "data"
instrument_id = "instrument_id"
facilitycycle_id = "facilitycycle_id"
id_ = "id_"

assert d.login(credentials) is None
assert d.get_session_details(session_id) is None
assert d.refresh(session_id) is None
assert d.logout(session_id) is None
assert d.get_with_filters(session_id, entity_type, filters) is None
assert d.create(session_id, entity_type, data) is None
assert d.update(session_id, entity_type, data) is None
assert d.get_one_with_filters(session_id, entity_type, filters) is None
assert d.count_with_filters(session_id, entity_type, filters) is None
assert d.get_with_id(session_id, entity_type, id_) is None
assert d.delete_with_id(session_id, entity_type, id_) is None
assert d.update_with_id(session_id, entity_type, id_, data) is None
assert (
d.get_facility_cycles_for_instrument_with_filters(
session_id, instrument_id, filters,
)
is None
)
assert (
d.get_facility_cycles_for_instrument_count_with_filters(
session_id, instrument_id, filters,
)
is None
)
assert (
d.get_investigations_for_instrument_facility_cycle_with_filters(
session_id, instrument_id, facilitycycle_id, filters,
)
is None
)
assert (
d.get_investigation_count_instrument_facility_cycle_with_filters(
session_id, instrument_id, facilitycycle_id, filters,
)
is None
)

0 comments on commit f5c4558

Please sign in to comment.