Skip to content

Commit a7d9b0a

Browse files
committed
Add waitAndAssertLogRecords to InstrumentationTestRunner
1 parent 3c8dab0 commit a7d9b0a

2 files changed

Lines changed: 22 additions & 17 deletions

File tree

testing-common/src/main/java/io/opentelemetry/instrumentation/testing/InstrumentationTestRunner.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
2020
import io.opentelemetry.sdk.logs.data.LogRecordData;
2121
import io.opentelemetry.sdk.metrics.data.MetricData;
22+
import io.opentelemetry.sdk.testing.assertj.LogRecordDataAssert;
2223
import io.opentelemetry.sdk.testing.assertj.MetricAssert;
2324
import io.opentelemetry.sdk.testing.assertj.TraceAssert;
2425
import io.opentelemetry.sdk.testing.assertj.TracesAssert;
@@ -31,6 +32,7 @@
3132
import java.util.Comparator;
3233
import java.util.HashMap;
3334
import java.util.HashSet;
35+
import java.util.Iterator;
3436
import java.util.List;
3537
import java.util.Map;
3638
import java.util.Set;
@@ -263,6 +265,24 @@ public final List<LogRecordData> waitForLogRecords(int numberOfLogRecords) {
263265
return getExportedLogRecords();
264266
}
265267

268+
@SafeVarargs
269+
@SuppressWarnings("varargs")
270+
public final void waitAndAssertLogRecords(Consumer<LogRecordDataAssert>... assertions) {
271+
waitAndAssertLogRecords(Arrays.asList(assertions));
272+
}
273+
274+
public final void waitAndAssertLogRecords(
275+
Iterable<? extends Consumer<LogRecordDataAssert>> assertions) {
276+
List<Consumer<LogRecordDataAssert>> assertionsList = new ArrayList<>();
277+
assertions.forEach(assertionsList::add);
278+
279+
List<LogRecordData> logRecordDataList = waitForLogRecords(assertionsList.size());
280+
Iterator<Consumer<LogRecordDataAssert>> assertionIterator = assertionsList.iterator();
281+
for (LogRecordData logRecordData : logRecordDataList) {
282+
assertionIterator.next().accept(assertThat(logRecordData));
283+
}
284+
}
285+
266286
private List<MetricData> instrumentationMetrics(String instrumentationName) {
267287
return getExportedMetrics().stream()
268288
.filter(m -> m.getInstrumentationScopeInfo().getName().equals(instrumentationName))

testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/InstrumentationExtension.java

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
package io.opentelemetry.instrumentation.testing.junit;
77

8-
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
9-
108
import io.opentelemetry.api.OpenTelemetry;
119
import io.opentelemetry.context.ContextStorage;
1210
import io.opentelemetry.instrumentation.testing.InstrumentationTestRunner;
@@ -21,10 +19,7 @@
2119
import io.opentelemetry.sdk.testing.assertj.MetricAssert;
2220
import io.opentelemetry.sdk.testing.assertj.TraceAssert;
2321
import io.opentelemetry.sdk.trace.data.SpanData;
24-
import java.util.ArrayList;
25-
import java.util.Arrays;
2622
import java.util.Comparator;
27-
import java.util.Iterator;
2823
import java.util.List;
2924
import java.util.function.Consumer;
3025
import org.assertj.core.api.ListAssert;
@@ -157,25 +152,15 @@ public final void waitAndAssertTraces(Iterable<? extends Consumer<TraceAssert>>
157152
testRunner.waitAndAssertTraces(assertions);
158153
}
159154

160-
private void doWaitAndAssertLogRecords(List<Consumer<LogRecordDataAssert>> assertions) {
161-
List<LogRecordData> logRecordDataList = waitForLogRecords(assertions.size());
162-
Iterator<Consumer<LogRecordDataAssert>> assertionIterator = assertions.iterator();
163-
for (LogRecordData logRecordData : logRecordDataList) {
164-
assertionIterator.next().accept(assertThat(logRecordData));
165-
}
166-
}
167-
168155
public final void waitAndAssertLogRecords(
169156
Iterable<? extends Consumer<LogRecordDataAssert>> assertions) {
170-
List<Consumer<LogRecordDataAssert>> assertionsList = new ArrayList<>();
171-
assertions.forEach(assertionsList::add);
172-
doWaitAndAssertLogRecords(assertionsList);
157+
testRunner.waitAndAssertLogRecords(assertions);
173158
}
174159

175160
@SafeVarargs
176161
@SuppressWarnings("varargs")
177162
public final void waitAndAssertLogRecords(Consumer<LogRecordDataAssert>... assertions) {
178-
doWaitAndAssertLogRecords(Arrays.asList(assertions));
163+
testRunner.waitAndAssertLogRecords(assertions);
179164
}
180165

181166
/**

0 commit comments

Comments
 (0)