1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
"""
SoftLayer.transports.fixture
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixture transport, used for unit tests
:license: MIT, see LICENSE for more details.
"""
import importlib
class FixtureTransport(object):
"""Implements a transport which returns fixtures."""
def __call__(self, call):
"""Load fixture from the default fixture path."""
try:
module_path = 'SoftLayer.fixtures.%s' % call.service
module = importlib.import_module(module_path)
except ImportError as ex:
message = f'{call.service} fixture is not implemented'
raise NotImplementedError(message) from ex
try:
return getattr(module, call.method)
except AttributeError as ex:
message = f'{call.service}::{call.method} fixture is not implemented'
raise NotImplementedError(message) from ex
@staticmethod
def print_reproduceable(call):
"""Not Implemented"""
return call.service
|