-
Notifications
You must be signed in to change notification settings - Fork 214
Expand file tree
/
Copy pathopentelemetry-config.test.js
More file actions
146 lines (105 loc) · 4.83 KB
/
opentelemetry-config.test.js
File metadata and controls
146 lines (105 loc) · 4.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*
* Copyright (c) 2025, Salesforce, Inc.
* All rights reserved.
* SPDX-License-Identifier: BSD-3-Clause
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/
import {getOTELConfig, getServiceName} from './opentelemetry-config'
// Mock the module to reset cache between tests
const mockModule = () => {
jest.resetModules()
return require('./opentelemetry-config')
}
describe('OpenTelemetry Config', () => {
const originalEnv = process.env
beforeEach(() => {
// Reset environment variables
process.env = {...originalEnv}
// Clear module cache to reset _cachedConfig
jest.resetModules()
})
afterEach(() => {
// Restore original environment
process.env = originalEnv
})
describe('getOTELConfig', () => {
describe('serviceName', () => {
test('should return service name when OTEL_SERVICE_NAME is set', () => {
process.env.OTEL_SERVICE_NAME = 'custom-service'
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.serviceName).toBe('custom-service')
})
test('should return default service name when OTEL_SERVICE_NAME is not set', () => {
delete process.env.OTEL_SERVICE_NAME
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.serviceName).toBe('pwa-kit-react-sdk')
})
test('should return default service name when OTEL_SERVICE_NAME is empty string', () => {
process.env.OTEL_SERVICE_NAME = ''
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.serviceName).toBe('pwa-kit-react-sdk')
})
})
describe('enabled', () => {
test('should return enabled when OTEL_SDK_ENABLED is "true"', () => {
process.env.OTEL_SDK_ENABLED = 'true'
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.enabled).toBe(true)
})
test('should return disabled when OTEL_SDK_ENABLED is not set', () => {
delete process.env.OTEL_SDK_ENABLED
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.enabled).toBe(false)
})
test('should return disabled when OTEL_SDK_ENABLED is "false"', () => {
process.env.OTEL_SDK_ENABLED = 'false'
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.enabled).toBe(false)
})
test('should return disabled when OTEL_SDK_ENABLED is any non-"true" value', () => {
const nonTrueValues = ['yes', '1', 'True', 'TRUE', 'on', 'enabled', '']
nonTrueValues.forEach((value) => {
process.env.OTEL_SDK_ENABLED = value
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.enabled).toBe(false)
})
})
})
describe('b3TracingEnabled', () => {
test('should return enabled when OTEL_B3_TRACING_ENABLED is "true"', () => {
process.env.OTEL_B3_TRACING_ENABLED = 'true'
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.b3TracingEnabled).toBe(true)
})
test('should return disabled when OTEL_B3_TRACING_ENABLED is not set', () => {
delete process.env.OTEL_B3_TRACING_ENABLED
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.b3TracingEnabled).toBe(false)
})
test('should return disabled when OTEL_B3_TRACING_ENABLED is "false"', () => {
process.env.OTEL_B3_TRACING_ENABLED = 'false'
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.b3TracingEnabled).toBe(false)
})
test('should return disabled when OTEL_B3_TRACING_ENABLED is any non-"true" value', () => {
const nonTrueValues = ['yes', '1', 'True', 'TRUE', 'on', 'enabled', '']
nonTrueValues.forEach((value) => {
process.env.OTEL_B3_TRACING_ENABLED = value
const {getOTELConfig} = mockModule()
const config = getOTELConfig()
expect(config.b3TracingEnabled).toBe(false)
})
})
})
})
})