@ogcio/o11y-sdk-node
Version:
Opentelemetry standard instrumentation SDK for NodeJS based project
34 lines (29 loc) • 1.32 kB
text/typescript
import { describe, test, expect } from "vitest";
import { ObservabilityResourceDetector } from "../lib/resource";
describe("ObservabilityResourceDetector", () => {
test("should return custom resource attribute", () => {
const detector = new ObservabilityResourceDetector({
first: "first_value",
second: "second_value",
});
const result = detector.detect();
expect(result.attributes).not.toBeNull();
expect(result.attributes).toHaveProperty("first");
expect(result.attributes!["first"]).eq("first_value");
expect(result.attributes).toHaveProperty("second");
expect(result.attributes!["second"]).eq("second_value");
// default
expect(result.attributes).toHaveProperty("o11y.sdk.name");
expect(result.attributes!["o11y.sdk.name"]).eq("@ogcio/o11y-sdk-node");
expect(result.attributes).toHaveProperty("o11y.sdk.version");
});
test("should return default resource attribute", () => {
const detector = new ObservabilityResourceDetector();
const result = detector.detect();
expect(result.attributes).not.toBeNull();
// default
expect(result.attributes).toHaveProperty("o11y.sdk.name");
expect(result.attributes!["o11y.sdk.name"]).eq("@ogcio/o11y-sdk-node");
expect(result.attributes).toHaveProperty("o11y.sdk.version");
});
});