corrected deadlineSetPerExport test (#1624)

This commit is contained in:
jarebudev 2020-09-07 17:40:37 +01:00 committed by GitHub
parent c3a893a88c
commit e38fafa610
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 5 deletions

View File

@ -123,8 +123,8 @@ class OtlpGrpcMetricExporterTest {
}
@Test
void testExport_DeadlineSetPerExport() throws InterruptedException {
int deadlineMs = 500;
void testExport_DeadlineSetPerExport() {
int deadlineMs = 1000;
OtlpGrpcMetricExporter exporter =
OtlpGrpcMetricExporter.newBuilder()
.setChannel(inProcessChannel)
@ -132,11 +132,11 @@ class OtlpGrpcMetricExporterTest {
.build();
try {
TimeUnit.MILLISECONDS.sleep(2 * deadlineMs);
fakeCollector.setCollectorDelay(2000);
assertThat(exporter.export(Collections.singletonList(generateFakeMetric())).isSuccess())
.isTrue();
.isFalse();
TimeUnit.MILLISECONDS.sleep(2 * deadlineMs);
fakeCollector.setCollectorDelay(0);
assertThat(exporter.export(Collections.singletonList(generateFakeMetric())).isSuccess())
.isTrue();
} finally {
@ -269,11 +269,22 @@ class OtlpGrpcMetricExporterTest {
private static final class FakeCollector extends MetricsServiceGrpc.MetricsServiceImplBase {
private final List<ResourceMetrics> receivedMetrics = new ArrayList<>();
private Status returnedStatus = Status.OK;
private long delayMs = 0;
@Override
public void export(
ExportMetricsServiceRequest request,
StreamObserver<ExportMetricsServiceResponse> responseObserver) {
if (delayMs > 0) {
try {
// add a delay to simulate export taking a long time
TimeUnit.MILLISECONDS.sleep(delayMs);
} catch (InterruptedException e) {
// do nothing
}
}
receivedMetrics.addAll(request.getResourceMetricsList());
responseObserver.onNext(ExportMetricsServiceResponse.newBuilder().build());
if (!returnedStatus.isOk()) {
@ -294,5 +305,9 @@ class OtlpGrpcMetricExporterTest {
void setReturnedStatus(Status returnedStatus) {
this.returnedStatus = returnedStatus;
}
void setCollectorDelay(long delayMs) {
this.delayMs = delayMs;
}
}
}