2024-06-27 23:26:53 -05:00
|
|
|
namespace AnthropicClient.Tests.EndToEnd;
|
|
|
|
|
|
|
|
|
|
public class ClientTests(
|
|
|
|
|
HttpClientFixture httpClientFixture,
|
|
|
|
|
ConfigurationFixture configFixture
|
|
|
|
|
) : EndToEndTest(httpClientFixture, configFixture)
|
|
|
|
|
{
|
|
|
|
|
[Fact]
|
|
|
|
|
public async Task CreateChatMessage_WhenCalled_ShouldReturnChatResponse()
|
|
|
|
|
{
|
|
|
|
|
var request = new ChatMessageRequest(
|
|
|
|
|
model: AnthropicModels.Claude3Haiku,
|
|
|
|
|
messages: [new(MessageRole.User, [new TextContent("Hello!")])]
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
var result = await _client.CreateChatMessageAsync(request);
|
|
|
|
|
|
|
|
|
|
result.IsSuccess.Should().BeTrue();
|
|
|
|
|
result.Value.Should().BeOfType<ChatResponse>();
|
|
|
|
|
}
|
2024-06-28 10:54:00 -05:00
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public async Task CreateChatMessage_WhenCalledWithStreamRequest_IteratesOverChatResponse()
|
|
|
|
|
{
|
|
|
|
|
var request = new StreamChatMessageRequest(
|
|
|
|
|
model: AnthropicModels.Claude3Haiku,
|
|
|
|
|
messages: [new(MessageRole.User, [new TextContent("Hello!")])]
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
var response = _client.CreateChatMessageAsync(request);
|
|
|
|
|
|
|
|
|
|
var events = new List<AnthropicEvent>();
|
|
|
|
|
|
|
|
|
|
await foreach (var e in response)
|
|
|
|
|
{
|
|
|
|
|
events.Add(e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
events.Should().NotBeEmpty();
|
|
|
|
|
}
|
2024-06-27 23:26:53 -05:00
|
|
|
}
|