12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- from collections import Counter
- from typing import Any
- UNIT_TEST_PROJECT_ID = "prj_HqxHjwtn2uRtzR3DW6AmBYZh"
- UNIT_TEST_CLOUD_ID = "cld_4F7k8814aZzGG8TNUGPKnc"
- class UnitTestError(RuntimeError):
- pass
- def fail_always(*a, **kw):
- raise UnitTestError()
- def fail_once(result: Any):
- class _Failer:
- def __init__(self):
- self.failed = False
- def __call__(self, *args, **kwargs):
- if not self.failed:
- self.failed = True
- raise UnitTestError()
- return result
- return _Failer()
- class APIDict(dict):
- __slots__ = ()
- __getattr__ = dict.__getitem__
- __setattr__ = dict.__setattr__
- class MockSDK:
- def __init__(self):
- self.returns = {}
- self.call_counter = Counter()
- def reset(self):
- self.returns = {}
- self.call_counter = Counter()
- def __getattr__(self, item):
- self.call_counter[item] += 1
- result = self.returns.get(item)
- if callable(result):
- return result
- else:
- return lambda *a, **kw: result
|