|
3 | 3 | import static org.hamcrest.MatcherAssert.assertThat; |
4 | 4 | import static org.hamcrest.Matchers.containsInAnyOrder; |
5 | 5 | import static org.hamcrest.Matchers.containsString; |
| 6 | +import static org.hamcrest.Matchers.empty; |
6 | 7 | import static org.hamcrest.Matchers.greaterThanOrEqualTo; |
7 | 8 | import static org.hamcrest.Matchers.is; |
8 | 9 | import static org.hamcrest.Matchers.notNullValue; |
@@ -82,6 +83,13 @@ private List<String> warnings() { |
82 | 83 | .collect(Collectors.toList()); |
83 | 84 | } |
84 | 85 |
|
| 86 | + private List<String> debugs() { |
| 87 | + return logCapture.getMessages().stream() |
| 88 | + .filter(m -> m.getLevel() == LDLogLevel.DEBUG) |
| 89 | + .map(LogCapture.Message::getText) |
| 90 | + .collect(Collectors.toList()); |
| 91 | + } |
| 92 | + |
85 | 93 | private LDValue baseExpectedData() { |
86 | 94 | return LDValue.buildObject() |
87 | 95 | .put("runId", RUN_ID) |
@@ -172,10 +180,11 @@ public void trackDurationAtMostOnce() { |
172 | 180 | } |
173 | 181 |
|
174 | 182 | @Test |
175 | | - public void trackDurationNullIsIgnoredWithWarning() { |
| 183 | + public void trackDurationNullIsIgnoredWithDebugLog() { |
176 | 184 | tracker.trackDuration(null); |
177 | 185 | verify(client, never()).trackMetric(eq("$ld:ai:duration:total"), any(), any(), anyDouble()); |
178 | | - assertThat(warnings().size(), greaterThanOrEqualTo(1)); |
| 186 | + assertThat(debugs().size(), greaterThanOrEqualTo(1)); |
| 187 | + assertThat(warnings(), is(empty())); |
179 | 188 | } |
180 | 189 |
|
181 | 190 | // ---- trackDurationOf ------------------------------------------------------ |
@@ -215,10 +224,11 @@ public void trackTimeToFirstTokenAtMostOnce() { |
215 | 224 | } |
216 | 225 |
|
217 | 226 | @Test |
218 | | - public void trackTimeToFirstTokenNullIsIgnoredWithWarning() { |
| 227 | + public void trackTimeToFirstTokenNullIsIgnoredWithDebugLog() { |
219 | 228 | tracker.trackTimeToFirstToken(null); |
220 | 229 | verify(client, never()).trackMetric(eq("$ld:ai:tokens:ttf"), any(), any(), anyDouble()); |
221 | | - assertThat(warnings().size(), greaterThanOrEqualTo(1)); |
| 230 | + assertThat(debugs().size(), greaterThanOrEqualTo(1)); |
| 231 | + assertThat(warnings(), is(empty())); |
222 | 232 | } |
223 | 233 |
|
224 | 234 | // ---- trackSuccess / trackError -------------------------------------------- |
@@ -299,9 +309,10 @@ public void trackFeedbackAtMostOnce() { |
299 | 309 | } |
300 | 310 |
|
301 | 311 | @Test |
302 | | - public void trackFeedbackNullIsIgnoredWithWarning_slotNotBurned() { |
| 312 | + public void trackFeedbackNullIsIgnoredWithDebugLog_slotNotBurned() { |
303 | 313 | tracker.trackFeedback(null); |
304 | | - assertThat(warnings().size(), greaterThanOrEqualTo(1)); |
| 314 | + assertThat(debugs().size(), greaterThanOrEqualTo(1)); |
| 315 | + assertThat(warnings(), is(empty())); |
305 | 316 | // Slot should not be burned — a subsequent valid call should still work |
306 | 317 | tracker.trackFeedback(FeedbackKind.POSITIVE); |
307 | 318 | verify(client, times(1)).trackMetric(eq("$ld:ai:feedback:user:positive"), any(), any(), anyDouble()); |
@@ -342,10 +353,11 @@ public void trackTokensAtMostOnce() { |
342 | 353 | } |
343 | 354 |
|
344 | 355 | @Test |
345 | | - public void trackTokensNullIsIgnoredWithWarning() { |
| 356 | + public void trackTokensNullIsIgnoredWithDebugLog() { |
346 | 357 | tracker.trackTokens(null); |
347 | 358 | verify(client, never()).trackMetric(eq("$ld:ai:tokens:total"), any(), any(), anyDouble()); |
348 | | - assertThat(warnings().size(), greaterThanOrEqualTo(1)); |
| 359 | + assertThat(debugs().size(), greaterThanOrEqualTo(1)); |
| 360 | + assertThat(warnings(), is(empty())); |
349 | 361 | } |
350 | 362 |
|
351 | 363 | // ---- trackToolCall -------------------------------------------------------- |
@@ -382,10 +394,11 @@ public void trackToolCallsDelegate() { |
382 | 394 | } |
383 | 395 |
|
384 | 396 | @Test |
385 | | - public void trackToolCallNullIsIgnoredWithWarning() { |
| 397 | + public void trackToolCallNullIsIgnoredWithDebugLog() { |
386 | 398 | tracker.trackToolCall(null); |
387 | 399 | verify(client, never()).trackMetric(eq("$ld:ai:tool_call"), any(), any(), anyDouble()); |
388 | | - assertThat(warnings().size(), greaterThanOrEqualTo(1)); |
| 400 | + assertThat(debugs().size(), greaterThanOrEqualTo(1)); |
| 401 | + assertThat(warnings(), is(empty())); |
389 | 402 | } |
390 | 403 |
|
391 | 404 | // ---- trackJudgeResult ----------------------------------------------------- |
@@ -470,9 +483,10 @@ public void trackJudgeResultIsNotAtMostOnce() { |
470 | 483 | } |
471 | 484 |
|
472 | 485 | @Test |
473 | | - public void trackJudgeResultNullIsIgnoredWithWarning() { |
| 486 | + public void trackJudgeResultNullIsIgnoredWithDebugLog() { |
474 | 487 | tracker.trackJudgeResult(null); |
475 | | - assertThat(warnings().size(), greaterThanOrEqualTo(1)); |
| 488 | + assertThat(debugs().size(), greaterThanOrEqualTo(1)); |
| 489 | + assertThat(warnings(), is(empty())); |
476 | 490 | } |
477 | 491 |
|
478 | 492 | // ---- trackMetricsOf ------------------------------------------------------- |
|
0 commit comments