Skip to content

nimgent/testing

This page is generated from the module’s exported API and ## documentation comments.

Deterministic provider for application tests.

Deterministic provider that returns scripted responses and records requests.

FakeProvider = ref object of Provider
responses*: seq[ProviderResponse]
requests*: seq[ProviderRequest]

View source

Create a simple provider response containing one text block.

proc textResponse(value: string; finishReason = frStop; usage = Usage()): ProviderResponse {.
raises: [], tags: [], forbids: [].}

Returns: ProviderResponse.

Name Type Default
value string
finishReason inferred frStop
usage inferred Usage()

View source

Create a model backed by a deterministic sequence of responses.

proc scriptedModel(responses: seq[ProviderResponse]; id = "test"): LanguageModel {.
raises: [ValueError, ProviderError], tags: [], forbids: [].}

Returns: LanguageModel.

Name Type Default
responses seq[ProviderResponse]
id inferred "test"

View source

Return the next scripted response and record the request.

method generateAsync(provider: FakeProvider; request: ProviderRequest): Future[
ProviderResponse] {.stackTrace: false, raises: [Exception, ValueError],
tags: [RootEffect], forbids: [].}

Returns: Future[ProviderResponse].

Name Type Default
provider FakeProvider
request ProviderRequest

View source