Skip to content

Commit 245624a

Browse files
author
Liudmila Molkova
committed
Fix tests
1 parent fcbefa2 commit 245624a

File tree

3 files changed

+38
-34
lines changed

3 files changed

+38
-34
lines changed

tests/Chat/ChatSmokeTests.cs

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -475,38 +475,4 @@ public void SerializeChatMessageContentPartAsImageBytes(bool fromRawJson)
475475
Assert.That(additionalPropertyProperty.ValueKind, Is.EqualTo(JsonValueKind.True));
476476
}
477477
}
478-
479-
[Test]
480-
[NonParallelizable]
481-
public async Task HelloWorldChatWithTracingAndMetrics()
482-
{
483-
using var _ = TestAppContextSwitchHelper.EnableOpenTelemetry();
484-
using TestActivityListener activityListener = new TestActivityListener("OpenAI.ChatClient");
485-
using TestMeterListener meterListener = new TestMeterListener("OpenAI.ChatClient");
486-
487-
ChatClient client = GetTestClient<ChatClient>(TestScenario.Chat);
488-
IEnumerable<ChatMessage> messages = [new UserChatMessage("Hello, world!")];
489-
ClientResult<ChatCompletion> result = IsAsync
490-
? await client.CompleteChatAsync(messages)
491-
: client.CompleteChat(messages);
492-
493-
Assert.AreEqual(1, activityListener.Activities.Count);
494-
TestActivityListener.ValidateChatActivity(activityListener.Activities.Single(), result.Value);
495-
496-
List<TestMeasurement> durations = meterListener.GetMeasurements("gen_ai.client.operation.duration");
497-
Assert.AreEqual(1, durations.Count);
498-
ValidateChatMetricTags(durations.Single(), result.Value);
499-
500-
List<TestMeasurement> usages = meterListener.GetMeasurements("gen_ai.client.token.usage");
501-
Assert.AreEqual(2, usages.Count);
502-
503-
Assert.True(usages[0].tags.TryGetValue("gen_ai.token.type", out var type));
504-
Assert.IsInstanceOf<string>(type);
505-
506-
TestMeasurement input = (type is "input") ? usages[0] : usages[1];
507-
TestMeasurement output = (type is "input") ? usages[1] : usages[0];
508-
509-
Assert.AreEqual(result.Value.Usage.InputTokens, input.value);
510-
Assert.AreEqual(result.Value.Usage.OutputTokens, output.value);
511-
}
512478
}

tests/Chat/ChatTests.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
22
using NUnit.Framework;
33
using OpenAI.Chat;
4+
using OpenAI.Tests.Telemetry;
45
using OpenAI.Tests.Utility;
56
using System;
67
using System.ClientModel;
@@ -12,6 +13,7 @@
1213
using System.Net;
1314
using System.Text.Json;
1415
using System.Threading.Tasks;
16+
using static OpenAI.Tests.Telemetry.TestMeterListener;
1517
using static OpenAI.Tests.TestHelpers;
1618

1719
namespace OpenAI.Tests.Chat;
@@ -334,4 +336,39 @@ public async Task JsonResult()
334336
Assert.That(greenProperty.GetString().ToLowerInvariant(), Contains.Substring("00ff00"));
335337
Assert.That(blueProperty.GetString().ToLowerInvariant(), Contains.Substring("0000ff"));
336338
}
339+
340+
341+
[Test]
342+
[NonParallelizable]
343+
public async Task HelloWorldChatWithTracingAndMetrics()
344+
{
345+
using var _ = TestAppContextSwitchHelper.EnableOpenTelemetry();
346+
using TestActivityListener activityListener = new TestActivityListener("OpenAI.ChatClient");
347+
using TestMeterListener meterListener = new TestMeterListener("OpenAI.ChatClient");
348+
349+
ChatClient client = GetTestClient<ChatClient>(TestScenario.Chat);
350+
IEnumerable<ChatMessage> messages = [new UserChatMessage("Hello, world!")];
351+
ClientResult<ChatCompletion> result = IsAsync
352+
? await client.CompleteChatAsync(messages)
353+
: client.CompleteChat(messages);
354+
355+
Assert.AreEqual(1, activityListener.Activities.Count);
356+
TestActivityListener.ValidateChatActivity(activityListener.Activities.Single(), result.Value);
357+
358+
List<TestMeasurement> durations = meterListener.GetMeasurements("gen_ai.client.operation.duration");
359+
Assert.AreEqual(1, durations.Count);
360+
ValidateChatMetricTags(durations.Single(), result.Value);
361+
362+
List<TestMeasurement> usages = meterListener.GetMeasurements("gen_ai.client.token.usage");
363+
Assert.AreEqual(2, usages.Count);
364+
365+
Assert.True(usages[0].tags.TryGetValue("gen_ai.token.type", out var type));
366+
Assert.IsInstanceOf<string>(type);
367+
368+
TestMeasurement input = (type is "input") ? usages[0] : usages[1];
369+
TestMeasurement output = (type is "input") ? usages[1] : usages[0];
370+
371+
Assert.AreEqual(result.Value.Usage.InputTokens, input.value);
372+
Assert.AreEqual(result.Value.Usage.OutputTokens, output.value);
373+
}
337374
}

tests/Telemetry/ChatTelemetryTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ namespace OpenAI.Tests.Telemetry;
1818

1919
[TestFixture]
2020
[NonParallelizable]
21+
[Category("Smoke")]
2122
public class ChatTelemetryTests
2223
{
2324
private const string RequestModel = "requestModel";

0 commit comments

Comments
 (0)