Skip to content

Commit 4213fb0

Browse files
committed
fix unrelated tests from emf exporter
1 parent 2fe7b93 commit 4213fb0

File tree

1 file changed

+33
-37
lines changed

1 file changed

+33
-37
lines changed

aws-distro-opentelemetry-node-autoinstrumentation/test/exporter/aws/metrics/aws-cloudwatch-emf-exporter.test.ts

Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ describe('TestAWSCloudWatchEMFExporter', () => {
425425
expect(() => JSON.stringify(result)).not.toThrow();
426426
});
427427

428-
it('TestExportSuccess', async () => {
428+
it('TestExportSuccess', done => {
429429
/* Test successful export. */
430430
// Mock CloudWatch Logs client
431431
sinon.stub(exporter['logClient'], 'sendLogEvent').resolves();
@@ -436,15 +436,13 @@ describe('TestAWSCloudWatchEMFExporter', () => {
436436
scopeMetrics: [],
437437
};
438438

439-
await new Promise<void>(resolve => {
440-
exporter.export(resourceMetricsData, result => {
441-
expect(result.code).toEqual(ExportResultCode.SUCCESS);
442-
resolve();
443-
});
439+
exporter.export(resourceMetricsData, result => {
440+
expect(result.code).toEqual(ExportResultCode.SUCCESS);
441+
done();
444442
});
445443
});
446444

447-
it('TestExportSuccessWithManyResourceMetrics', async () => {
445+
it('TestExportSuccessWithManyResourceMetrics', done => {
448446
/* Test successful export with many resource metrics. */
449447
// Mock CloudWatch Logs client
450448
sinon.stub(exporter['logClient'], 'sendLogEvent').resolves();
@@ -585,31 +583,31 @@ describe('TestAWSCloudWatchEMFExporter', () => {
585583
],
586584
};
587585

588-
await new Promise<void>(resolve => {
589-
exporter.export(resourceMetricsData, result => {
590-
expect(result.code).toEqual(ExportResultCode.SUCCESS);
591-
resolve();
592-
});
586+
exporter.export(resourceMetricsData, result => {
587+
expect(result.code).toEqual(ExportResultCode.SUCCESS);
588+
done();
593589
});
594590
});
595591

596-
it('TestExportFailure', async () => {
592+
it('TestExportFailure', done => {
597593
/* Test export failure handling. */
594+
// Suppress error logging to avoid async console output
595+
const diagErrorStub = sinon.stub(require('@opentelemetry/api').diag, 'error');
596+
598597
// Create metrics data that will cause an exception during iteration
599598
const metricsData: any = {
600599
resource: new Resource({}),
601600
scopeMetrics: [undefined], // will cause an error to throw
602601
};
603602

604-
await new Promise<void>(resolve => {
605-
exporter.export(metricsData, result => {
606-
expect(result.code).toEqual(ExportResultCode.FAILED);
607-
resolve();
608-
});
603+
exporter.export(metricsData, result => {
604+
expect(result.code).toEqual(ExportResultCode.FAILED);
605+
diagErrorStub.restore();
606+
done();
609607
});
610608
});
611609

612-
it('TestExportCallsSendLogBatchWithExpectedInput', async () => {
610+
it('TestExportCallsSendLogBatchWithExpectedInput', done => {
613611
const timeInSeconds = Math.round(Date.now() / 1000);
614612

615613
const resourceMetricsData: ResourceMetrics = {
@@ -659,24 +657,22 @@ describe('TestAWSCloudWatchEMFExporter', () => {
659657
const logClientSendLogBatchStub = sinon.stub(exporter['logClient'], 'sendLogBatch' as any);
660658
sinon.stub(exporter['logClient'], 'eventBatchExceedsLimit' as any).returns(true);
661659

662-
await new Promise<void>(resolve => {
663-
exporter.export(resourceMetricsData, result => {
664-
expect(result.code).toEqual(ExportResultCode.FAILED);
665-
666-
sinon.assert.calledThrice(logClientSendLogBatchStub);
667-
const call1Args = logClientSendLogBatchStub.getCall(0).args[0] as LogEventBatch;
668-
const call2Args = logClientSendLogBatchStub.getCall(1).args[0] as LogEventBatch;
669-
const call3Args = logClientSendLogBatchStub.getCall(2).args[0] as LogEventBatch;
670-
671-
expect(call1Args.logEvents.length).toEqual(0);
672-
expect(call2Args.logEvents[0].message).toMatch(
673-
/^\{"_aws":\{"Timestamp":\d+,"CloudWatchMetrics":\[\{"Namespace":"TestNamespace","Metrics":\[\{"Name":"descriptorName","Unit":"Milliseconds"\}\],"Dimensions":\[\["uniqueKey1"\]\]\}\]},"Version":"1","descriptorName":3,"uniqueKey1":"uniqueValue1"\}$/
674-
);
675-
expect(call3Args.logEvents[0].message).toMatch(
676-
/^\{"_aws":\{"Timestamp":\d+,"CloudWatchMetrics":\[\{"Namespace":"TestNamespace","Metrics":\[\{"Name":"descriptorName","Unit":"Milliseconds"\}\],"Dimensions":\[\["uniqueKey2"\]\]\}\]},"Version":"1","descriptorName":9,"uniqueKey2":"uniqueValue2"\}$/
677-
);
678-
resolve();
679-
});
660+
exporter.export(resourceMetricsData, result => {
661+
expect(result.code).toEqual(ExportResultCode.FAILED);
662+
663+
sinon.assert.calledThrice(logClientSendLogBatchStub);
664+
const call1Args = logClientSendLogBatchStub.getCall(0).args[0] as LogEventBatch;
665+
const call2Args = logClientSendLogBatchStub.getCall(1).args[0] as LogEventBatch;
666+
const call3Args = logClientSendLogBatchStub.getCall(2).args[0] as LogEventBatch;
667+
668+
expect(call1Args.logEvents.length).toEqual(0);
669+
expect(call2Args.logEvents[0].message).toMatch(
670+
/^\{"_aws":\{"Timestamp":\d+,"CloudWatchMetrics":\[\{"Namespace":"TestNamespace","Metrics":\[\{"Name":"descriptorName","Unit":"Milliseconds"\}\],"Dimensions":\[\["uniqueKey1"\]\]\}\]},"Version":"1","descriptorName":3,"uniqueKey1":"uniqueValue1"\}$/
671+
);
672+
expect(call3Args.logEvents[0].message).toMatch(
673+
/^\{"_aws":\{"Timestamp":\d+,"CloudWatchMetrics":\[\{"Namespace":"TestNamespace","Metrics":\[\{"Name":"descriptorName","Unit":"Milliseconds"\}\],"Dimensions":\[\["uniqueKey2"\]\]\}\]},"Version":"1","descriptorName":9,"uniqueKey2":"uniqueValue2"\}$/
674+
);
675+
done();
680676
});
681677
});
682678

0 commit comments

Comments
 (0)