-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathgather-single-telemetry.test.mjs
More file actions
61 lines (54 loc) · 1.73 KB
/
gather-single-telemetry.test.mjs
File metadata and controls
61 lines (54 loc) · 1.73 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
const startApp = require('../../test/helpers/start-app');
const gatherSingleTelemetry = require('./gather-single-telemetry');
const { getTelemetry } = require('../utils/telemetry');
const APP_TIMEOUT = 100000;
const TELEMETRY_KEY = 'single-telemetry';
import { describe, beforeAll, test, afterAll, expect } from 'vitest';
function resolverWithoutArgs() {
return { foo: 'bar' };
}
function resolverWithArgs(lookupNames) {
if (lookupNames) {
return lookupNames.map(item => {
const lookupSplit = item.split(':');
return { name: lookupSplit[1], type: lookupSplit[0] };
});
}
}
describe('Gather single telemetry', () => {
let app;
let localAppPath = './test/fixtures/classic-app';
beforeAll(async () => {
app = await startApp(localAppPath);
console.log(`Spawned PID: ${app.emberServe.pid}`);
}, APP_TIMEOUT);
test('can determine base single telemetry case', async () => {
await gatherSingleTelemetry(
'http://localhost:4200',
{ telemetryKey: TELEMETRY_KEY },
resolverWithoutArgs
);
let telemetry = getTelemetry(TELEMETRY_KEY);
expect(telemetry).toEqual({
foo: 'bar',
});
});
test('can determine single telemetry with arguments passed', async () => {
const lookupNames = ['component:foo', 'helper:bar'];
await gatherSingleTelemetry(
'http://localhost:4200',
{ telemetryKey: TELEMETRY_KEY },
resolverWithArgs,
lookupNames
);
let telemetry = getTelemetry(TELEMETRY_KEY);
expect(telemetry).toEqual([
{ name: 'foo', type: 'component' },
{ name: 'bar', type: 'helper' },
]);
});
afterAll(async () => {
console.log(`Killing PID: ${app.emberServe.pid}`);
await app.emberServe.shutdown();
}, APP_TIMEOUT);
});