chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
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
|
||||
Reference in New Issue
Block a user