nemoguardrails.testing.http

View as Markdown

Deterministic HTTP test doubles for NeMo Guardrails applications.

Module Contents

Classes

NameDescription
RecordingHTTPClientRecord requests and return queued responses or exceptions in order.

Data

__all__

API

class nemoguardrails.testing.http.RecordingHTTPClient(
responses: collections.abc.Iterable[nemoguardrails.http.types.HTTPResponse | BaseException] = ()
)

Record requests and return queued responses or exceptions in order.

_responses
= deque(responses)
close_calls
= 0
requests
list[HTTPRequest] = []
nemoguardrails.testing.http.RecordingHTTPClient.add_response(
response: nemoguardrails.http.types.HTTPResponse | BaseException
) -> None
nemoguardrails.testing.http.RecordingHTTPClient.close() -> None
async

Record a close call without discarding captured requests.

nemoguardrails.testing.http.RecordingHTTPClient.request(
method: str,
url: str,
headers: typing.Mapping[str, str] | None = None,
params: typing.Mapping[str, typing.Any] | None = None,
json: typing.Any = None,
content: bytes | str | None = None,
timeout: float | None = None
) -> nemoguardrails.http.types.HTTPResponse
async

Record a request and consume the next queued result.

Raises:

  • RuntimeError: If no queued result is available.
  • BaseException: The queued exception, when the next result is an exception instance.
nemoguardrails.testing.http.__all__ = ['RecordingHTTPClient']