roboto.testing
Public testing utilities.
Submodules
Package Contents
FakeHttpResponseFactory
class roboto. testing. FakeHttpResponseFactory(url='https://test.roboto.ai', response_data='{}', status_code=200, headers=None)#View Source
A factory for creating fake HTTP responses, for use with the roboto.http.HttpClient.
Usage
import contextlib
import unittest.mock
from roboto.http import HttpClient, FakeHttpResponseFactory
mock_http_client = unittest.mock.create_autospec(HttpClient, instance=True)
with contextlib.ExitStack() as stack:
http_get_mock = stack.enter_context(unittest.mock.patch.object(mock_http_client, "get"))
http_get_mock.side_effect = FakeHttpResponseFactory(
"https://example.com",
{"foo": "bar"},
status_code=200,
headers={"Content-Type": "application/json"},
)Parameters
url strresponse_data Anystatus_code intheaders Optional[dict[str, str]]StubRobotoClient
Bases: roboto.http.RobotoClient
A stub RobotoClient for unit testing that returns pre-configured responses for expected requests.
Usage
from roboto_test_utils import StubRobotoClient
from roboto.domain.datasets import Dataset, DatasetRecord
from roboto.time import utcnow
client = StubRobotoClient()
client.expect_get(
"/v1/datasets/ds_123",
response=DatasetRecord(
dataset_id="ds_123",
created=utcnow(),
created_by="test@example.com",
modified=utcnow(),
modified_by="test@example.com",
org_id="og_test",
),
)
dataset = Dataset.from_id("ds_123", roboto_client=client)
assert dataset.dataset_id == "ds_123"StubRobotoClient.delete()
delete(path, caller_org_id=None, data=None, headers=None, idempotent=True, owner_org_id=None, query=None, retry_wait_fn=None, timeout=None)#View Source
Parameters
path collections.caller_org_id Optional[str]data Anyheaders Optional[dict[str, str]]idempotent boolowner_org_id Optional[str]query Optional[dict[str, Any]]retry_wait_fn Optional[Any]timeout AnyReturn type
StubRobotoClient.expect_delete()
Parameters
path strresponse StubResponsequery Optional[dict[str, Any]]request_body_matcher Optional[RequestBodyMatcher]Return type
StubRobotoClient.expect_get()
Parameters
Return type
StubRobotoClient.expect_patch()
Parameters
path strresponse StubResponsequery Optional[dict[str, Any]]request_body_matcher Optional[RequestBodyMatcher]Return type
StubRobotoClient.expect_post()
Parameters
path strresponse StubResponsequery Optional[dict[str, Any]]request_body_matcher Optional[RequestBodyMatcher]Return type
StubRobotoClient.expect_put()
Parameters
path strresponse StubResponsequery Optional[dict[str, Any]]request_body_matcher Optional[RequestBodyMatcher]Return type
StubRobotoClient.get()
get(path, caller_org_id=None, headers=None, idempotent=True, owner_org_id=None, query=None, retry_wait_fn=None, timeout=None)#View Source
Parameters
path collections.caller_org_id Optional[str]headers Optional[dict[str, str]]idempotent boolowner_org_id Optional[str]query Optional[dict[str, Any]]retry_wait_fn Optional[Any]timeout AnyReturn type
StubRobotoClient.patch()
patch(path, caller_org_id=None, data=None, headers=None, idempotent=True, owner_org_id=None, query=None, retry_wait_fn=None, timeout=None)#View Source
Parameters
path collections.caller_org_id Optional[str]data Anyheaders Optional[dict[str, str]]idempotent boolowner_org_id Optional[str]query Optional[dict[str, Any]]retry_wait_fn Optional[Any]timeout AnyReturn type
StubRobotoClient.post()
post(path, caller_org_id=None, data=None, headers=None, idempotent=True, owner_org_id=None, query=None, retry_wait_fn=None, timeout=None)#View Source
Parameters
path collections.caller_org_id Optional[str]data Anyheaders Optional[dict[str, str]]idempotent boolowner_org_id Optional[str]query Optional[dict[str, Any]]retry_wait_fn Optional[Any]timeout AnyReturn type
StubRobotoClient.put()
put(path, caller_org_id=None, data=None, headers=None, idempotent=True, owner_org_id=None, query=None, retry_wait_fn=None, timeout=None)#View Source
Parameters
path collections.caller_org_id Optional[str]data Anyheaders Optional[dict[str, str]]idempotent boolowner_org_id Optional[str]query Optional[dict[str, Any]]retry_wait_fn Optional[Any]timeout AnyReturn type
StubRobotoClient.verify_no_pending_expectations()
Verify that all registered expectations have been consumed.
Raises
AssertionErrorIf there are any pending expectations that were not consumed.
Return type
None