| File: OpenAIImageGeneratorTests.cs | Web Access |
| Project: src\test\Libraries\Microsoft.Extensions.AI.OpenAI.Tests\Microsoft.Extensions.AI.OpenAI.Tests.csproj (Microsoft.Extensions.AI.OpenAI.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.ClientModel; using OpenAI; using OpenAI.Images; using Xunit; namespace Microsoft.Extensions.AI; public class OpenAIImageGeneratorTests { [Fact] public void AsIImageGenerator_InvalidArgs_Throws() { Assert.Throws<ArgumentNullException>("imageClient", () => ((ImageClient)null!).AsIImageGenerator()); } [Fact] public void AsIImageGenerator_OpenAIClient_ProducesExpectedMetadata() { Uri endpoint = new("http://localhost/some/endpoint"); string model = "dall-e-3"; var client = new OpenAIClient(new ApiKeyCredential("key"), new OpenAIClientOptions { Endpoint = endpoint }); IImageGenerator imageClient = client.GetImageClient(model).AsIImageGenerator(); var metadata = imageClient.GetService<ImageGeneratorMetadata>(); Assert.Equal(endpoint, metadata?.ProviderUri); Assert.Equal(model, metadata?.DefaultModelId); } [Fact] public void GetService_ReturnsExpectedServices() { var client = new OpenAIClient(new ApiKeyCredential("key")); IImageGenerator imageClient = client.GetImageClient("dall-e-3").AsIImageGenerator(); Assert.Same(imageClient, imageClient.GetService<IImageGenerator>()); Assert.Same(imageClient, imageClient.GetService<object>()); Assert.NotNull(imageClient.GetService<ImageGeneratorMetadata>()); Assert.NotNull(imageClient.GetService<ImageClient>()); } }