Skip to content

Commit df68c3e

Browse files
authored
[Azure Monitor Exporter] Separate tests into internal and public folders (Azure#15932)
* [Monitor Exporter] Separate tests into internal and public folders * fix build * put tests in internal * prettier * console log for testing * testing * format * console * try flush processor * format * remove console logs
1 parent ec4abba commit df68c3e

File tree

13 files changed

+75
-66
lines changed

13 files changed

+75
-66
lines changed

sdk/monitor/monitor-opentelemetry-exporter/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
"test:node": "npm run unit-test:node",
2424
"test:browser": "npm run unit-test:browser",
2525
"unit-test:browser": "echo skipped",
26-
"unit-test:node": "nyc mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/unit/**/*.test.ts\"",
27-
"unit-test:node:debug": "nyc mocha --inspect-brk -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/unit/**/*.test.ts\"",
26+
"unit-test:node": "nyc mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/internal/**/*.test.ts\"",
27+
"unit-test:node:debug": "nyc mocha --inspect-brk -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/internal/**/*.test.ts\"",
2828
"unit-test:node:no-timeout": "echo skipped",
2929
"unit-test": "npm run unit-test:node && npm run unit-test:browser",
30-
"functional-test": "nyc mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/functional/**/*.test.ts\"",
30+
"functional-test": "nyc mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/internal/functional/*.test.ts\"",
3131
"integration-test:browser": "echo skipped",
3232
"integration-test:node": "npm run functional-test",
3333
"integration-test": "npm run integration-test:node && npm run integration-test:browser",

sdk/monitor/monitor-opentelemetry-exporter/test/unit/utils/connectionStringParser.test.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/internal/connectionStringParser.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// Licensed under the MIT license.
33

44
import * as assert from "assert";
5-
import * as Constants from "../../../src/Declarations/Constants";
6-
import { ConnectionStringParser } from "../../../src/utils/connectionStringParser";
5+
import * as Constants from "../../src/Declarations/Constants";
6+
import { ConnectionStringParser } from "../../src/utils/connectionStringParser";
77

88
describe("ConnectionStringParser", () => {
99
describe("#parse()", () => {

sdk/monitor/monitor-opentelemetry-exporter/test/unit/utils/eventhub.test.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/internal/eventhub.test.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@ import { SpanAttributes, HrTime, SpanContext, SpanKind, ROOT_CONTEXT } from "@op
55
import { timeInputToHrTime } from "@opentelemetry/core";
66
import { BasicTracerProvider, Span } from "@opentelemetry/tracing";
77
import * as assert from "assert";
8-
import {
9-
ENQUEUED_TIME,
10-
TIME_SINCE_ENQUEUED
11-
} from "../../../src/utils/constants/applicationinsights";
8+
import { ENQUEUED_TIME, TIME_SINCE_ENQUEUED } from "../../src/utils/constants/applicationinsights";
129
import {
1310
AzNamespace,
1411
MessageBusDestination,
1512
MicrosoftEventHub
16-
} from "../../../src/utils/constants/span/azAttributes";
17-
import { parseEventHubSpan } from "../../../src/utils/eventhub";
18-
import { RemoteDependencyData, TelemetryItem as Envelope } from "../../../src/generated";
13+
} from "../../src/utils/constants/span/azAttributes";
14+
import { parseEventHubSpan } from "../../src/utils/eventhub";
15+
import { RemoteDependencyData, TelemetryItem as Envelope } from "../../src/generated";
1916

2017
const tracer = new BasicTracerProvider().getTracer("default");
2118

sdk/monitor/monitor-opentelemetry-exporter/test/unit/platform/nodejs/persist/fileSystemPersist.test.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/internal/fileSystemPersist.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import * as assert from "assert";
55
import * as fs from "fs";
66
import * as os from "os";
77
import * as path from "path";
8-
import { FileSystemPersist } from "../../../../../src/platform/nodejs/persist/fileSystemPersist";
9-
import { TelemetryItem as Envelope } from "../../../../../src/generated";
8+
import { FileSystemPersist } from "../../src/platform/nodejs/persist/fileSystemPersist";
9+
import { TelemetryItem as Envelope } from "../../src/generated";
1010
import { promisify } from "util";
1111

1212
const statAsync = promisify(fs.stat);

sdk/monitor/monitor-opentelemetry-exporter/test/functional/trace.test.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/internal/functional/trace.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT license.
33

4-
import { assertCount, assertExpectation } from "../common/assert";
5-
import { BasicScenario } from "../common/scenario/basic";
6-
import { DEFAULT_BREEZE_ENDPOINT } from "../../src/Declarations/Constants";
4+
import { assertCount, assertExpectation } from "../../utils/assert";
5+
import { BasicScenario } from "../../utils/basic";
6+
import { DEFAULT_BREEZE_ENDPOINT } from "../../../src/Declarations/Constants";
77
import nock from "nock";
8-
import { successfulBreezeResponse } from "../unit/breezeTestUtils";
9-
import { TelemetryItem as Envelope } from "../../src/generated";
8+
import { successfulBreezeResponse } from "../../utils/breezeTestUtils";
9+
import { TelemetryItem as Envelope } from "../../../src/generated";
1010

1111
describe("Trace Exporter Scenarios", () => {
1212
describe(BasicScenario.prototype.constructor.name, () => {

sdk/monitor/monitor-opentelemetry-exporter/test/unit/platform/nodejs/httpSender.test.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/internal/httpSender.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
// Licensed under the MIT license.
33

44
import * as assert from "assert";
5-
import { DEFAULT_EXPORTER_CONFIG } from "../../../../src/config";
6-
import { HttpSender } from "../../../../src/platform/nodejs/httpSender";
7-
import { DEFAULT_BREEZE_ENDPOINT } from "../../../../src/Declarations/Constants";
5+
import { DEFAULT_EXPORTER_CONFIG } from "../../src/config";
6+
import { HttpSender } from "../../src/platform/nodejs/httpSender";
7+
import { DEFAULT_BREEZE_ENDPOINT } from "../../src/Declarations/Constants";
88
import {
99
successfulBreezeResponse,
1010
failedBreezeResponse,
1111
partialBreezeResponse
12-
} from "../../breezeTestUtils";
13-
import { TelemetryItem as Envelope } from "../../../../src/generated";
12+
} from "../utils/breezeTestUtils";
13+
import { TelemetryItem as Envelope } from "../../src/generated";
1414
import nock from "nock";
1515

1616
describe("HttpSender", () => {

sdk/monitor/monitor-opentelemetry-exporter/test/unit/utils/spanUtils.test.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/internal/spanUtils.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ import { hrTimeToMilliseconds } from "@opentelemetry/core";
88
import { Resource } from "@opentelemetry/resources";
99
import { ResourceAttributes } from "@opentelemetry/semantic-conventions";
1010

11-
import { Tags, Properties, Measurements } from "../../../src/types";
11+
import { Tags, Properties, Measurements } from "../../src/types";
1212
import {
1313
AI_CLOUD_ROLE,
1414
AI_CLOUD_ROLE_INSTACE
15-
} from "../../../src/utils/constants/applicationinsights";
16-
import * as http from "../../../src/utils/constants/span/httpAttributes";
17-
import * as grpc from "../../../src/utils/constants/span/grpcAttributes";
18-
import * as ai from "../../../src/utils/constants/applicationinsights";
19-
import { Context, getInstance } from "../../../src/platform";
20-
import { msToTimeSpan } from "../../../src/utils/breezeUtils";
21-
import { readableSpanToEnvelope } from "../../../src/utils/spanUtils";
22-
import { RemoteDependencyData, RequestData } from "../../../src/generated";
23-
import { TelemetryItem as Envelope } from "../../../src/generated";
15+
} from "../../src/utils/constants/applicationinsights";
16+
import * as http from "../../src/utils/constants/span/httpAttributes";
17+
import * as grpc from "../../src/utils/constants/span/grpcAttributes";
18+
import * as ai from "../../src/utils/constants/applicationinsights";
19+
import { Context, getInstance } from "../../src/platform";
20+
import { msToTimeSpan } from "../../src/utils/breezeUtils";
21+
import { readableSpanToEnvelope } from "../../src/utils/spanUtils";
22+
import { RemoteDependencyData, RequestData } from "../../src/generated";
23+
import { TelemetryItem as Envelope } from "../../src/generated";
2424

2525
const context = getInstance(undefined, "./");
2626

sdk/monitor/monitor-opentelemetry-exporter/test/unit/export/trace.test.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33

44
import * as assert from "assert";
55
import { ExportResult, ExportResultCode } from "@opentelemetry/core";
6-
import { AzureMonitorTraceExporter } from "../../../src/export/trace";
7-
import { DEFAULT_BREEZE_ENDPOINT } from "../../../src/Declarations/Constants";
6+
import { AzureMonitorTraceExporter } from "../../src/export/trace";
7+
import { DEFAULT_BREEZE_ENDPOINT } from "../../src/Declarations/Constants";
88
import {
99
failedBreezeResponse,
1010
partialBreezeResponse,
1111
successfulBreezeResponse
12-
} from "../breezeTestUtils";
13-
import { FileSystemPersist, HttpSender } from "../../../src/platform";
14-
import { TelemetryItem as Envelope } from "../../../src/generated";
12+
} from "../utils/breezeTestUtils";
13+
import { FileSystemPersist, HttpSender } from "../../src/platform";
14+
import { TelemetryItem as Envelope } from "../../src/generated";
1515
import nock from "nock";
1616

1717
function toObject<T>(obj: T): T {

sdk/monitor/monitor-opentelemetry-exporter/test/common/assert.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/utils/assert.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
AI_OPERATION_ID,
77
AI_OPERATION_PARENT_ID
88
} from "../../src/utils/constants/applicationinsights";
9-
import { Expectation } from "./scenario/types";
9+
import { Expectation } from "./types";
1010
import { MonitorBase, RequestData, TelemetryItem as Envelope } from "../../src/generated";
1111
import { TelemetryItem as EnvelopeMapper } from "../../src/generated/models/mappers";
1212

@@ -27,10 +27,11 @@ export const assertData = (actual: MonitorBase, expected: MonitorBase): void =>
2727
};
2828

2929
export const assertTrace = (actual: Envelope[], expectation: Expectation): void => {
30-
const envelope = actual.filter(
31-
(e) =>
30+
const envelope = actual.filter((e) => {
31+
return (
3232
(e.data!.baseData as RequestData).name === (expectation.data!.baseData as RequestData).name
33-
);
33+
);
34+
});
3435
if (envelope.length !== 1) {
3536
assert.ok(false, `assertTrace: could not find exported envelope: ${expectation.name}`);
3637
}
@@ -74,10 +75,11 @@ export const assertCount = (actual: Envelope[], expectations: Expectation[]): vo
7475

7576
export const assertExpectation = (actual: Envelope[], expectations: Expectation[]): void => {
7677
for (const expectation of expectations) {
77-
const envelope = actual.filter(
78-
(e) =>
78+
const envelope = actual.filter((e) => {
79+
return (
7980
(e.data!.baseData as RequestData).name === (expectation.data!.baseData as RequestData).name
80-
);
81+
);
82+
});
8183
if (envelope.length !== 1) {
8284
assert.ok(
8385
false,

sdk/monitor/monitor-opentelemetry-exporter/test/common/scenario/basic.ts renamed to sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
import * as opentelemetry from "@opentelemetry/api";
55
import { BasicTracerProvider } from "@opentelemetry/tracing";
6-
import { AzureMonitorTraceExporter } from "../../../src";
6+
import { AzureMonitorTraceExporter } from "../../src";
77
import { Expectation, Scenario } from "./types";
8-
import { msToTimeSpan } from "../../../src/utils/breezeUtils";
8+
import { msToTimeSpan } from "../../src/utils/breezeUtils";
99
import { SpanStatusCode } from "@opentelemetry/api";
10-
import { FlushSpanProcessor } from "../flushSpanProcessor";
1110
import { delay } from "@azure/core-http";
12-
import { TelemetryItem as Envelope } from "../../../src/generated";
11+
import { TelemetryItem as Envelope } from "../../src/generated";
12+
import { FlushSpanProcessor } from "./flushSpanProcessor";
1313

1414
const COMMON_ENVELOPE_PARAMS: Partial<Envelope> = {
1515
instrumentationKey: process.env.APPINSIGHTS_INSTRUMENTATIONKEY || "ikey",
@@ -25,7 +25,7 @@ export class BasicScenario implements Scenario {
2525
prepare(): void {
2626
const provider = new BasicTracerProvider();
2727
provider.addSpanProcessor(processor);
28-
opentelemetry.trace.setGlobalTracerProvider(provider);
28+
provider.register();
2929
}
3030

3131
async run(): Promise<void> {
@@ -37,20 +37,30 @@ export class BasicScenario implements Scenario {
3737
foo: "bar"
3838
}
3939
});
40-
const child1 = tracer.startSpan(`${this.constructor.name}.Child.1`, {
41-
startTime: 0,
42-
kind: opentelemetry.SpanKind.CLIENT,
43-
attributes: {
44-
numbers: "123"
45-
}
46-
});
47-
const child2 = tracer.startSpan(`${this.constructor.name}.Child.2`, {
48-
startTime: 0,
49-
kind: opentelemetry.SpanKind.CLIENT,
50-
attributes: {
51-
numbers: "1234"
52-
}
53-
});
40+
41+
const ctx = opentelemetry.trace.setSpan(opentelemetry.context.active(), root);
42+
const child1 = tracer.startSpan(
43+
`${this.constructor.name}.Child.1`,
44+
{
45+
startTime: 0,
46+
kind: opentelemetry.SpanKind.CLIENT,
47+
attributes: {
48+
numbers: "123"
49+
}
50+
},
51+
ctx
52+
);
53+
const child2 = tracer.startSpan(
54+
`${this.constructor.name}.Child.2`,
55+
{
56+
startTime: 0,
57+
kind: opentelemetry.SpanKind.CLIENT,
58+
attributes: {
59+
numbers: "1234"
60+
}
61+
},
62+
ctx
63+
);
5464
child1.setStatus({ code: SpanStatusCode.OK });
5565
child1.end(100);
5666
await delay(0);

0 commit comments

Comments
 (0)