|
15 | 15 | */ |
16 | 16 |
|
17 | 17 | import * as assert from 'assert'; |
18 | | -import { defaultServiceName } from '../src/default-service-name'; |
| 18 | +import { |
| 19 | + _clearDefaultServiceNameCache, |
| 20 | + defaultServiceName, |
| 21 | +} from '../src/default-service-name'; |
19 | 22 |
|
20 | | -const isNode = typeof process === 'object' && typeof process.argv0 === 'string'; |
| 23 | +// node tests must be skipped in browser and webworker envs |
| 24 | +const isNode = typeof global.process === 'object'; |
21 | 25 |
|
22 | 26 | describe('defaultServiceName', () => { |
| 27 | + const originalProcess = global.process; |
| 28 | + |
| 29 | + beforeEach(() => _clearDefaultServiceNameCache()); |
| 30 | + afterEach(() => { |
| 31 | + global.process = originalProcess; |
| 32 | + }); |
| 33 | + |
23 | 34 | it('returns unknown_service prefix', () => { |
24 | 35 | const serviceName = defaultServiceName(); |
25 | 36 | assert.ok(serviceName.startsWith('unknown_service')); |
26 | 37 | }); |
27 | 38 |
|
28 | | - if (isNode) { |
29 | | - it('includes process.argv0 in Node.js', () => { |
30 | | - const serviceName = defaultServiceName(); |
31 | | - assert.ok(serviceName.startsWith('unknown_service:')); |
32 | | - assert.ok(serviceName.length > 'unknown_service:'.length); |
33 | | - }); |
34 | | - } else { |
35 | | - it('returns plain unknown_service in browser', () => { |
36 | | - const serviceName = defaultServiceName(); |
37 | | - assert.strictEqual(serviceName, 'unknown_service'); |
38 | | - }); |
39 | | - } |
40 | | - |
41 | 39 | it('returns consistent value on multiple calls', () => { |
42 | 40 | const serviceName1 = defaultServiceName(); |
43 | 41 | const serviceName2 = defaultServiceName(); |
44 | 42 | assert.strictEqual(serviceName1, serviceName2); |
45 | 43 | }); |
| 44 | + |
| 45 | + (isNode ? it : it.skip)('includes process.argv0 in Node.js', () => { |
| 46 | + const serviceName = defaultServiceName(); |
| 47 | + assert.ok(serviceName.startsWith('unknown_service:')); |
| 48 | + assert.ok(serviceName.length > 'unknown_service:'.length); |
| 49 | + }); |
| 50 | + |
| 51 | + (isNode ? it : it.skip)( |
| 52 | + 'returns plain unknown_service when process is not an object', |
| 53 | + () => { |
| 54 | + // @ts-expect-error redefining process for testing |
| 55 | + global.process = undefined; |
| 56 | + const serviceName = defaultServiceName(); |
| 57 | + assert.strictEqual(serviceName, 'unknown_service'); |
| 58 | + } |
| 59 | + ); |
| 60 | + |
| 61 | + (isNode ? it : it.skip)( |
| 62 | + 'returns plain unknown_service when argv0 is empty', |
| 63 | + () => { |
| 64 | + // @ts-expect-error redefining process for testing |
| 65 | + global.process = { argv0: '' }; |
| 66 | + const serviceName = defaultServiceName(); |
| 67 | + assert.strictEqual(serviceName, 'unknown_service'); |
| 68 | + } |
| 69 | + ); |
46 | 70 | }); |
0 commit comments