@jupyterlab/testutils 4.0.0-alpha.2 → 4.0.0-alpha.21
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/lib/babel.config.d.ts +1 -0
- package/lib/babel.config.js +30 -11
- package/lib/babel.config.js.map +1 -1
- package/lib/index.d.ts +7 -7
- package/lib/index.js +34 -29
- package/lib/index.js.map +1 -1
- package/lib/jest-config.js +6 -38
- package/lib/jest-config.js.map +1 -1
- package/lib/mock.d.ts +2 -100
- package/lib/mock.js +16 -604
- package/lib/mock.js.map +1 -1
- package/package.json +10 -40
- package/src/babel.config.ts +8 -0
- package/src/index.ts +31 -0
- package/src/jest-config.ts +8 -0
- package/src/mock.ts +20 -0
- package/default-45.json +0 -168
- package/default.json +0 -160
- package/lib/common.d.ts +0 -118
- package/lib/common.js +0 -330
- package/lib/common.js.map +0 -1
- package/lib/compare-lighthouse.d.ts +0 -1
- package/lib/compare-lighthouse.js +0 -29
- package/lib/compare-lighthouse.js.map +0 -1
- package/lib/flakyIt.d.ts +0 -15
- package/lib/flakyIt.js +0 -57
- package/lib/flakyIt.js.map +0 -1
- package/lib/jest-file-mock.d.ts +0 -0
- package/lib/jest-file-mock.js +0 -2
- package/lib/jest-file-mock.js.map +0 -1
- package/lib/jest-shim.d.ts +0 -2
- package/lib/jest-shim.js +0 -87
- package/lib/jest-shim.js.map +0 -1
- package/lib/notebook-utils.d.ts +0 -66
- package/lib/notebook-utils.js +0 -193
- package/lib/notebook-utils.js.map +0 -1
- package/lib/rendermime.d.ts +0 -5
- package/lib/rendermime.js +0 -46
- package/lib/rendermime.js.map +0 -1
- package/lib/start_jupyter_server.d.ts +0 -62
- package/lib/start_jupyter_server.js +0 -316
- package/lib/start_jupyter_server.js.map +0 -1
package/lib/mock.js
CHANGED
|
@@ -2,608 +2,20 @@
|
|
|
2
2
|
// Copyright (c) Jupyter Development Team.
|
|
3
3
|
// Distributed under the terms of the Modified BSD License.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
'-f',
|
|
22
|
-
'{connection_file}'
|
|
23
|
-
],
|
|
24
|
-
display_name: 'Python 3',
|
|
25
|
-
language: 'python',
|
|
26
|
-
metadata: {},
|
|
27
|
-
name: exports.DEFAULT_NAME,
|
|
28
|
-
resources: {}
|
|
29
|
-
},
|
|
30
|
-
irkernel: {
|
|
31
|
-
argv: [
|
|
32
|
-
'/Users/someuser/miniconda3/envs/jupyterlab/bin/python',
|
|
33
|
-
'-m',
|
|
34
|
-
'ipykernel_launcher',
|
|
35
|
-
'-f',
|
|
36
|
-
'{connection_file}'
|
|
37
|
-
],
|
|
38
|
-
display_name: 'R',
|
|
39
|
-
language: 'r',
|
|
40
|
-
metadata: {},
|
|
41
|
-
name: 'irkernel',
|
|
42
|
-
resources: {}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
exports.KERNEL_MODELS = [
|
|
46
|
-
{
|
|
47
|
-
name: exports.DEFAULT_NAME,
|
|
48
|
-
id: coreutils_1.UUID.uuid4()
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
name: 'r',
|
|
52
|
-
id: coreutils_1.UUID.uuid4()
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
name: exports.DEFAULT_NAME,
|
|
56
|
-
id: coreutils_1.UUID.uuid4()
|
|
57
|
-
}
|
|
58
|
-
];
|
|
59
|
-
// Notebook Paths for certain kernel name
|
|
60
|
-
exports.NOTEBOOK_PATHS = {
|
|
61
|
-
python3: ['Untitled.ipynb', 'Untitled1.ipynb', 'Untitled2.ipynb'],
|
|
62
|
-
r: ['Visualization.ipynb', 'Analysis.ipynb', 'Conclusion.ipynb']
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Forceably change the status of a session context.
|
|
66
|
-
* An iopub message is emitted for the change.
|
|
67
|
-
*
|
|
68
|
-
* @param sessionContext The session context of interest.
|
|
69
|
-
* @param newStatus The new kernel status.
|
|
70
|
-
*/
|
|
71
|
-
function updateKernelStatus(sessionContext, newStatus) {
|
|
72
|
-
const kernel = sessionContext.session.kernel;
|
|
73
|
-
kernel.status = newStatus;
|
|
74
|
-
sessionContext.statusChanged.emit(newStatus);
|
|
75
|
-
const msg = services_1.KernelMessage.createMessage({
|
|
76
|
-
session: kernel.clientId,
|
|
77
|
-
channel: 'iopub',
|
|
78
|
-
msgType: 'status',
|
|
79
|
-
content: { execution_state: newStatus }
|
|
80
|
-
});
|
|
81
|
-
emitIopubMessage(sessionContext, msg);
|
|
82
|
-
}
|
|
83
|
-
exports.updateKernelStatus = updateKernelStatus;
|
|
84
|
-
/**
|
|
85
|
-
* Emit an iopub message on a session context.
|
|
86
|
-
*
|
|
87
|
-
* @param sessionContext The session context
|
|
88
|
-
* @param msg Message created with `KernelMessage.createMessage`
|
|
89
|
-
*/
|
|
90
|
-
function emitIopubMessage(context, msg) {
|
|
91
|
-
const kernel = context.session.kernel;
|
|
92
|
-
const msgId = Private.lastMessageProperty.get(kernel);
|
|
93
|
-
msg.parent_header.session = kernel.clientId;
|
|
94
|
-
msg.parent_header.msg_id = msgId;
|
|
95
|
-
kernel.iopubMessage.emit(msg);
|
|
96
|
-
}
|
|
97
|
-
exports.emitIopubMessage = emitIopubMessage;
|
|
98
|
-
/**
|
|
99
|
-
* Create a session context given a partial session model.
|
|
100
|
-
*
|
|
101
|
-
* @param model The session model to use.
|
|
102
|
-
*/
|
|
103
|
-
function createSimpleSessionContext(model = {}) {
|
|
104
|
-
const kernel = new exports.KernelMock({ model: (model === null || model === void 0 ? void 0 : model.kernel) || {} });
|
|
105
|
-
const session = new exports.SessionConnectionMock({ model }, kernel);
|
|
106
|
-
return new exports.SessionContextMock({}, session);
|
|
107
|
-
}
|
|
108
|
-
exports.createSimpleSessionContext = createSimpleSessionContext;
|
|
109
|
-
/**
|
|
110
|
-
* Clone a kernel connection.
|
|
111
|
-
*/
|
|
112
|
-
function cloneKernel(kernel) {
|
|
113
|
-
return kernel.clone();
|
|
114
|
-
}
|
|
115
|
-
exports.cloneKernel = cloneKernel;
|
|
116
|
-
/**
|
|
117
|
-
* A mock kernel object.
|
|
118
|
-
*
|
|
119
|
-
* @param model The model of the kernel
|
|
120
|
-
*/
|
|
121
|
-
exports.KernelMock = jest.fn(options => {
|
|
122
|
-
const model = Object.assign({ id: 'foo', name: exports.DEFAULT_NAME }, options.model);
|
|
123
|
-
options = Object.assign(Object.assign({ clientId: coreutils_1.UUID.uuid4(), username: coreutils_1.UUID.uuid4() }, options), { model });
|
|
124
|
-
let executionCount = 0;
|
|
125
|
-
const spec = Private.kernelSpecForKernelName(model.name);
|
|
126
|
-
const thisObject = Object.assign(Object.assign(Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/services')), options), model), { model, serverSettings: services_1.ServerConnection.makeSettings(options.serverSettings), status: 'idle', spec: Promise.resolve(spec), dispose: jest.fn(), clone: jest.fn(() => {
|
|
127
|
-
const newKernel = Private.cloneKernel(options);
|
|
128
|
-
newKernel.iopubMessage.connect((_, args) => {
|
|
129
|
-
iopubMessageSignal.emit(args);
|
|
130
|
-
});
|
|
131
|
-
newKernel.statusChanged.connect((_, args) => {
|
|
132
|
-
thisObject.status = args;
|
|
133
|
-
statusChangedSignal.emit(args);
|
|
134
|
-
});
|
|
135
|
-
return newKernel;
|
|
136
|
-
}), info: Promise.resolve(Private.getInfo(model.name)), shutdown: jest.fn(() => Promise.resolve(void 0)), requestHistory: jest.fn(() => {
|
|
137
|
-
const historyReply = services_1.KernelMessage.createMessage({
|
|
138
|
-
channel: 'shell',
|
|
139
|
-
msgType: 'history_reply',
|
|
140
|
-
session: options.clientId,
|
|
141
|
-
username: options.username,
|
|
142
|
-
content: {
|
|
143
|
-
history: [],
|
|
144
|
-
status: 'ok'
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
return Promise.resolve(historyReply);
|
|
148
|
-
}), restart: jest.fn(() => Promise.resolve(void 0)), requestExecute: jest.fn(options => {
|
|
149
|
-
const msgId = coreutils_1.UUID.uuid4();
|
|
150
|
-
executionCount++;
|
|
151
|
-
Private.lastMessageProperty.set(thisObject, msgId);
|
|
152
|
-
const msg = services_1.KernelMessage.createMessage({
|
|
153
|
-
channel: 'iopub',
|
|
154
|
-
msgType: 'execute_input',
|
|
155
|
-
session: thisObject.clientId,
|
|
156
|
-
username: thisObject.username,
|
|
157
|
-
msgId,
|
|
158
|
-
content: {
|
|
159
|
-
code: options.code,
|
|
160
|
-
execution_count: executionCount
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
iopubMessageSignal.emit(msg);
|
|
164
|
-
const reply = services_1.KernelMessage.createMessage({
|
|
165
|
-
channel: 'shell',
|
|
166
|
-
msgType: 'execute_reply',
|
|
167
|
-
session: thisObject.clientId,
|
|
168
|
-
username: thisObject.username,
|
|
169
|
-
msgId,
|
|
170
|
-
content: {
|
|
171
|
-
user_expressions: {},
|
|
172
|
-
execution_count: executionCount,
|
|
173
|
-
status: 'ok'
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
return new exports.MockShellFuture(reply);
|
|
177
|
-
}) });
|
|
178
|
-
// Add signals.
|
|
179
|
-
const iopubMessageSignal = new signaling_1.Signal(thisObject);
|
|
180
|
-
const statusChangedSignal = new signaling_1.Signal(thisObject);
|
|
181
|
-
const pendingInputSignal = new signaling_1.Signal(thisObject);
|
|
182
|
-
thisObject.statusChanged = statusChangedSignal;
|
|
183
|
-
thisObject.iopubMessage = iopubMessageSignal;
|
|
184
|
-
thisObject.pendingInput = pendingInputSignal;
|
|
185
|
-
thisObject.hasPendingInput = false;
|
|
186
|
-
return thisObject;
|
|
187
|
-
});
|
|
188
|
-
/**
|
|
189
|
-
* A mock session connection.
|
|
190
|
-
*
|
|
191
|
-
* @param options Addition session options to use
|
|
192
|
-
* @param model A session model to use
|
|
193
|
-
*/
|
|
194
|
-
exports.SessionConnectionMock = jest.fn((options, kernel) => {
|
|
195
|
-
var _a, _b;
|
|
196
|
-
const name = (kernel === null || kernel === void 0 ? void 0 : kernel.name) || ((_b = (_a = options.model) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.name) || exports.DEFAULT_NAME;
|
|
197
|
-
kernel = kernel || new exports.KernelMock({ model: { name } });
|
|
198
|
-
const model = Object.assign(Object.assign({ id: coreutils_1.UUID.uuid4(), path: 'foo', type: 'notebook', name: 'foo' }, options.model), { kernel: kernel.model });
|
|
199
|
-
const thisObject = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/services')), options), { model }), model), { kernel, serverSettings: services_1.ServerConnection.makeSettings(options.serverSettings), dispose: jest.fn(), changeKernel: jest.fn(partialModel => {
|
|
200
|
-
return Private.changeKernel(kernel, partialModel);
|
|
201
|
-
}), shutdown: jest.fn(() => Promise.resolve(void 0)), setPath: jest.fn(path => {
|
|
202
|
-
thisObject.path = path;
|
|
203
|
-
propertyChangedSignal.emit('path');
|
|
204
|
-
return Promise.resolve();
|
|
205
|
-
}), setName: jest.fn(name => {
|
|
206
|
-
thisObject.name = name;
|
|
207
|
-
propertyChangedSignal.emit('name');
|
|
208
|
-
return Promise.resolve();
|
|
209
|
-
}), setType: jest.fn(type => {
|
|
210
|
-
thisObject.type = type;
|
|
211
|
-
propertyChangedSignal.emit('type');
|
|
212
|
-
return Promise.resolve();
|
|
213
|
-
}) });
|
|
214
|
-
const disposedSignal = new signaling_1.Signal(thisObject);
|
|
215
|
-
const propertyChangedSignal = new signaling_1.Signal(thisObject);
|
|
216
|
-
const statusChangedSignal = new signaling_1.Signal(thisObject);
|
|
217
|
-
const connectionStatusChangedSignal = new signaling_1.Signal(thisObject);
|
|
218
|
-
const kernelChangedSignal = new signaling_1.Signal(thisObject);
|
|
219
|
-
const iopubMessageSignal = new signaling_1.Signal(thisObject);
|
|
220
|
-
const unhandledMessageSignal = new signaling_1.Signal(thisObject);
|
|
221
|
-
const pendingInputSignal = new signaling_1.Signal(thisObject);
|
|
222
|
-
kernel.iopubMessage.connect((_, args) => {
|
|
223
|
-
iopubMessageSignal.emit(args);
|
|
224
|
-
}, thisObject);
|
|
225
|
-
kernel.statusChanged.connect((_, args) => {
|
|
226
|
-
statusChangedSignal.emit(args);
|
|
227
|
-
}, thisObject);
|
|
228
|
-
kernel.pendingInput.connect((_, args) => {
|
|
229
|
-
pendingInputSignal.emit(args);
|
|
230
|
-
}, thisObject);
|
|
231
|
-
thisObject.disposed = disposedSignal;
|
|
232
|
-
thisObject.connectionStatusChanged = connectionStatusChangedSignal;
|
|
233
|
-
thisObject.propertyChanged = propertyChangedSignal;
|
|
234
|
-
thisObject.statusChanged = statusChangedSignal;
|
|
235
|
-
thisObject.kernelChanged = kernelChangedSignal;
|
|
236
|
-
thisObject.iopubMessage = iopubMessageSignal;
|
|
237
|
-
thisObject.unhandledMessage = unhandledMessageSignal;
|
|
238
|
-
thisObject.pendingInput = pendingInputSignal;
|
|
239
|
-
return thisObject;
|
|
240
|
-
});
|
|
241
|
-
/**
|
|
242
|
-
* A mock session context.
|
|
243
|
-
*
|
|
244
|
-
* @param session The session connection object to use
|
|
245
|
-
*/
|
|
246
|
-
exports.SessionContextMock = jest.fn((options, connection) => {
|
|
247
|
-
const session = connection ||
|
|
248
|
-
new exports.SessionConnectionMock({
|
|
249
|
-
model: {
|
|
250
|
-
path: options.path || '',
|
|
251
|
-
type: options.type || '',
|
|
252
|
-
name: options.name || ''
|
|
253
|
-
}
|
|
254
|
-
}, null);
|
|
255
|
-
const thisObject = Object.assign(Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/apputils')), options), { path: session.path, type: session.type, name: session.name, session, dispose: jest.fn(), initialize: jest.fn(() => Promise.resolve(false)), ready: Promise.resolve(), changeKernel: jest.fn(partialModel => {
|
|
256
|
-
return Private.changeKernel(session.kernel || Private.RUNNING_KERNELS[0], partialModel);
|
|
257
|
-
}), shutdown: jest.fn(() => Promise.resolve()) });
|
|
258
|
-
const disposedSignal = new signaling_1.Signal(thisObject);
|
|
259
|
-
const propertyChangedSignal = new signaling_1.Signal(thisObject);
|
|
260
|
-
const statusChangedSignal = new signaling_1.Signal(thisObject);
|
|
261
|
-
const kernelChangedSignal = new signaling_1.Signal(thisObject);
|
|
262
|
-
const iopubMessageSignal = new signaling_1.Signal(thisObject);
|
|
263
|
-
session.statusChanged.connect((_, args) => {
|
|
264
|
-
statusChangedSignal.emit(args);
|
|
265
|
-
}, thisObject);
|
|
266
|
-
session.iopubMessage.connect((_, args) => {
|
|
267
|
-
iopubMessageSignal.emit(args);
|
|
268
|
-
});
|
|
269
|
-
session.kernelChanged.connect((_, args) => {
|
|
270
|
-
kernelChangedSignal.emit(args);
|
|
271
|
-
});
|
|
272
|
-
session.pendingInput.connect((_, args) => {
|
|
273
|
-
thisObject.pendingInput = args;
|
|
274
|
-
});
|
|
275
|
-
thisObject.statusChanged = statusChangedSignal;
|
|
276
|
-
thisObject.kernelChanged = kernelChangedSignal;
|
|
277
|
-
thisObject.iopubMessage = iopubMessageSignal;
|
|
278
|
-
thisObject.propertyChanged = propertyChangedSignal;
|
|
279
|
-
thisObject.disposed = disposedSignal;
|
|
280
|
-
thisObject.session = session;
|
|
281
|
-
thisObject.pendingInput = false;
|
|
282
|
-
return thisObject;
|
|
283
|
-
});
|
|
284
|
-
/**
|
|
285
|
-
* A mock contents manager.
|
|
286
|
-
*/
|
|
287
|
-
exports.ContentsManagerMock = jest.fn(() => {
|
|
288
|
-
const files = new Map();
|
|
289
|
-
const dummy = new services_1.ContentsManager();
|
|
290
|
-
const checkpoints = new Map();
|
|
291
|
-
const checkPointContent = new Map();
|
|
292
|
-
const baseModel = Private.createFile({ type: 'directory' });
|
|
293
|
-
files.set('', Object.assign(Object.assign({}, baseModel), { path: '', name: '' }));
|
|
294
|
-
const thisObject = Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/services')), { newUntitled: jest.fn(options => {
|
|
295
|
-
const model = Private.createFile(options || {});
|
|
296
|
-
files.set(model.path, model);
|
|
297
|
-
fileChangedSignal.emit({
|
|
298
|
-
type: 'new',
|
|
299
|
-
oldValue: null,
|
|
300
|
-
newValue: model
|
|
301
|
-
});
|
|
302
|
-
return Promise.resolve(model);
|
|
303
|
-
}), createCheckpoint: jest.fn(path => {
|
|
304
|
-
var _a;
|
|
305
|
-
const lastModified = new Date().toISOString();
|
|
306
|
-
const data = { id: coreutils_1.UUID.uuid4(), last_modified: lastModified };
|
|
307
|
-
checkpoints.set(path, data);
|
|
308
|
-
checkPointContent.set(path, (_a = files.get(path)) === null || _a === void 0 ? void 0 : _a.content);
|
|
309
|
-
return Promise.resolve(data);
|
|
310
|
-
}), listCheckpoints: jest.fn(path => {
|
|
311
|
-
const p = checkpoints.get(path);
|
|
312
|
-
if (p !== undefined) {
|
|
313
|
-
return Promise.resolve([p]);
|
|
314
|
-
}
|
|
315
|
-
return Promise.resolve([]);
|
|
316
|
-
}), deleteCheckpoint: jest.fn(path => {
|
|
317
|
-
if (!checkpoints.has(path)) {
|
|
318
|
-
return Private.makeResponseError(404);
|
|
319
|
-
}
|
|
320
|
-
checkpoints.delete(path);
|
|
321
|
-
return Promise.resolve();
|
|
322
|
-
}), restoreCheckpoint: jest.fn(path => {
|
|
323
|
-
if (!checkpoints.has(path)) {
|
|
324
|
-
return Private.makeResponseError(404);
|
|
325
|
-
}
|
|
326
|
-
files.get(path).content = checkPointContent.get(path);
|
|
327
|
-
return Promise.resolve();
|
|
328
|
-
}), getModelDBFactory: jest.fn(() => {
|
|
329
|
-
return null;
|
|
330
|
-
}), normalize: jest.fn(path => {
|
|
331
|
-
return dummy.normalize(path);
|
|
332
|
-
}), localPath: jest.fn(path => {
|
|
333
|
-
return dummy.localPath(path);
|
|
334
|
-
}), resolvePath: jest.fn((root, path) => {
|
|
335
|
-
return dummy.resolvePath(root, path);
|
|
336
|
-
}), get: jest.fn((path, options) => {
|
|
337
|
-
path = Private.fixSlash(path);
|
|
338
|
-
if (!files.has(path)) {
|
|
339
|
-
return Private.makeResponseError(404);
|
|
340
|
-
}
|
|
341
|
-
const model = files.get(path);
|
|
342
|
-
if (model.type === 'directory') {
|
|
343
|
-
if ((options === null || options === void 0 ? void 0 : options.content) !== false) {
|
|
344
|
-
const content = [];
|
|
345
|
-
files.forEach(fileModel => {
|
|
346
|
-
if (coreutils_2.PathExt.dirname(fileModel.path) == model.path) {
|
|
347
|
-
content.push(fileModel);
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
return Promise.resolve(Object.assign(Object.assign({}, model), { content }));
|
|
351
|
-
}
|
|
352
|
-
return Promise.resolve(model);
|
|
353
|
-
}
|
|
354
|
-
if ((options === null || options === void 0 ? void 0 : options.content) != false) {
|
|
355
|
-
return Promise.resolve(model);
|
|
356
|
-
}
|
|
357
|
-
return Promise.resolve(Object.assign(Object.assign({}, model), { content: '' }));
|
|
358
|
-
}), driveName: jest.fn(path => {
|
|
359
|
-
return dummy.driveName(path);
|
|
360
|
-
}), rename: jest.fn((oldPath, newPath) => {
|
|
361
|
-
oldPath = Private.fixSlash(oldPath);
|
|
362
|
-
newPath = Private.fixSlash(newPath);
|
|
363
|
-
if (!files.has(oldPath)) {
|
|
364
|
-
return Private.makeResponseError(404);
|
|
365
|
-
}
|
|
366
|
-
const oldValue = files.get(oldPath);
|
|
367
|
-
files.delete(oldPath);
|
|
368
|
-
const name = coreutils_2.PathExt.basename(newPath);
|
|
369
|
-
const newValue = Object.assign(Object.assign({}, oldValue), { name, path: newPath });
|
|
370
|
-
files.set(newPath, newValue);
|
|
371
|
-
fileChangedSignal.emit({
|
|
372
|
-
type: 'rename',
|
|
373
|
-
oldValue,
|
|
374
|
-
newValue
|
|
375
|
-
});
|
|
376
|
-
return Promise.resolve(newValue);
|
|
377
|
-
}), delete: jest.fn(path => {
|
|
378
|
-
path = Private.fixSlash(path);
|
|
379
|
-
if (!files.has(path)) {
|
|
380
|
-
return Private.makeResponseError(404);
|
|
381
|
-
}
|
|
382
|
-
const oldValue = files.get(path);
|
|
383
|
-
files.delete(path);
|
|
384
|
-
fileChangedSignal.emit({
|
|
385
|
-
type: 'delete',
|
|
386
|
-
oldValue,
|
|
387
|
-
newValue: null
|
|
388
|
-
});
|
|
389
|
-
return Promise.resolve(void 0);
|
|
390
|
-
}), save: jest.fn((path, options) => {
|
|
391
|
-
if (path == 'readonly.txt') {
|
|
392
|
-
return Private.makeResponseError(403);
|
|
393
|
-
}
|
|
394
|
-
path = Private.fixSlash(path);
|
|
395
|
-
const timeStamp = new Date().toISOString();
|
|
396
|
-
if (files.has(path)) {
|
|
397
|
-
files.set(path, Object.assign(Object.assign(Object.assign({}, files.get(path)), options), { last_modified: timeStamp }));
|
|
398
|
-
}
|
|
399
|
-
else {
|
|
400
|
-
files.set(path, Object.assign(Object.assign({ path, name: coreutils_2.PathExt.basename(path), content: '', writable: true, created: timeStamp, type: 'file', format: 'text', mimetype: 'plain/text' }, options), { last_modified: timeStamp }));
|
|
401
|
-
}
|
|
402
|
-
fileChangedSignal.emit({
|
|
403
|
-
type: 'save',
|
|
404
|
-
oldValue: null,
|
|
405
|
-
newValue: files.get(path)
|
|
406
|
-
});
|
|
407
|
-
return Promise.resolve(files.get(path));
|
|
408
|
-
}), getDownloadUrl: jest.fn(path => {
|
|
409
|
-
return dummy.getDownloadUrl(path);
|
|
410
|
-
}), addDrive: jest.fn(drive => {
|
|
411
|
-
dummy.addDrive(drive);
|
|
412
|
-
}), dispose: jest.fn() });
|
|
413
|
-
const fileChangedSignal = new signaling_1.Signal(thisObject);
|
|
414
|
-
thisObject.fileChanged = fileChangedSignal;
|
|
415
|
-
return thisObject;
|
|
416
|
-
});
|
|
417
|
-
/**
|
|
418
|
-
* A mock sessions manager.
|
|
419
|
-
*/
|
|
420
|
-
exports.SessionManagerMock = jest.fn(() => {
|
|
421
|
-
let sessions = [];
|
|
422
|
-
const thisObject = Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/services')), { ready: Promise.resolve(void 0), isReady: true, startNew: jest.fn(options => {
|
|
423
|
-
const session = new exports.SessionConnectionMock({ model: options }, null);
|
|
424
|
-
sessions.push(session.model);
|
|
425
|
-
runningChangedSignal.emit(sessions);
|
|
426
|
-
return Promise.resolve(session);
|
|
427
|
-
}), connectTo: jest.fn(options => {
|
|
428
|
-
return new exports.SessionConnectionMock(options, null);
|
|
429
|
-
}), stopIfNeeded: jest.fn(path => {
|
|
430
|
-
const length = sessions.length;
|
|
431
|
-
sessions = sessions.filter(model => model.path !== path);
|
|
432
|
-
if (sessions.length !== length) {
|
|
433
|
-
runningChangedSignal.emit(sessions);
|
|
434
|
-
}
|
|
435
|
-
return Promise.resolve(void 0);
|
|
436
|
-
}), refreshRunning: jest.fn(() => Promise.resolve(void 0)), running: jest.fn(() => new algorithm_1.ArrayIterator(sessions)) });
|
|
437
|
-
const runningChangedSignal = new signaling_1.Signal(thisObject);
|
|
438
|
-
thisObject.runningChanged = runningChangedSignal;
|
|
439
|
-
return thisObject;
|
|
440
|
-
});
|
|
441
|
-
/**
|
|
442
|
-
* A mock kernel specs manager
|
|
443
|
-
*/
|
|
444
|
-
exports.KernelSpecManagerMock = jest.fn(() => {
|
|
445
|
-
const thisObject = Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/services')), { specs: { default: exports.DEFAULT_NAME, kernelspecs: exports.KERNELSPECS }, isReady: true, ready: Promise.resolve(void 0), refreshSpecs: jest.fn(() => Promise.resolve(void 0)) });
|
|
446
|
-
return thisObject;
|
|
447
|
-
});
|
|
448
|
-
/**
|
|
449
|
-
* A mock service manager.
|
|
450
|
-
*/
|
|
451
|
-
exports.ServiceManagerMock = jest.fn(() => {
|
|
452
|
-
const thisObject = Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/services')), { ready: Promise.resolve(void 0), isReady: true, contents: new exports.ContentsManagerMock(), sessions: new exports.SessionManagerMock(), kernelspecs: new exports.KernelSpecManagerMock(), dispose: jest.fn() });
|
|
453
|
-
return thisObject;
|
|
454
|
-
});
|
|
455
|
-
/**
|
|
456
|
-
* A mock kernel shell future.
|
|
457
|
-
*/
|
|
458
|
-
exports.MockShellFuture = jest.fn((result) => {
|
|
459
|
-
const thisObject = Object.assign(Object.assign({}, jest.requireActual('@jupyterlab/services')), { dispose: jest.fn(), done: Promise.resolve(result) });
|
|
460
|
-
return thisObject;
|
|
461
|
-
});
|
|
462
|
-
/**
|
|
463
|
-
* Create a context for a file.
|
|
464
|
-
*/
|
|
465
|
-
async function createFileContext(startKernel = false, manager) {
|
|
466
|
-
const path = coreutils_1.UUID.uuid4() + '.txt';
|
|
467
|
-
manager = manager || new exports.ServiceManagerMock();
|
|
468
|
-
const factory = new docregistry_1.TextModelFactory();
|
|
469
|
-
const context = new docregistry_1.Context({
|
|
470
|
-
manager: manager || new exports.ServiceManagerMock(),
|
|
471
|
-
factory,
|
|
472
|
-
path,
|
|
473
|
-
kernelPreference: {
|
|
474
|
-
shouldStart: startKernel,
|
|
475
|
-
canStart: startKernel,
|
|
476
|
-
autoStartDefault: startKernel
|
|
477
|
-
}
|
|
478
|
-
});
|
|
479
|
-
await context.initialize(true);
|
|
480
|
-
await context.sessionContext.initialize();
|
|
481
|
-
return context;
|
|
482
|
-
}
|
|
483
|
-
exports.createFileContext = createFileContext;
|
|
484
|
-
/**
|
|
485
|
-
* A namespace for module private data.
|
|
486
|
-
*/
|
|
487
|
-
var Private;
|
|
488
|
-
(function (Private) {
|
|
489
|
-
function flattenArray(arr) {
|
|
490
|
-
const result = [];
|
|
491
|
-
arr.forEach(innerArr => {
|
|
492
|
-
innerArr.forEach(elem => {
|
|
493
|
-
result.push(elem);
|
|
494
|
-
});
|
|
495
|
-
});
|
|
496
|
-
return result;
|
|
497
|
-
}
|
|
498
|
-
Private.flattenArray = flattenArray;
|
|
499
|
-
function createFile(options) {
|
|
500
|
-
options = options || {};
|
|
501
|
-
let name = coreutils_1.UUID.uuid4();
|
|
502
|
-
switch (options.type) {
|
|
503
|
-
case 'directory':
|
|
504
|
-
name = `Untitled Folder_${name}`;
|
|
505
|
-
break;
|
|
506
|
-
case 'notebook':
|
|
507
|
-
name = `Untitled_${name}.ipynb`;
|
|
508
|
-
break;
|
|
509
|
-
default:
|
|
510
|
-
name = `untitled_${name}${options.ext || '.txt'}`;
|
|
511
|
-
}
|
|
512
|
-
const path = coreutils_2.PathExt.join(options.path || '', name);
|
|
513
|
-
let content = '';
|
|
514
|
-
if (options.type === 'notebook') {
|
|
515
|
-
content = JSON.stringify({});
|
|
516
|
-
}
|
|
517
|
-
const timeStamp = new Date().toISOString();
|
|
518
|
-
return {
|
|
519
|
-
path,
|
|
520
|
-
content,
|
|
521
|
-
name,
|
|
522
|
-
last_modified: timeStamp,
|
|
523
|
-
writable: true,
|
|
524
|
-
created: timeStamp,
|
|
525
|
-
type: options.type || 'file',
|
|
526
|
-
format: 'text',
|
|
527
|
-
mimetype: 'plain/text'
|
|
528
|
-
};
|
|
529
|
-
}
|
|
530
|
-
Private.createFile = createFile;
|
|
531
|
-
function fixSlash(path) {
|
|
532
|
-
if (path.endsWith('/')) {
|
|
533
|
-
path = path.slice(0, path.length - 1);
|
|
534
|
-
}
|
|
535
|
-
return path;
|
|
536
|
-
}
|
|
537
|
-
Private.fixSlash = fixSlash;
|
|
538
|
-
function makeResponseError(status) {
|
|
539
|
-
const resp = new Response(void 0, { status });
|
|
540
|
-
return Promise.reject(new services_1.ServerConnection.ResponseError(resp));
|
|
541
|
-
}
|
|
542
|
-
Private.makeResponseError = makeResponseError;
|
|
543
|
-
function cloneKernel(options) {
|
|
544
|
-
return new exports.KernelMock(Object.assign(Object.assign({}, options), { clientId: coreutils_1.UUID.uuid4() }));
|
|
545
|
-
}
|
|
546
|
-
Private.cloneKernel = cloneKernel;
|
|
547
|
-
// Get the kernel spec for kernel name
|
|
548
|
-
function kernelSpecForKernelName(name) {
|
|
549
|
-
return exports.KERNELSPECS[name];
|
|
550
|
-
}
|
|
551
|
-
Private.kernelSpecForKernelName = kernelSpecForKernelName;
|
|
552
|
-
// Get the kernel info for kernel name
|
|
553
|
-
function getInfo(name) {
|
|
554
|
-
return {
|
|
555
|
-
protocol_version: '1',
|
|
556
|
-
implementation: 'foo',
|
|
557
|
-
implementation_version: '1',
|
|
558
|
-
language_info: {
|
|
559
|
-
version: '1',
|
|
560
|
-
name
|
|
561
|
-
},
|
|
562
|
-
banner: 'hello, world!',
|
|
563
|
-
help_links: [],
|
|
564
|
-
status: 'ok'
|
|
565
|
-
};
|
|
566
|
-
}
|
|
567
|
-
Private.getInfo = getInfo;
|
|
568
|
-
function changeKernel(kernel, partialModel) {
|
|
569
|
-
if (partialModel.id) {
|
|
570
|
-
const kernelIdx = exports.KERNEL_MODELS.findIndex(model => {
|
|
571
|
-
return model.id === partialModel.id;
|
|
572
|
-
});
|
|
573
|
-
if (kernelIdx !== -1) {
|
|
574
|
-
kernel.model = Private.RUNNING_KERNELS[kernelIdx].model;
|
|
575
|
-
kernel.id = partialModel.id;
|
|
576
|
-
return Promise.resolve(Private.RUNNING_KERNELS[kernelIdx]);
|
|
577
|
-
}
|
|
578
|
-
else {
|
|
579
|
-
throw new Error(`Unable to change kernel to one with id: ${partialModel.id}`);
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
else if (partialModel.name) {
|
|
583
|
-
const kernelIdx = exports.KERNEL_MODELS.findIndex(model => {
|
|
584
|
-
return model.name === partialModel.name;
|
|
585
|
-
});
|
|
586
|
-
if (kernelIdx !== -1) {
|
|
587
|
-
kernel.model = Private.RUNNING_KERNELS[kernelIdx].model;
|
|
588
|
-
kernel.id = partialModel.id;
|
|
589
|
-
return Promise.resolve(Private.RUNNING_KERNELS[kernelIdx]);
|
|
590
|
-
}
|
|
591
|
-
else {
|
|
592
|
-
throw new Error(`Unable to change kernel to one with name: ${partialModel.name}`);
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
else {
|
|
596
|
-
throw new Error(`Unable to change kernel`);
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
Private.changeKernel = changeKernel;
|
|
600
|
-
// This list of running kernels simply mirrors the KERNEL_MODELS and KERNELSPECS lists
|
|
601
|
-
Private.RUNNING_KERNELS = exports.KERNEL_MODELS.map((model, _) => {
|
|
602
|
-
return new exports.KernelMock({ model });
|
|
603
|
-
});
|
|
604
|
-
Private.lastMessageProperty = new properties_1.AttachedProperty({
|
|
605
|
-
name: 'lastMessageId',
|
|
606
|
-
create: () => ''
|
|
607
|
-
});
|
|
608
|
-
})(Private || (Private = {}));
|
|
5
|
+
exports.SessionConnectionMock = exports.NOTEBOOK_PATHS = exports.KERNEL_MODELS = exports.KERNELSPECS = exports.DEFAULT_NAME = exports.ContentsManagerMock = exports.cloneKernel = exports.updateKernelStatus = exports.SessionContextMock = exports.emitIopubMessage = exports.DocumentWidgetOpenerMock = exports.createSimpleSessionContext = exports.createFileContext = void 0;
|
|
6
|
+
var testutils_1 = require("@jupyterlab/docregistry/lib/testutils");
|
|
7
|
+
Object.defineProperty(exports, "createFileContext", { enumerable: true, get: function () { return testutils_1.createFileContext; } });
|
|
8
|
+
Object.defineProperty(exports, "createSimpleSessionContext", { enumerable: true, get: function () { return testutils_1.createSimpleSessionContext; } });
|
|
9
|
+
Object.defineProperty(exports, "DocumentWidgetOpenerMock", { enumerable: true, get: function () { return testutils_1.DocumentWidgetOpenerMock; } });
|
|
10
|
+
Object.defineProperty(exports, "emitIopubMessage", { enumerable: true, get: function () { return testutils_1.emitIopubMessage; } });
|
|
11
|
+
Object.defineProperty(exports, "SessionContextMock", { enumerable: true, get: function () { return testutils_1.SessionContextMock; } });
|
|
12
|
+
Object.defineProperty(exports, "updateKernelStatus", { enumerable: true, get: function () { return testutils_1.updateKernelStatus; } });
|
|
13
|
+
var testutils_2 = require("@jupyterlab/services/lib/testutils");
|
|
14
|
+
Object.defineProperty(exports, "cloneKernel", { enumerable: true, get: function () { return testutils_2.cloneKernel; } });
|
|
15
|
+
Object.defineProperty(exports, "ContentsManagerMock", { enumerable: true, get: function () { return testutils_2.ContentsManagerMock; } });
|
|
16
|
+
Object.defineProperty(exports, "DEFAULT_NAME", { enumerable: true, get: function () { return testutils_2.DEFAULT_NAME; } });
|
|
17
|
+
Object.defineProperty(exports, "KERNELSPECS", { enumerable: true, get: function () { return testutils_2.KERNELSPECS; } });
|
|
18
|
+
Object.defineProperty(exports, "KERNEL_MODELS", { enumerable: true, get: function () { return testutils_2.KERNEL_MODELS; } });
|
|
19
|
+
Object.defineProperty(exports, "NOTEBOOK_PATHS", { enumerable: true, get: function () { return testutils_2.NOTEBOOK_PATHS; } });
|
|
20
|
+
Object.defineProperty(exports, "SessionConnectionMock", { enumerable: true, get: function () { return testutils_2.SessionConnectionMock; } });
|
|
609
21
|
//# sourceMappingURL=mock.js.map
|
package/lib/mock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C,2DAA2D;;;AAE3D,mEAO+C;AAN7C,8GAAA,iBAAiB,OAAA;AACjB,uHAAA,0BAA0B,OAAA;AAC1B,qHAAA,wBAAwB,OAAA;AACxB,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAEpB,gEAQ4C;AAP1C,wGAAA,WAAW,OAAA;AACX,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,kHAAA,qBAAqB,OAAA"}
|