mobilewright 0.0.51 → 0.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/cli.js +1 -2
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +13 -24
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +89 -24
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +180 -142
- package/dist/config.test.js.map +1 -1
- package/dist/device-pool/adapters/http-client.test.js +4 -4
- package/dist/device-pool/adapters/http-client.test.js.map +1 -1
- package/dist/device-pool/adapters/http-server.test.js +7 -7
- package/dist/device-pool/adapters/http-server.test.js.map +1 -1
- package/dist/device-pool/application/device-pool.d.ts +4 -3
- package/dist/device-pool/application/device-pool.d.ts.map +1 -1
- package/dist/device-pool/application/device-pool.js +30 -8
- package/dist/device-pool/application/device-pool.js.map +1 -1
- package/dist/device-pool/application/device-pool.test.js +71 -35
- package/dist/device-pool/application/device-pool.test.js.map +1 -1
- package/dist/device-pool/application/ports.d.ts +3 -33
- package/dist/device-pool/application/ports.d.ts.map +1 -1
- package/dist/device-pool/application/ports.js +1 -12
- package/dist/device-pool/application/ports.js.map +1 -1
- package/dist/device-pool/setup.d.ts.map +1 -1
- package/dist/device-pool/setup.js +5 -7
- package/dist/device-pool/setup.js.map +1 -1
- package/dist/driver-registry.d.ts +10 -0
- package/dist/driver-registry.d.ts.map +1 -0
- package/dist/driver-registry.js +14 -0
- package/dist/driver-registry.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/launchers.d.ts +5 -5
- package/dist/launchers.d.ts.map +1 -1
- package/dist/launchers.js +8 -32
- package/dist/launchers.js.map +1 -1
- package/dist/observer-reporter.d.ts +21 -0
- package/dist/observer-reporter.d.ts.map +1 -0
- package/dist/observer-reporter.js +106 -0
- package/dist/observer-reporter.js.map +1 -0
- package/dist/observer-reporter.test.d.ts +2 -0
- package/dist/observer-reporter.test.d.ts.map +1 -0
- package/dist/observer-reporter.test.js +182 -0
- package/dist/observer-reporter.test.js.map +1 -0
- package/package.json +6 -6
- package/dist/device-pool/adapters/mobilecli-allocator.d.ts +0 -19
- package/dist/device-pool/adapters/mobilecli-allocator.d.ts.map +0 -1
- package/dist/device-pool/adapters/mobilecli-allocator.js +0 -26
- package/dist/device-pool/adapters/mobilecli-allocator.js.map +0 -1
- package/dist/device-pool/adapters/mobilecli-allocator.test.d.ts +0 -2
- package/dist/device-pool/adapters/mobilecli-allocator.test.d.ts.map +0 -1
- package/dist/device-pool/adapters/mobilecli-allocator.test.js +0 -61
- package/dist/device-pool/adapters/mobilecli-allocator.test.js.map +0 -1
- package/dist/device-pool/adapters/mobilenext-allocator.d.ts +0 -24
- package/dist/device-pool/adapters/mobilenext-allocator.d.ts.map +0 -1
- package/dist/device-pool/adapters/mobilenext-allocator.js +0 -90
- package/dist/device-pool/adapters/mobilenext-allocator.js.map +0 -1
- package/dist/device-pool/adapters/mobilenext-allocator.test.d.ts +0 -2
- package/dist/device-pool/adapters/mobilenext-allocator.test.d.ts.map +0 -1
- package/dist/device-pool/adapters/mobilenext-allocator.test.js +0 -42
- package/dist/device-pool/adapters/mobilenext-allocator.test.js.map +0 -1
- package/dist/device-pool/allocator-factory.d.ts +0 -10
- package/dist/device-pool/allocator-factory.d.ts.map +0 -1
- package/dist/device-pool/allocator-factory.js +0 -23
- package/dist/device-pool/allocator-factory.js.map +0 -1
- package/dist/server.d.ts +0 -16
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -101
- package/dist/server.js.map +0 -1
package/dist/config.test.js
CHANGED
|
@@ -1,5 +1,50 @@
|
|
|
1
|
+
import { isAbsolute } from 'node:path';
|
|
1
2
|
import { test, expect } from '@playwright/test';
|
|
3
|
+
import { MobileNextDriver } from '@mobilewright/driver-mobilenext';
|
|
4
|
+
import { MobilecliDriver } from '@mobilewright/driver-mobilecli';
|
|
2
5
|
import { defineConfig, toArray } from './config.js';
|
|
6
|
+
import { getActiveDriver } from './driver-registry.js';
|
|
7
|
+
const JSON_ENV_VARS = ['PLAYWRIGHT_JSON_OUTPUT_FILE', 'PLAYWRIGHT_JSON_OUTPUT_DIR', 'PLAYWRIGHT_JSON_OUTPUT_NAME'];
|
|
8
|
+
/** Clears the Playwright JSON-reporter env vars for the duration of `fn`, restoring them afterward. */
|
|
9
|
+
function withoutJsonEnvVars(fn) {
|
|
10
|
+
const saved = JSON_ENV_VARS.map((name) => [name, process.env[name]]);
|
|
11
|
+
for (const name of JSON_ENV_VARS) {
|
|
12
|
+
delete process.env[name];
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
return fn();
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
for (const [name, value] of saved) {
|
|
19
|
+
if (value === undefined) {
|
|
20
|
+
delete process.env[name];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
process.env[name] = value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** Sets the given env vars for the duration of `fn`, restoring the previous values afterward. */
|
|
29
|
+
function withEnvVars(vars, fn) {
|
|
30
|
+
const saved = Object.keys(vars).map((name) => [name, process.env[name]]);
|
|
31
|
+
for (const [name, value] of Object.entries(vars)) {
|
|
32
|
+
process.env[name] = value;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
return fn();
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
for (const [name, value] of saved) {
|
|
39
|
+
if (value === undefined) {
|
|
40
|
+
delete process.env[name];
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
process.env[name] = value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
3
48
|
test('defineConfig injects globalSetup pointing at device-pool/setup.js', () => {
|
|
4
49
|
const config = defineConfig({});
|
|
5
50
|
expect(typeof config.globalSetup).toBe('string');
|
|
@@ -33,6 +78,12 @@ test('defineConfig with project use.installApps is preserved', () => {
|
|
|
33
78
|
});
|
|
34
79
|
expect(config.projects[0].use.installApps).toBe('per-project.apk');
|
|
35
80
|
});
|
|
81
|
+
test('defineConfig with project use.deviceId is preserved', () => {
|
|
82
|
+
const config = defineConfig({
|
|
83
|
+
projects: [{ name: 'android', use: { deviceId: 'emulator-5554' } }],
|
|
84
|
+
});
|
|
85
|
+
expect(config.projects[0].use.deviceId).toBe('emulator-5554');
|
|
86
|
+
});
|
|
36
87
|
test('toArray returns empty array for undefined', () => {
|
|
37
88
|
expect(toArray(undefined)).toEqual([]);
|
|
38
89
|
});
|
|
@@ -42,95 +93,6 @@ test('toArray wraps a single string into an array', () => {
|
|
|
42
93
|
test('toArray returns the array unchanged when already an array', () => {
|
|
43
94
|
expect(toArray(['app.apk', 'other.apk'])).toEqual(['app.apk', 'other.apk']);
|
|
44
95
|
});
|
|
45
|
-
test('defineConfig injects upload reporter by default when testResult is set without uploadReport', () => {
|
|
46
|
-
const config = defineConfig({
|
|
47
|
-
driver: {
|
|
48
|
-
type: 'mobilenext',
|
|
49
|
-
apiKey: 'test-key',
|
|
50
|
-
testResult: {},
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
const reporters = config.reporter;
|
|
54
|
-
expect(Array.isArray(reporters)).toBe(true);
|
|
55
|
-
const paths = reporters.map((r) => r[0]);
|
|
56
|
-
expect(paths.some((p) => String(p).includes('driver-mobilenext'))).toBe(true);
|
|
57
|
-
});
|
|
58
|
-
test('defineConfig injects upload reporter when mobilenext driver has uploadReport on', () => {
|
|
59
|
-
const config = defineConfig({
|
|
60
|
-
driver: {
|
|
61
|
-
type: 'mobilenext',
|
|
62
|
-
apiKey: 'test-key',
|
|
63
|
-
testResult: { uploadReport: 'on' },
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
const reporters = config.reporter;
|
|
67
|
-
expect(Array.isArray(reporters)).toBe(true);
|
|
68
|
-
const paths = reporters.map((r) => r[0]);
|
|
69
|
-
expect(paths.some((p) => String(p).includes('driver-mobilenext'))).toBe(true);
|
|
70
|
-
});
|
|
71
|
-
test('defineConfig injects json reporter alongside upload reporter', () => {
|
|
72
|
-
const config = defineConfig({
|
|
73
|
-
driver: {
|
|
74
|
-
type: 'mobilenext',
|
|
75
|
-
apiKey: 'key',
|
|
76
|
-
testResult: { uploadReport: 'on-failure' },
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
const reporters = config.reporter;
|
|
80
|
-
const jsonEntry = reporters.find((r) => r[0] === 'json');
|
|
81
|
-
expect(jsonEntry).toBeDefined();
|
|
82
|
-
const opts = jsonEntry[1];
|
|
83
|
-
expect(opts.outputFile).toMatch(/mobilewright-results/);
|
|
84
|
-
});
|
|
85
|
-
test('defineConfig does not inject upload reporter when uploadReport is off', () => {
|
|
86
|
-
const config = defineConfig({
|
|
87
|
-
driver: {
|
|
88
|
-
type: 'mobilenext',
|
|
89
|
-
apiKey: 'key',
|
|
90
|
-
testResult: { uploadReport: 'off' },
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
if (Array.isArray(config.reporter)) {
|
|
94
|
-
const paths = config.reporter.map((r) => (Array.isArray(r) ? r[0] : r));
|
|
95
|
-
expect(paths.some((p) => String(p).includes('driver-mobilenext'))).toBe(false);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
expect(config.reporter).toBeUndefined();
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
test('defineConfig injects upload reporter by default when testResult is absent', () => {
|
|
102
|
-
const config = defineConfig({ driver: { type: 'mobilenext', apiKey: 'key' } });
|
|
103
|
-
const reporters = config.reporter;
|
|
104
|
-
expect(Array.isArray(reporters)).toBe(true);
|
|
105
|
-
const paths = reporters.map((r) => r[0]);
|
|
106
|
-
expect(paths.some((p) => String(p).includes('driver-mobilenext'))).toBe(true);
|
|
107
|
-
});
|
|
108
|
-
test('defineConfig does not inject upload reporter for mobilecli driver', () => {
|
|
109
|
-
const config = defineConfig({ driver: { type: 'mobilecli' } });
|
|
110
|
-
expect(config.reporter).toBeUndefined();
|
|
111
|
-
});
|
|
112
|
-
test('defineConfig preserves existing array reporters when injecting', () => {
|
|
113
|
-
const config = defineConfig({
|
|
114
|
-
driver: { type: 'mobilenext', apiKey: 'key', testResult: { uploadReport: 'on' } },
|
|
115
|
-
reporter: [['html'], ['list']],
|
|
116
|
-
});
|
|
117
|
-
const reporters = config.reporter;
|
|
118
|
-
const names = reporters.map((r) => r[0]);
|
|
119
|
-
expect(names).toContain('html');
|
|
120
|
-
expect(names).toContain('list');
|
|
121
|
-
expect(names.some((n) => String(n).includes('driver-mobilenext'))).toBe(true);
|
|
122
|
-
});
|
|
123
|
-
test('defineConfig normalizes string reporter to array form before injecting', () => {
|
|
124
|
-
const config = defineConfig({
|
|
125
|
-
driver: { type: 'mobilenext', apiKey: 'key', testResult: { uploadReport: 'on' } },
|
|
126
|
-
reporter: 'html',
|
|
127
|
-
});
|
|
128
|
-
const reporters = config.reporter;
|
|
129
|
-
expect(Array.isArray(reporters)).toBe(true);
|
|
130
|
-
const names = reporters.map((r) => r[0]);
|
|
131
|
-
expect(names).toContain('html');
|
|
132
|
-
expect(names.some((n) => String(n).includes('driver-mobilenext'))).toBe(true);
|
|
133
|
-
});
|
|
134
96
|
test('defineConfig preserves use.actionTimeout', () => {
|
|
135
97
|
const config = defineConfig({ use: { actionTimeout: 10_000 } });
|
|
136
98
|
expect(config.use?.actionTimeout).toBe(10_000);
|
|
@@ -151,67 +113,143 @@ test('defineConfig preserves globalTimeout', () => {
|
|
|
151
113
|
const config = defineConfig({ globalTimeout: 3_600_000 });
|
|
152
114
|
expect(config.globalTimeout).toBe(3_600_000);
|
|
153
115
|
});
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
expect(driver.allocationTimeout).toBe(900_000);
|
|
116
|
+
// ─── Observer reporter injection ───────────────────────────────────
|
|
117
|
+
test('defineConfig registers the configured driver as the active driver', () => {
|
|
118
|
+
const driver = new MobilecliDriver();
|
|
119
|
+
defineConfig({ driver });
|
|
120
|
+
expect(getActiveDriver()).toBe(driver);
|
|
160
121
|
});
|
|
161
|
-
test('defineConfig
|
|
162
|
-
const config = defineConfig({
|
|
163
|
-
|
|
164
|
-
type: 'mobilenext',
|
|
165
|
-
apiKey: 'key',
|
|
166
|
-
testResult: { uploadReport: 'on' },
|
|
167
|
-
uploadTimeout: 120_000,
|
|
168
|
-
},
|
|
169
|
-
});
|
|
170
|
-
const driver = config.driver;
|
|
171
|
-
expect(driver.uploadTimeout).toBe(120_000);
|
|
122
|
+
test('defineConfig leaves reporter untouched for a driver without an observer', () => {
|
|
123
|
+
const config = defineConfig({ driver: new MobilecliDriver() });
|
|
124
|
+
expect(config.reporter).toBeUndefined();
|
|
172
125
|
});
|
|
173
|
-
test('defineConfig
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
uploadTimeout: 90_000,
|
|
180
|
-
},
|
|
181
|
-
});
|
|
126
|
+
test('defineConfig converts a legacy {type, ...} driver config object into a driver instance', () => {
|
|
127
|
+
const legacyDriver = { type: 'mobilenext', apiKey: 'key' };
|
|
128
|
+
const config = withoutJsonEnvVars(() => defineConfig({ driver: legacyDriver }));
|
|
129
|
+
expect(config.driver).toBeInstanceOf(MobileNextDriver);
|
|
130
|
+
expect(getActiveDriver()).toBe(config.driver);
|
|
131
|
+
// The converted instance carries an observer, so the shim gets injected too.
|
|
182
132
|
const reporters = config.reporter;
|
|
183
|
-
|
|
184
|
-
expect(uploadEntry).toBeDefined();
|
|
185
|
-
const opts = uploadEntry[1];
|
|
186
|
-
expect(opts.uploadTimeout).toBe(90_000);
|
|
133
|
+
expect(String(reporters[reporters.length - 1][0])).toMatch(/observer-reporter\.(js|ts)$/);
|
|
187
134
|
});
|
|
188
|
-
test('defineConfig
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
135
|
+
test('defineConfig converts a legacy mobilecli driver config object into a MobilecliDriver', () => {
|
|
136
|
+
const legacyDriver = { type: 'mobilecli' };
|
|
137
|
+
const config = defineConfig({ driver: legacyDriver });
|
|
138
|
+
expect(config.driver).toBeInstanceOf(MobilecliDriver);
|
|
139
|
+
});
|
|
140
|
+
test('defineConfig rejects an unknown legacy driver type with a clear message', () => {
|
|
141
|
+
const legacyDriver = { type: 'appium' };
|
|
142
|
+
expect(() => defineConfig({ driver: legacyDriver })).toThrow(/unknown driver type "appium"/);
|
|
143
|
+
});
|
|
144
|
+
test('defineConfig leaves reporter untouched when no driver is configured', () => {
|
|
145
|
+
const config = defineConfig({});
|
|
146
|
+
expect(config.reporter).toBeUndefined();
|
|
147
|
+
});
|
|
148
|
+
test('defineConfig injects list, a tmp json reporter, and the observer shim for a driver with an observer and no user reporters', () => {
|
|
149
|
+
const config = withoutJsonEnvVars(() => defineConfig({ driver: new MobileNextDriver({ apiKey: 'key' }) }));
|
|
150
|
+
const reporters = config.reporter;
|
|
151
|
+
expect(reporters[0][0]).toBe('list');
|
|
152
|
+
const jsonEntries = reporters.filter(([name]) => name === 'json');
|
|
153
|
+
expect(jsonEntries.length).toBe(1);
|
|
154
|
+
const jsonOptions = jsonEntries[0][1];
|
|
155
|
+
expect(jsonOptions.outputFile).toMatch(/mobilewright-results-.*\.json$/);
|
|
156
|
+
const shimEntry = reporters[reporters.length - 1];
|
|
157
|
+
expect(String(shimEntry[0])).toMatch(/observer-reporter\.(js|ts)$/);
|
|
158
|
+
const shimOptions = shimEntry[1];
|
|
159
|
+
expect(shimOptions.jsonResultsPath).toBe(jsonOptions.outputFile);
|
|
160
|
+
});
|
|
161
|
+
test('defineConfig reuses an absolute user json reporter outputFile and injects no second json reporter', () => {
|
|
162
|
+
const config = withoutJsonEnvVars(() => defineConfig({
|
|
163
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
164
|
+
reporter: [['json', { outputFile: '/tmp/x.json' }]],
|
|
165
|
+
}));
|
|
166
|
+
const reporters = config.reporter;
|
|
167
|
+
const jsonEntries = reporters.filter(([name]) => name === 'json');
|
|
168
|
+
expect(jsonEntries.length).toBe(1);
|
|
169
|
+
const shimEntry = reporters[reporters.length - 1];
|
|
170
|
+
const shimOptions = shimEntry[1];
|
|
171
|
+
expect(shimOptions.jsonResultsPath).toBe('/tmp/x.json');
|
|
172
|
+
expect(shimOptions.cleanupJsonResults).toBe(false);
|
|
173
|
+
});
|
|
174
|
+
test('defineConfig does not reuse a relative user json outputFile and appends its own tmp json reporter', () => {
|
|
175
|
+
// Playwright resolves a relative outputFile against the config directory,
|
|
176
|
+
// which defineConfig cannot know — reusing it would read the wrong path.
|
|
177
|
+
const config = withoutJsonEnvVars(() => defineConfig({
|
|
178
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
179
|
+
reporter: [['json', { outputFile: 'results.json' }]],
|
|
180
|
+
}));
|
|
181
|
+
const reporters = config.reporter;
|
|
182
|
+
const jsonEntries = reporters.filter(([name]) => name === 'json');
|
|
183
|
+
expect(jsonEntries.length).toBe(2);
|
|
184
|
+
expect(jsonEntries[0][1]).toEqual({ outputFile: 'results.json' });
|
|
185
|
+
const shimEntry = reporters[reporters.length - 1];
|
|
186
|
+
const shimOptions = shimEntry[1];
|
|
187
|
+
expect(isAbsolute(shimOptions.jsonResultsPath)).toBe(true);
|
|
188
|
+
expect(shimOptions.jsonResultsPath).not.toBe('results.json');
|
|
189
|
+
expect(shimOptions.cleanupJsonResults).toBe(true);
|
|
190
|
+
});
|
|
191
|
+
test('defineConfig uses PLAYWRIGHT_JSON_OUTPUT_FILE when the user json reporter has no outputFile', () => {
|
|
192
|
+
const config = withEnvVars({ PLAYWRIGHT_JSON_OUTPUT_FILE: '/tmp/env-results.json' }, () => defineConfig({
|
|
193
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
194
|
+
reporter: [['json']],
|
|
195
|
+
}));
|
|
196
|
+
const reporters = config.reporter;
|
|
197
|
+
const jsonEntries = reporters.filter(([name]) => name === 'json');
|
|
198
|
+
expect(jsonEntries.length).toBe(1);
|
|
199
|
+
const shimEntry = reporters[reporters.length - 1];
|
|
200
|
+
const shimOptions = shimEntry[1];
|
|
201
|
+
expect(shimOptions.jsonResultsPath).toBe('/tmp/env-results.json');
|
|
202
|
+
});
|
|
203
|
+
test('defineConfig uses PLAYWRIGHT_JSON_OUTPUT_DIR and _NAME when the user json reporter has no outputFile', () => {
|
|
204
|
+
const config = withEnvVars({ PLAYWRIGHT_JSON_OUTPUT_DIR: '/tmp/reports', PLAYWRIGHT_JSON_OUTPUT_NAME: 'out.json' }, () => defineConfig({
|
|
205
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
206
|
+
reporter: [['json']],
|
|
207
|
+
}));
|
|
208
|
+
const reporters = config.reporter;
|
|
209
|
+
const jsonEntries = reporters.filter(([name]) => name === 'json');
|
|
210
|
+
expect(jsonEntries.length).toBe(1);
|
|
211
|
+
const shimEntry = reporters[reporters.length - 1];
|
|
212
|
+
const shimOptions = shimEntry[1];
|
|
213
|
+
expect(shimOptions.jsonResultsPath).toBe('/tmp/reports/out.json');
|
|
214
|
+
});
|
|
215
|
+
test('defineConfig appends a tmp json reporter alongside an untouched stdout json entry when no env vars are set', () => {
|
|
216
|
+
const config = withoutJsonEnvVars(() => defineConfig({
|
|
217
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
218
|
+
reporter: [['json']],
|
|
219
|
+
}));
|
|
220
|
+
const reporters = config.reporter;
|
|
221
|
+
const jsonEntries = reporters.filter(([name]) => name === 'json');
|
|
222
|
+
expect(jsonEntries.length).toBe(2);
|
|
223
|
+
expect(jsonEntries[0][1]).toBeUndefined();
|
|
224
|
+
const injectedOptions = jsonEntries[1][1];
|
|
225
|
+
expect(injectedOptions.outputFile).toMatch(/mobilewright-results-/);
|
|
226
|
+
});
|
|
227
|
+
test('defineConfig preserves the user reporter list ahead of the injected entries', () => {
|
|
228
|
+
const config = withoutJsonEnvVars(() => defineConfig({
|
|
229
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
230
|
+
reporter: [['html'], ['list']],
|
|
231
|
+
}));
|
|
232
|
+
const names = config.reporter.map(([name]) => name);
|
|
233
|
+
expect(names[0]).toBe('html');
|
|
234
|
+
expect(names[1]).toBe('list');
|
|
235
|
+
});
|
|
236
|
+
test('defineConfig normalizes a string reporter to array form before injecting', () => {
|
|
237
|
+
const config = withoutJsonEnvVars(() => defineConfig({
|
|
238
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
239
|
+
reporter: 'html',
|
|
240
|
+
}));
|
|
241
|
+
const names = config.reporter.map(([name]) => name);
|
|
242
|
+
expect(names).toContain('html');
|
|
193
243
|
});
|
|
194
|
-
test('defineConfig sets captureGitInfo
|
|
195
|
-
const config = defineConfig({ driver: {
|
|
244
|
+
test('defineConfig sets captureGitInfo commit:true when injecting the observer reporter', () => {
|
|
245
|
+
const config = defineConfig({ driver: new MobileNextDriver({ apiKey: 'key' }) });
|
|
196
246
|
expect(config.captureGitInfo).toEqual({ commit: true });
|
|
197
247
|
});
|
|
198
|
-
test('defineConfig
|
|
248
|
+
test('defineConfig preserves the user explicit captureGitInfo values when injecting', () => {
|
|
199
249
|
const config = defineConfig({
|
|
200
|
-
driver: {
|
|
201
|
-
|
|
202
|
-
apiKey: 'test-key',
|
|
203
|
-
testResult: {
|
|
204
|
-
uploadReport: 'on',
|
|
205
|
-
name: 'My Suite',
|
|
206
|
-
tags: ['ci', 'nightly'],
|
|
207
|
-
environment: 'staging',
|
|
208
|
-
},
|
|
209
|
-
},
|
|
250
|
+
driver: new MobileNextDriver({ apiKey: 'key' }),
|
|
251
|
+
captureGitInfo: { commit: false, diff: true },
|
|
210
252
|
});
|
|
211
|
-
|
|
212
|
-
expect(driver.testResult?.uploadReport).toBe('on');
|
|
213
|
-
expect(driver.testResult?.name).toBe('My Suite');
|
|
214
|
-
expect(driver.testResult?.tags).toEqual(['ci', 'nightly']);
|
|
215
|
-
expect(driver.testResult?.environment).toBe('staging');
|
|
253
|
+
expect(config.captureGitInfo).toEqual({ commit: false, diff: true });
|
|
216
254
|
});
|
|
217
255
|
//# sourceMappingURL=config.test.js.map
|
package/dist/config.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../src/config.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../src/config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { test, expect } from '@playwright/test';
|
|
|
2
2
|
import { DevicePool } from '../application/device-pool.js';
|
|
3
3
|
import { DevicePoolHttpServer } from './http-server.js';
|
|
4
4
|
import { HttpDevicePoolClient } from './http-client.js';
|
|
5
|
-
function
|
|
5
|
+
function makeDriver(devices) {
|
|
6
6
|
let i = 0;
|
|
7
7
|
return {
|
|
8
8
|
async allocate() { return devices[i++ % devices.length]; },
|
|
@@ -21,7 +21,7 @@ async function startServerAndClient(pool) {
|
|
|
21
21
|
}
|
|
22
22
|
test('client.allocate returns a handle from the server', async () => {
|
|
23
23
|
const pool = new DevicePool({
|
|
24
|
-
|
|
24
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
25
25
|
maxSlots: 1,
|
|
26
26
|
});
|
|
27
27
|
const { client, stop } = await startServerAndClient(pool);
|
|
@@ -37,7 +37,7 @@ test('client.allocate returns a handle from the server', async () => {
|
|
|
37
37
|
});
|
|
38
38
|
test('client.release frees the device for a subsequent allocate', async () => {
|
|
39
39
|
const pool = new DevicePool({
|
|
40
|
-
|
|
40
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
41
41
|
maxSlots: 1,
|
|
42
42
|
});
|
|
43
43
|
const { client, stop } = await startServerAndClient(pool);
|
|
@@ -54,7 +54,7 @@ test('client.release frees the device for a subsequent allocate', async () => {
|
|
|
54
54
|
});
|
|
55
55
|
test('install-tracking round-trip via client', async () => {
|
|
56
56
|
const pool = new DevicePool({
|
|
57
|
-
|
|
57
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
58
58
|
maxSlots: 1,
|
|
59
59
|
});
|
|
60
60
|
const { client, stop } = await startServerAndClient(pool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.test.js","sourceRoot":"","sources":["../../../src/device-pool/adapters/http-client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.test.js","sourceRoot":"","sources":["../../../src/device-pool/adapters/http-client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { test, expect } from '@playwright/test';
|
|
|
2
2
|
import { request as httpRequest } from 'node:http';
|
|
3
3
|
import { DevicePool } from '../application/device-pool.js';
|
|
4
4
|
import { DevicePoolHttpServer } from './http-server.js';
|
|
5
|
-
function
|
|
5
|
+
function makeDriver(devices) {
|
|
6
6
|
let i = 0;
|
|
7
7
|
return {
|
|
8
8
|
async allocate() {
|
|
@@ -39,7 +39,7 @@ function postAllocateAndReadFirstLine(url, body) {
|
|
|
39
39
|
}
|
|
40
40
|
test('POST /allocate returns a JSON line with allocationId, deviceId, platform', async () => {
|
|
41
41
|
const pool = new DevicePool({
|
|
42
|
-
|
|
42
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
43
43
|
maxSlots: 1,
|
|
44
44
|
});
|
|
45
45
|
const server = await startServer(pool);
|
|
@@ -67,7 +67,7 @@ function postReleaseRequest(url, allocationId) {
|
|
|
67
67
|
}
|
|
68
68
|
test('POST /release frees the slot for the next allocate', async () => {
|
|
69
69
|
const pool = new DevicePool({
|
|
70
|
-
|
|
70
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
71
71
|
maxSlots: 1,
|
|
72
72
|
});
|
|
73
73
|
const server = await startServer(pool);
|
|
@@ -109,7 +109,7 @@ function startAllocateRequest(url, body) {
|
|
|
109
109
|
}
|
|
110
110
|
test('closing the /allocate socket releases the allocation', async () => {
|
|
111
111
|
const pool = new DevicePool({
|
|
112
|
-
|
|
112
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
113
113
|
maxSlots: 1,
|
|
114
114
|
});
|
|
115
115
|
const server = await startServer(pool);
|
|
@@ -128,7 +128,7 @@ test('closing the /allocate socket releases the allocation', async () => {
|
|
|
128
128
|
});
|
|
129
129
|
test('POST /release with unknown allocationId returns 200 (idempotent)', async () => {
|
|
130
130
|
const pool = new DevicePool({
|
|
131
|
-
|
|
131
|
+
driver: makeDriver([]),
|
|
132
132
|
maxSlots: 1,
|
|
133
133
|
});
|
|
134
134
|
const server = await startServer(pool);
|
|
@@ -157,7 +157,7 @@ function postJson(url, path, body) {
|
|
|
157
157
|
}
|
|
158
158
|
test('/installed/is-installed and /installed/record round-trip', async () => {
|
|
159
159
|
const pool = new DevicePool({
|
|
160
|
-
|
|
160
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
161
161
|
maxSlots: 1,
|
|
162
162
|
});
|
|
163
163
|
const server = await startServer(pool);
|
|
@@ -186,7 +186,7 @@ test('/installed/is-installed and /installed/record round-trip', async () => {
|
|
|
186
186
|
});
|
|
187
187
|
test('/shutdown drains the pool and rejects subsequent allocates', async () => {
|
|
188
188
|
const pool = new DevicePool({
|
|
189
|
-
|
|
189
|
+
driver: makeDriver([{ deviceId: 'd1', platform: 'ios' }]),
|
|
190
190
|
maxSlots: 1,
|
|
191
191
|
});
|
|
192
192
|
const server = await startServer(pool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.test.js","sourceRoot":"","sources":["../../../src/device-pool/adapters/http-server.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"http-server.test.js","sourceRoot":"","sources":["../../../src/device-pool/adapters/http-server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DeviceAllocator } from '@mobilewright/protocol';
|
|
2
|
+
import type { AllocationCriteria, AllocationHandle } from './ports.js';
|
|
2
3
|
export interface DevicePoolOptions {
|
|
3
|
-
|
|
4
|
+
driver: DeviceAllocator;
|
|
4
5
|
maxSlots: number;
|
|
5
6
|
/** Per-allocation timeout in ms. Default 600_000 (10 min). */
|
|
6
7
|
allocationTimeoutMs?: number;
|
|
7
8
|
}
|
|
8
9
|
export declare class DevicePool {
|
|
9
|
-
private readonly
|
|
10
|
+
private readonly driver;
|
|
10
11
|
private readonly maxSlots;
|
|
11
12
|
private readonly allocationTimeoutMs;
|
|
12
13
|
private readonly slots;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-pool.d.ts","sourceRoot":"","sources":["../../../src/device-pool/application/device-pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device-pool.d.ts","sourceRoot":"","sources":["../../../src/device-pool/application/device-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAQD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,iBAAiB;IAMtC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU3D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBzB,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQhE,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQ/D,OAAO,CAAC,IAAI;IAkBZ,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;YAsBH,wBAAwB;IAmEtC,OAAO,CAAC,cAAc;CAOvB"}
|