fix: add end to end test for vision

This commit is contained in:
Stevan Freeborn
2024-07-19 21:31:49 -05:00
parent 3b47ed3fb4
commit b3d4ac3faa
3 changed files with 43 additions and 0 deletions
@@ -56,4 +56,41 @@ public class ClientTests(ConfigurationFixture configFixture) : EndToEndTest(conf
}
}
}
[Fact]
public async Task CreateMessageAsync_WhenImageIsSent_ItShouldReturnResponse()
{
var imagePath = Path.Combine(Directory.GetCurrentDirectory(), "Files", "elephant.jpg");
var mediaType = "image/jpeg";
var imageBytes = await File.ReadAllBytesAsync(imagePath);
var base64Image = Convert.ToBase64String(imageBytes);
var request = new MessageRequest(
model: AnthropicModels.Claude3Haiku,
messages: [
new(MessageRole.User, [
new ImageContent(mediaType, base64Image),
new TextContent("What is in this image?")
]),
]
);
var result = await _client.CreateMessageAsync(request);
result.IsSuccess.Should().BeTrue();
result.Value.Should().BeOfType<MessageResponse>();
result.Value.Content.Should().NotBeNullOrEmpty();
var text = result.Value.Content.Aggregate("", (acc, content) =>
{
if (content is TextContent textContent)
{
acc += textContent.Text;
}
return acc;
});
text.Should().Contain("elephant");
}
}