@appium/base-driver 8.3.0 → 8.3.1
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/build/lib/basedriver/capabilities.js +2 -4
- package/build/lib/basedriver/commands/event.js +2 -4
- package/build/lib/basedriver/commands/find.js +2 -4
- package/build/lib/basedriver/commands/index.js +2 -4
- package/build/lib/basedriver/commands/log.js +2 -4
- package/build/lib/basedriver/commands/session.js +2 -4
- package/build/lib/basedriver/commands/settings.js +2 -4
- package/build/lib/basedriver/commands/timeout.js +2 -4
- package/build/lib/basedriver/desired-caps.js +2 -4
- package/build/lib/basedriver/device-settings.js +2 -4
- package/build/lib/basedriver/driver.js +17 -6
- package/build/lib/basedriver/helpers.js +2 -4
- package/build/lib/basedriver/logger.js +2 -4
- package/build/lib/constants.js +2 -4
- package/build/lib/express/crash.js +2 -4
- package/build/lib/express/express-logging.js +2 -4
- package/build/lib/express/idempotency.js +2 -4
- package/build/lib/express/logger.js +2 -4
- package/build/lib/express/middleware.js +2 -4
- package/build/lib/express/server.js +2 -4
- package/build/lib/express/static.js +2 -4
- package/build/lib/express/websocket.js +2 -4
- package/build/lib/helpers/capabilities.js +2 -4
- package/build/lib/index.js +2 -4
- package/build/lib/jsonwp-proxy/protocol-converter.js +2 -4
- package/build/lib/jsonwp-proxy/proxy.js +2 -4
- package/build/lib/jsonwp-status/status.js +2 -4
- package/build/lib/protocol/errors.js +2 -4
- package/build/lib/protocol/helpers.js +2 -4
- package/build/lib/protocol/index.js +2 -4
- package/build/lib/protocol/protocol.js +2 -4
- package/build/lib/protocol/routes.js +2 -4
- package/build/lib/protocol/validators.js +2 -4
- package/build/test/basedriver/README.md +5 -0
- package/build/test/basedriver/driver-e2e-tests.js +2 -4
- package/build/test/basedriver/driver-tests.js +2 -4
- package/build/test/basedriver/index.js +2 -4
- package/build/test/e2e/basedriver/driver.e2e.spec.js +15 -0
- package/build/test/e2e/basedriver/helpers.e2e.spec.js +192 -0
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +82 -0
- package/build/test/e2e/express/server.e2e.spec.js +159 -0
- package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +59 -0
- package/build/test/e2e/protocol/fake-driver.js +163 -0
- package/build/test/e2e/protocol/helpers.js +25 -0
- package/build/test/e2e/protocol/protocol.e2e.spec.js +1186 -0
- package/build/test/helpers.js +2 -4
- package/build/test/unit/basedriver/capabilities.spec.js +672 -0
- package/build/test/unit/basedriver/capability.spec.js +353 -0
- package/build/test/unit/basedriver/commands/event.spec.js +110 -0
- package/build/test/unit/basedriver/commands/log.spec.js +85 -0
- package/build/test/unit/basedriver/driver.spec.js +15 -0
- package/build/test/unit/basedriver/helpers.spec.js +151 -0
- package/build/test/unit/basedriver/timeout.spec.js +135 -0
- package/build/test/unit/express/server.spec.js +155 -0
- package/build/test/unit/express/static.spec.js +26 -0
- package/build/test/unit/jsonwp-proxy/mock-request.js +91 -0
- package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +171 -0
- package/build/test/unit/jsonwp-proxy/proxy.spec.js +292 -0
- package/build/test/unit/jsonwp-proxy/url.spec.js +165 -0
- package/build/test/unit/jsonwp-status/status.spec.js +34 -0
- package/build/test/unit/protocol/errors.spec.js +390 -0
- package/build/test/unit/protocol/routes.spec.js +80 -0
- package/build/test/unit/protocol/validator.spec.js +149 -0
- package/lib/basedriver/driver.js +15 -4
- package/package.json +14 -9
- package/test/basedriver/README.md +5 -0
- package/test/basedriver/driver-e2e-tests.js +1 -1
- package/build/test/basedriver/capabilities-specs.js +0 -674
- package/build/test/basedriver/capability-specs.js +0 -355
- package/build/test/basedriver/commands/event-specs.js +0 -112
- package/build/test/basedriver/commands/log-specs.js +0 -87
- package/build/test/basedriver/driver-e2e-specs.js +0 -17
- package/build/test/basedriver/driver-specs.js +0 -17
- package/build/test/basedriver/helpers-e2e-specs.js +0 -194
- package/build/test/basedriver/helpers-specs.js +0 -153
- package/build/test/basedriver/timeout-specs.js +0 -137
- package/build/test/basedriver/websockets-e2e-specs.js +0 -84
- package/build/test/express/server-e2e-specs.js +0 -161
- package/build/test/express/server-specs.js +0 -157
- package/build/test/express/static-specs.js +0 -28
- package/build/test/jsonwp-proxy/mock-request.js +0 -93
- package/build/test/jsonwp-proxy/protocol-converter-specs.js +0 -173
- package/build/test/jsonwp-proxy/proxy-e2e-specs.js +0 -61
- package/build/test/jsonwp-proxy/proxy-specs.js +0 -294
- package/build/test/jsonwp-proxy/url-specs.js +0 -167
- package/build/test/jsonwp-status/status-specs.js +0 -36
- package/build/test/protocol/errors-specs.js +0 -388
- package/build/test/protocol/fake-driver.js +0 -165
- package/build/test/protocol/helpers.js +0 -27
- package/build/test/protocol/protocol-e2e-specs.js +0 -1188
- package/build/test/protocol/routes-specs.js +0 -82
- package/build/test/protocol/validator-specs.js +0 -151
- package/test/basedriver/capabilities-specs.js +0 -537
- package/test/basedriver/capability-specs.js +0 -383
- package/test/basedriver/commands/event-specs.js +0 -74
- package/test/basedriver/commands/log-specs.js +0 -79
- package/test/basedriver/driver-e2e-specs.js +0 -8
- package/test/basedriver/driver-specs.js +0 -8
- package/test/basedriver/fixtures/BadZippedApp.zip +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.apk +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.asd +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.app +0 -1
- package/test/basedriver/fixtures/FakeIOSApp.app.zip +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.ipa +0 -0
- package/test/basedriver/fixtures/custom-element-finder-bad.js +0 -5
- package/test/basedriver/fixtures/custom-element-finder.js +0 -29
- package/test/basedriver/helpers-e2e-specs.js +0 -187
- package/test/basedriver/helpers-specs.js +0 -137
- package/test/basedriver/timeout-specs.js +0 -128
- package/test/basedriver/websockets-e2e-specs.js +0 -75
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("source-map-support/register");
|
|
6
|
+
|
|
7
|
+
var _support = require("@appium/support");
|
|
8
|
+
|
|
9
|
+
var _helpers = require("../../../lib/basedriver/helpers");
|
|
10
|
+
|
|
11
|
+
var _sinon = _interopRequireDefault(require("sinon"));
|
|
12
|
+
|
|
13
|
+
describe('helpers', function () {
|
|
14
|
+
describe('#isPackageOrBundle', function () {
|
|
15
|
+
it('should accept packages and bundles', function () {
|
|
16
|
+
(0, _helpers.isPackageOrBundle)('io.appium.testapp').should.be.true;
|
|
17
|
+
});
|
|
18
|
+
it('should not accept non-packages or non-bundles', function () {
|
|
19
|
+
(0, _helpers.isPackageOrBundle)('foo').should.be.false;
|
|
20
|
+
(0, _helpers.isPackageOrBundle)('/path/to/an.app').should.be.false;
|
|
21
|
+
(0, _helpers.isPackageOrBundle)('/path/to/an.apk').should.be.false;
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe('#duplicateKeys', function () {
|
|
25
|
+
it('should translate key in an object', function () {
|
|
26
|
+
(0, _helpers.duplicateKeys)({
|
|
27
|
+
'foo': 'hello world'
|
|
28
|
+
}, 'foo', 'bar').should.eql({
|
|
29
|
+
'foo': 'hello world',
|
|
30
|
+
'bar': 'hello world'
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it('should translate key in an object within an object', function () {
|
|
34
|
+
(0, _helpers.duplicateKeys)({
|
|
35
|
+
'key': {
|
|
36
|
+
'foo': 'hello world'
|
|
37
|
+
}
|
|
38
|
+
}, 'foo', 'bar').should.eql({
|
|
39
|
+
'key': {
|
|
40
|
+
'foo': 'hello world',
|
|
41
|
+
'bar': 'hello world'
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
it('should translate key in an object with an array', function () {
|
|
46
|
+
(0, _helpers.duplicateKeys)([{
|
|
47
|
+
'key': {
|
|
48
|
+
'foo': 'hello world'
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
'foo': 'HELLO WORLD'
|
|
52
|
+
}], 'foo', 'bar').should.eql([{
|
|
53
|
+
'key': {
|
|
54
|
+
'foo': 'hello world',
|
|
55
|
+
'bar': 'hello world'
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
'foo': 'HELLO WORLD',
|
|
59
|
+
'bar': 'HELLO WORLD'
|
|
60
|
+
}]);
|
|
61
|
+
});
|
|
62
|
+
it('should duplicate both keys', function () {
|
|
63
|
+
(0, _helpers.duplicateKeys)({
|
|
64
|
+
'keyOne': {
|
|
65
|
+
'foo': 'hello world'
|
|
66
|
+
},
|
|
67
|
+
'keyTwo': {
|
|
68
|
+
'bar': 'HELLO WORLD'
|
|
69
|
+
}
|
|
70
|
+
}, 'foo', 'bar').should.eql({
|
|
71
|
+
'keyOne': {
|
|
72
|
+
'foo': 'hello world',
|
|
73
|
+
'bar': 'hello world'
|
|
74
|
+
},
|
|
75
|
+
'keyTwo': {
|
|
76
|
+
'bar': 'HELLO WORLD',
|
|
77
|
+
'foo': 'HELLO WORLD'
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
it('should not do anything to primitives', function () {
|
|
82
|
+
[0, 1, -1, true, false, null, undefined, '', 'Hello World'].forEach(item => {
|
|
83
|
+
should.equal((0, _helpers.duplicateKeys)(item), item);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
it('should rename keys on big complex objects', function () {
|
|
87
|
+
const input = [{
|
|
88
|
+
'foo': 'bar'
|
|
89
|
+
}, {
|
|
90
|
+
hello: {
|
|
91
|
+
world: {
|
|
92
|
+
'foo': 'BAR'
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
foo: 'bahr'
|
|
96
|
+
}, 'foo', null, 0];
|
|
97
|
+
const expectedOutput = [{
|
|
98
|
+
'foo': 'bar',
|
|
99
|
+
'FOO': 'bar'
|
|
100
|
+
}, {
|
|
101
|
+
hello: {
|
|
102
|
+
world: {
|
|
103
|
+
'foo': 'BAR',
|
|
104
|
+
'FOO': 'BAR'
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
foo: 'bahr',
|
|
108
|
+
FOO: 'bahr'
|
|
109
|
+
}, 'foo', null, 0];
|
|
110
|
+
(0, _helpers.duplicateKeys)(input, 'foo', 'FOO').should.deep.equal(expectedOutput);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('#configureApp', function () {
|
|
114
|
+
let sandbox;
|
|
115
|
+
beforeEach(function () {
|
|
116
|
+
sandbox = _sinon.default.createSandbox();
|
|
117
|
+
sandbox.stub(_support.zip, 'extractAllTo').resolves();
|
|
118
|
+
sandbox.stub(_support.zip, 'assertValidZip').resolves();
|
|
119
|
+
sandbox.stub(_support.fs, 'mv').resolves();
|
|
120
|
+
sandbox.stub(_support.fs, 'stat').resolves({
|
|
121
|
+
isFile: () => true,
|
|
122
|
+
isDirectory: () => false
|
|
123
|
+
});
|
|
124
|
+
sandbox.stub(_support.fs, 'exists').resolves(true);
|
|
125
|
+
sandbox.stub(_support.fs, 'hash').resolves('0xDEADBEEF');
|
|
126
|
+
sandbox.stub(_support.fs, 'glob').resolves(['/path/to/an.apk']);
|
|
127
|
+
sandbox.stub(_support.fs, 'rimraf').resolves();
|
|
128
|
+
sandbox.stub(_support.tempDir, 'openDir').resolves('/some/dir');
|
|
129
|
+
});
|
|
130
|
+
afterEach(function () {
|
|
131
|
+
sandbox.restore();
|
|
132
|
+
});
|
|
133
|
+
it('should pass "useSystemUnzip" flag through to @appium/support', async function () {
|
|
134
|
+
await (0, _helpers.configureApp)('/path/to/an.apk.zip', '.apk');
|
|
135
|
+
_support.zip.extractAllTo.getCall(0).lastArg.useSystemUnzip.should.be.true;
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
describe('parseCapsArray', function () {
|
|
140
|
+
it('should parse string into array', function () {
|
|
141
|
+
(0, _helpers.parseCapsArray)('/tmp/my/app.zip').should.eql(['/tmp/my/app.zip']);
|
|
142
|
+
});
|
|
143
|
+
it('should parse array as string into array', function () {
|
|
144
|
+
(0, _helpers.parseCapsArray)('["/tmp/my/app.zip"]').should.eql(['/tmp/my/app.zip']);
|
|
145
|
+
(0, _helpers.parseCapsArray)('["/tmp/my/app.zip","/tmp/my/app2.zip"]').should.eql(['/tmp/my/app.zip', '/tmp/my/app2.zip']);
|
|
146
|
+
});
|
|
147
|
+
it('should return an array without change', function () {
|
|
148
|
+
(0, _helpers.parseCapsArray)(['a', 'b']).should.eql(['a', 'b']);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iYXNlZHJpdmVyL2hlbHBlcnMuc3BlYy5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIml0Iiwic2hvdWxkIiwiYmUiLCJ0cnVlIiwiZmFsc2UiLCJlcWwiLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwiaXRlbSIsImVxdWFsIiwiaW5wdXQiLCJoZWxsbyIsIndvcmxkIiwiZm9vIiwiZXhwZWN0ZWRPdXRwdXQiLCJGT08iLCJkZWVwIiwic2FuZGJveCIsImJlZm9yZUVhY2giLCJzaW5vbiIsImNyZWF0ZVNhbmRib3giLCJzdHViIiwiemlwIiwicmVzb2x2ZXMiLCJmcyIsImlzRmlsZSIsImlzRGlyZWN0b3J5IiwidGVtcERpciIsImFmdGVyRWFjaCIsInJlc3RvcmUiLCJleHRyYWN0QWxsVG8iLCJnZXRDYWxsIiwibGFzdEFyZyIsInVzZVN5c3RlbVVuemlwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFHQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxZQUFZO0FBQzlCQSxFQUFBQSxRQUFRLENBQUMsb0JBQUQsRUFBdUIsWUFBWTtBQUN6Q0MsSUFBQUEsRUFBRSxDQUFDLG9DQUFELEVBQXVDLFlBQVk7QUFDbkQsc0NBQWtCLG1CQUFsQixFQUF1Q0MsTUFBdkMsQ0FBOENDLEVBQTlDLENBQWlEQyxJQUFqRDtBQUNELEtBRkMsQ0FBRjtBQUdBSCxJQUFBQSxFQUFFLENBQUMsK0NBQUQsRUFBa0QsWUFBWTtBQUM5RCxzQ0FBa0IsS0FBbEIsRUFBeUJDLE1BQXpCLENBQWdDQyxFQUFoQyxDQUFtQ0UsS0FBbkM7QUFDQSxzQ0FBa0IsaUJBQWxCLEVBQXFDSCxNQUFyQyxDQUE0Q0MsRUFBNUMsQ0FBK0NFLEtBQS9DO0FBQ0Esc0NBQWtCLGlCQUFsQixFQUFxQ0gsTUFBckMsQ0FBNENDLEVBQTVDLENBQStDRSxLQUEvQztBQUNELEtBSkMsQ0FBRjtBQUtELEdBVE8sQ0FBUjtBQVdBTCxFQUFBQSxRQUFRLENB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WyJpbXBvcnQgeyB6aXAsIGZzLCB0ZW1wRGlyIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IGNvbmZpZ3VyZUFwcCwgaXNQYWNrYWdlT3JCdW5kbGUsIGR1cGxpY2F0ZUtleXMsIHBhcnNlQ2Fwc0FycmF5IH0gZnJvbSAnLi4vLi4vLi4vbGliL2Jhc2Vkcml2ZXIvaGVscGVycyc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuXG5cbmRlc2NyaWJlKCdoZWxwZXJzJywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgnI2lzUGFja2FnZU9yQnVuZGxlJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgYWNjZXB0IHBhY2thZ2VzIGFuZCBidW5kbGVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXNQYWNrYWdlT3JCdW5kbGUoJ2lvLmFwcGl1bS50ZXN0YXBwJykuc2hvdWxkLmJlLnRydWU7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBub3QgYWNjZXB0IG5vbi1wYWNrYWdlcyBvciBub24tYnVuZGxlcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlzUGFja2FnZU9yQnVuZGxlKCdmb28nKS5zaG91bGQuYmUuZmFsc2U7XG4gICAgICBpc1BhY2thZ2VPckJ1bmRsZSgnL3BhdGgvdG8vYW4uYXBwJykuc2hvdWxkLmJlLmZhbHNlO1xuICAgICAgaXNQYWNrYWdlT3JCdW5kbGUoJy9wYXRoL3RvL2FuLmFwaycpLnNob3VsZC5iZS5mYWxzZTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyNkdXBsaWNhdGVLZXlzJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgdHJhbnNsYXRlIGtleSBpbiBhbiBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkdXBsaWNhdGVLZXlzKHsnZm9vJzogJ2hlbGxvIHdvcmxkJ30sICdmb28nLCAnYmFyJykuc2hvdWxkLmVxbCh7J2Zvbyc6ICdoZWxsbyB3b3JsZCcsICdiYXInOiAnaGVsbG8gd29ybGQnfSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCB0cmFuc2xhdGUga2V5IGluIGFuIG9iamVjdCB3aXRoaW4gYW4gb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgZHVwbGljYXRlS2V5cyh7J2tleSc6IHsnZm9vJzogJ2hlbGxvIHdvcmxkJ319LCAnZm9vJywgJ2JhcicpLnNob3VsZC5lcWwoeydrZXknOiB7J2Zvbyc6ICdoZWxsbyB3b3JsZCcsICdiYXInOiAnaGVsbG8gd29ybGQnfX0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgdHJhbnNsYXRlIGtleSBpbiBhbiBvYmplY3Qgd2l0aCBhbiBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGR1cGxpY2F0ZUtleXMoW1xuICAgICAgICB7J2tleSc6IHsnZm9vJzogJ2hlbGxvIHdvcmxkJ319LFxuICAgICAgICB7J2Zvbyc6ICdIRUxMTyBXT1JMRCd9XG4gICAgICBdLCAnZm9vJywgJ2JhcicpLnNob3VsZC5lcWwoW1xuICAgICAgICB7J2tleSc6IHsnZm9vJzogJ2hlbGxvIHdvcmxkJywgJ2Jhcic6ICdoZWxsbyB3b3JsZCd9fSxcbiAgICAgICAgeydmb28nOiAnSEVMTE8gV09STEQnLCAnYmFyJzogJ0hFTExPIFdPUkxEJ31cbiAgICAgIF0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZHVwbGljYXRlIGJvdGgga2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGR1cGxpY2F0ZUtleXMoe1xuICAgICAgICAna2V5T25lJzoge1xuICAgICAgICAgICdmb28nOiAnaGVsbG8gd29ybGQnLFxuICAgICAgICB9LFxuICAgICAgICAna2V5VHdvJzoge1xuICAgICAgICAgICdiYXInOiAnSEVMTE8gV09STEQnLFxuICAgICAgICB9LFxuICAgICAgfSwgJ2ZvbycsICdiYXInKS5zaG91bGQuZXFsKHtcbiAgICAgICAgJ2tleU9uZSc6IHtcbiAgICAgICAgICAnZm9vJzogJ2hlbGxvIHdvcmxkJyxcbiAgICAgICAgICAnYmFyJzogJ2hlbGxvIHdvcmxkJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ2tleVR3byc6IHtcbiAgICAgICAgICAnYmFyJzogJ0hFTExPIFdPUkxEJyxcbiAgICAgICAgICAnZm9vJzogJ0hFTExPIFdPUkxEJyxcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBub3QgZG8gYW55dGhpbmcgdG8gcHJpbWl0aXZlcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIFswLCAxLCAtMSwgdHJ1ZSwgZmFsc2UsIG51bGwsIHVuZGVmaW5lZCwgJycsICdIZWxsbyBXb3JsZCddLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGR1cGxpY2F0ZUtleXMoaXRlbSksIGl0ZW0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCByZW5hbWUga2V5cyBvbiBiaWcgY29tcGxleCBvYmplY3RzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgaW5wdXQgPSBbXG4gICAgICAgIHsnZm9vJzogJ2Jhcid9LFxuICAgICAgICB7XG4gICAgICAgICAgaGVsbG86IHtcbiAgICAgICAgICAgIHdvcmxkOiB7XG4gICAgICAgICAgICAgICdmb28nOiAnQkFSJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGZvbzogJ2JhaHInXG4gICAgICAgIH0sXG4gICAgICAgICdmb28nLFxuICAgICAgICBudWxsLFxuICAgICAgICAwXG4gICAgICBdO1xuICAgICAgY29uc3QgZXhwZWN0ZWRPdXRwdXQgPSBbXG4gICAgICAgIHsnZm9vJzogJ2JhcicsICdGT08nOiAnYmFyJ30sXG4gICAgICAgIHtcbiAgICAgICAgICBoZWxsbzoge1xuICAgICAgICAgICAgd29ybGQ6IHtcbiAgICAgICAgICAgICAgJ2Zvbyc6ICdCQVInLFxuICAgICAgICAgICAgICAnRk9PJzogJ0JBUicsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBmb286ICdiYWhyJyxcbiAgICAgICAgICBGT086ICdiYWhyJ1xuICAgICAgICB9LFxuICAgICAgICAnZm9vJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMFxuICAgICAgXTtcbiAgICAgIGR1cGxpY2F0ZUtleXMoaW5wdXQsICdmb28nLCAnRk9PJykuc2hvdWxkLmRlZXAuZXF1YWwoZXhwZWN0ZWRPdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnI2NvbmZpZ3VyZUFwcCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgc2FuZGJveDtcblxuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgc2FuZGJveCA9IHNpbm9uLmNyZWF0ZVNhbmRib3goKTtcbiAgICAgIHNhbmRib3guc3R1Yih6aXAsICdleHRyYWN0QWxsVG8nKS5yZXNvbHZlcygpO1xuICAgICAgc2FuZGJveC5zdHViKHppcCwgJ2Fzc2VydFZhbGlkWmlwJykucmVzb2x2ZXMoKTtcbiAgICAgIHNhbmRib3guc3R1YihmcywgJ212JykucmVzb2x2ZXMoKTtcbiAgICAgIHNhbmRib3guc3R1YihmcywgJ3N0YXQnKS5yZXNvbHZlcyh7XG4gICAgICAgIGlzRmlsZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgaXNEaXJlY3Rvcnk6ICgpID0+IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICBzYW5kYm94LnN0dWIoZnMsICdleGlzdHMnKS5yZXNvbHZlcyh0cnVlKTtcbiAgICAgIHNhbmRib3guc3R1YihmcywgJ2hhc2gnKS5yZXNvbHZlcygnMHhERUFEQkVFRicpO1xuICAgICAgc2FuZGJveC5zdHViKGZzLCAnZ2xvYicpLnJlc29sdmVzKFsnL3BhdGgvdG8vYW4uYXBrJ10pO1xuICAgICAgc2FuZGJveC5zdHViKGZzLCAncmltcmFmJykucmVzb2x2ZXMoKTtcbiAgICAgIHNhbmRib3guc3R1Yih0ZW1wRGlyLCAnb3BlbkRpcicpLnJlc29sdmVzKCcvc29tZS9kaXInKTtcbiAgICB9KTtcblxuICAgIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGFzcyBcInVzZVN5c3RlbVVuemlwXCIgZmxhZyB0aHJvdWdoIHRvIEBhcHBpdW0vc3VwcG9ydCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyZUFwcCgnL3BhdGgvdG8vYW4uYXBrLnppcCcsICcuYXBrJyk7XG4gICAgICB6aXAuZXh0cmFjdEFsbFRvLmdldENhbGwoMCkubGFzdEFyZy51c2VTeXN0ZW1VbnppcC5zaG91bGQuYmUudHJ1ZTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ3BhcnNlQ2Fwc0FycmF5JywgZnVuY3Rpb24gKCkge1xuICBpdCgnc2hvdWxkIHBhcnNlIHN0cmluZyBpbnRvIGFycmF5JywgZnVuY3Rpb24gKCkge1xuICAgIHBhcnNlQ2Fwc0FycmF5KCcvdG1wL215L2FwcC56aXAnKS5zaG91bGQuZXFsKFsnL3RtcC9teS9hcHAuemlwJ10pO1xuICB9KTtcbiAgaXQoJ3Nob3VsZCBwYXJzZSBhcnJheSBhcyBzdHJpbmcgaW50byBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICBwYXJzZUNhcHNBcnJheSgnW1wiL3RtcC9teS9hcHAuemlwXCJdJykuc2hvdWxkLmVxbChbJy90bXAvbXkvYXBwLnppcCddKTtcbiAgICBwYXJzZUNhcHNBcnJheSgnW1wiL3RtcC9teS9hcHAuemlwXCIsXCIvdG1wL215L2FwcDIuemlwXCJdJykuc2hvdWxkLmVxbChbXG4gICAgICAnL3RtcC9teS9hcHAuemlwJyxcbiAgICAgICcvdG1wL215L2FwcDIuemlwJ1xuICAgIF0pO1xuICB9KTtcbiAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gYXJyYXkgd2l0aG91dCBjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgcGFyc2VDYXBzQXJyYXkoWydhJywgJ2InXSkuc2hvdWxkLmVxbChbJ2EnLCAnYiddKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("source-map-support/register");
|
|
6
|
+
|
|
7
|
+
var _lib = _interopRequireDefault(require("../../../lib"));
|
|
8
|
+
|
|
9
|
+
var _sinon = require("sinon");
|
|
10
|
+
|
|
11
|
+
describe('timeout', function () {
|
|
12
|
+
let driver = new _lib.default();
|
|
13
|
+
let implicitWaitSpy;
|
|
14
|
+
let sandbox;
|
|
15
|
+
beforeEach(function () {
|
|
16
|
+
sandbox = (0, _sinon.createSandbox)();
|
|
17
|
+
driver.implicitWaitMs = 0;
|
|
18
|
+
implicitWaitSpy = sandbox.spy(driver, 'setImplicitWait');
|
|
19
|
+
});
|
|
20
|
+
afterEach(function () {
|
|
21
|
+
sandbox.restore();
|
|
22
|
+
});
|
|
23
|
+
describe('timeouts', function () {
|
|
24
|
+
describe('errors', function () {
|
|
25
|
+
it('should throw an error if something random is sent', async function () {
|
|
26
|
+
await driver.timeouts('random timeout', 'howdy').should.eventually.be.rejected;
|
|
27
|
+
});
|
|
28
|
+
it('should throw an error if timeout is negative', async function () {
|
|
29
|
+
await driver.timeouts('random timeout', -42).should.eventually.be.rejected;
|
|
30
|
+
});
|
|
31
|
+
it('should throw an errors if timeout type is unknown', async function () {
|
|
32
|
+
await driver.timeouts('random timeout', 42).should.eventually.be.rejected;
|
|
33
|
+
});
|
|
34
|
+
it('should throw an error if something random is sent to scriptDuration', async function () {
|
|
35
|
+
await driver.timeouts(undefined, undefined, 123, undefined, undefined).should.eventually.be.rejected;
|
|
36
|
+
});
|
|
37
|
+
it('should throw an error if something random is sent to pageLoadDuration', async function () {
|
|
38
|
+
await driver.timeouts(undefined, undefined, undefined, 123, undefined).should.eventually.be.rejected;
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('implicit wait', function () {
|
|
42
|
+
it('should call setImplicitWait when given an integer', async function () {
|
|
43
|
+
await driver.timeouts('implicit', 42);
|
|
44
|
+
implicitWaitSpy.calledOnce.should.be.true;
|
|
45
|
+
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
46
|
+
driver.implicitWaitMs.should.eql(42);
|
|
47
|
+
});
|
|
48
|
+
it('should call setImplicitWait when given a string', async function () {
|
|
49
|
+
await driver.timeouts('implicit', '42');
|
|
50
|
+
implicitWaitSpy.calledOnce.should.be.true;
|
|
51
|
+
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
52
|
+
driver.implicitWaitMs.should.eql(42);
|
|
53
|
+
});
|
|
54
|
+
it('should call setImplicitWait when given an integer to implicitDuration', async function () {
|
|
55
|
+
await driver.timeouts(undefined, undefined, undefined, undefined, 42);
|
|
56
|
+
implicitWaitSpy.calledOnce.should.be.true;
|
|
57
|
+
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
58
|
+
driver.implicitWaitMs.should.eql(42);
|
|
59
|
+
});
|
|
60
|
+
it('should call setImplicitWait when given a string to implicitDuration', async function () {
|
|
61
|
+
await driver.timeouts(undefined, undefined, undefined, undefined, '42');
|
|
62
|
+
implicitWaitSpy.calledOnce.should.be.true;
|
|
63
|
+
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
64
|
+
driver.implicitWaitMs.should.eql(42);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe('implicitWait', function () {
|
|
69
|
+
it('should call setImplicitWait when given an integer', async function () {
|
|
70
|
+
await driver.implicitWait(42);
|
|
71
|
+
implicitWaitSpy.calledOnce.should.be.true;
|
|
72
|
+
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
73
|
+
driver.implicitWaitMs.should.eql(42);
|
|
74
|
+
});
|
|
75
|
+
it('should call setImplicitWait when given a string', async function () {
|
|
76
|
+
await driver.implicitWait('42');
|
|
77
|
+
implicitWaitSpy.calledOnce.should.be.true;
|
|
78
|
+
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
79
|
+
driver.implicitWaitMs.should.eql(42);
|
|
80
|
+
});
|
|
81
|
+
it('should throw an error if something random is sent', async function () {
|
|
82
|
+
await driver.implicitWait('howdy').should.eventually.be.rejected;
|
|
83
|
+
});
|
|
84
|
+
it('should throw an error if timeout is negative', async function () {
|
|
85
|
+
await driver.implicitWait(-42).should.eventually.be.rejected;
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('set implicit wait', function () {
|
|
89
|
+
it('should set the implicit wait with an integer', function () {
|
|
90
|
+
driver.setImplicitWait(42);
|
|
91
|
+
driver.implicitWaitMs.should.eql(42);
|
|
92
|
+
});
|
|
93
|
+
describe('with managed driver', function () {
|
|
94
|
+
let managedDriver1 = new _lib.default();
|
|
95
|
+
let managedDriver2 = new _lib.default();
|
|
96
|
+
before(function () {
|
|
97
|
+
driver.addManagedDriver(managedDriver1);
|
|
98
|
+
driver.addManagedDriver(managedDriver2);
|
|
99
|
+
});
|
|
100
|
+
after(function () {
|
|
101
|
+
driver.managedDrivers = [];
|
|
102
|
+
});
|
|
103
|
+
it('should set the implicit wait on managed drivers', function () {
|
|
104
|
+
driver.setImplicitWait(42);
|
|
105
|
+
driver.implicitWaitMs.should.eql(42);
|
|
106
|
+
managedDriver1.implicitWaitMs.should.eql(42);
|
|
107
|
+
managedDriver2.implicitWaitMs.should.eql(42);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
describe('set new command timeout', function () {
|
|
112
|
+
it('should set the new command timeout with an integer', function () {
|
|
113
|
+
driver.setNewCommandTimeout(42);
|
|
114
|
+
driver.newCommandTimeoutMs.should.eql(42);
|
|
115
|
+
});
|
|
116
|
+
describe('with managed driver', function () {
|
|
117
|
+
let managedDriver1 = new _lib.default();
|
|
118
|
+
let managedDriver2 = new _lib.default();
|
|
119
|
+
before(function () {
|
|
120
|
+
driver.addManagedDriver(managedDriver1);
|
|
121
|
+
driver.addManagedDriver(managedDriver2);
|
|
122
|
+
});
|
|
123
|
+
after(function () {
|
|
124
|
+
driver.managedDrivers = [];
|
|
125
|
+
});
|
|
126
|
+
it('should set the new command timeout on managed drivers', function () {
|
|
127
|
+
driver.setNewCommandTimeout(42);
|
|
128
|
+
driver.newCommandTimeoutMs.should.eql(42);
|
|
129
|
+
managedDriver1.newCommandTimeoutMs.should.eql(42);
|
|
130
|
+
managedDriver2.newCommandTimeoutMs.should.eql(42);
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iYXNlZHJpdmVyL3RpbWVvdXQuc3BlYy5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImRyaXZlciIsIkJhc2VEcml2ZXIiLCJpbXBsaWNpdFdhaXRTcHkiLCJzYW5kYm94IiwiYmVmb3JlRWFjaCIsImltcGxpY2l0V2FpdE1zIiwic3B5IiwiYWZ0ZXJFYWNoIiwicmVzdG9yZSIsIml0IiwidGltZW91dHMiLCJzaG91bGQiLCJldmVudHVhbGx5IiwiYmUiLCJyZWplY3RlZCIsInVuZGVmaW5lZCIsImNhbGxlZE9uY2UiLCJ0cnVlIiwiZmlyc3RDYWxsIiwiYXJncyIsImVxdWFsIiwiZXFsIiwiaW1wbGljaXRXYWl0Iiwic2V0SW1wbGljaXRXYWl0IiwibWFuYWdlZERyaXZlcjEiLCJtYW5hZ2VkRHJpdmVyMiIsImJlZm9yZSIsImFkZE1hbmFnZWREcml2ZXIiLCJhZnRlciIsIm1hbmFnZWREcml2ZXJzIiwic2V0TmV3Q29tbWFuZFRpbWVvdXQiLCJuZXdDb21tYW5kVGltZW91dE1zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFFQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxZQUFZO0FBQzlCLE1BQUlDLE1BQU0sR0FBRyxJQUFJQyxZQUFKLEVBQWI7QUFDQSxNQUFJQyxlQUFKO0FBQ0EsTUFBSUMsT0FBSjtBQUNBQyxFQUFBQSxVQUFVLENBQUMsWUFBWTtBQUNyQkQsSUFBQUEsT0FBTyxHQUFHLDJCQUFWO0FBQ0FILElBQUFBLE1BQU0sQ0FBQ0ssY0FBUCxHQUF3QixDQUF4QjtBQUNBSCxJQUFBQSxlQUFlLEdBQUdDLE9BQU8sQ0FBQ0csR0FBUixDQUFZTixNQUFaLEVBQW9CLGlCQUFwQixDQUFsQjtBQUNELEdBSlMsQ0FBVjtBQUtBTyxFQUFBQSxTQUFTLENBQUMsWUFBWTtBQUNwQkosSUFBQUEsT0FBTyxDQUFDSyxPQUFSO0FBQ0QsR0FGUSxDQUFUO0FBR0FULEVBQUFBLFFBQVEsQ0FBQyxVQUFELEVB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TUFBTSxDQUFDK0IsbUJBQVAsQ0FBMkJwQixNQUEzQixDQUFrQ1UsR0FBbEMsQ0FBc0MsRUFBdEM7QUFDRCxLQUhDLENBQUY7QUFJQXRCLElBQUFBLFFBQVEsQ0FBQyxxQkFBRCxFQUF3QixZQUFZO0FBQzFDLFVBQUl5QixjQUFjLEdBQUcsSUFBSXZCLFlBQUosRUFBckI7QUFDQSxVQUFJd0IsY0FBYyxHQUFHLElBQUl4QixZQUFKLEVBQXJCO0FBQ0F5QixNQUFBQSxNQUFNLENBQUMsWUFBWTtBQUNqQjFCLFFBQUFBLE1BQU0sQ0FBQzJCLGdCQUFQLENBQXdCSCxjQUF4QjtBQUNBeEIsUUFBQUEsTUFBTSxDQUFDMkIsZ0JBQVAsQ0FBd0JGLGNBQXhCO0FBQ0QsT0FISyxDQUFOO0FBSUFHLE1BQUFBLEtBQUssQ0FBQyxZQUFZO0FBQ2hCNUIsUUFBQUEsTUFBTSxDQUFDNkIsY0FBUCxHQUF3QixFQUF4QjtBQUNELE9BRkksQ0FBTDtBQUdBcEIsTUFBQUEsRUFBRSxDQUFDLHVEQUFELEVBQTBELFlBQVk7QUFDdEVULFFBQUFBLE1BQU0sQ0FBQzhCLG9CQUFQLENBQTRCLEVBQTVCO0FBQ0E5QixRQUFBQSxNQUFNLENBQUMrQixtQkFBUCxDQUEyQnBCLE1BQTNCLENBQWtDVSxHQUFsQyxDQUFzQyxFQUF0QztBQUNBRyxRQUFBQSxjQUFjLENBQUNPLG1CQUFmLENBQW1DcEIsTUFBbkMsQ0FBMENVLEdBQTFDLENBQThDLEVBQTlDO0FBQ0FJLFFBQUFBLGNBQWMsQ0FBQ00sbUJBQWYsQ0FBbUNwQixNQUFuQyxDQUEwQ1UsR0FBMUMsQ0FBOEMsRUFBOUM7QUFDRCxPQUxDLENBQUY7QUFNRCxLQWhCTyxDQUFSO0FBaUJELEdBdEJPLENBQVI7QUF1QkQsQ0E1SE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlRHJpdmVyIGZyb20gJy4uLy4uLy4uL2xpYic7XG5pbXBvcnQgeyBjcmVhdGVTYW5kYm94IH0gZnJvbSAnc2lub24nO1xuXG5kZXNjcmliZSgndGltZW91dCcsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGRyaXZlciA9IG5ldyBCYXNlRHJpdmVyKCk7XG4gIGxldCBpbXBsaWNpdFdhaXRTcHk7XG4gIGxldCBzYW5kYm94O1xuICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzYW5kYm94ID0gY3JlYXRlU2FuZGJveCgpO1xuICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcyA9IDA7XG4gICAgaW1wbGljaXRXYWl0U3B5ID0gc2FuZGJveC5zcHkoZHJpdmVyLCAnc2V0SW1wbGljaXRXYWl0Jyk7XG4gIH0pO1xuICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgIHNhbmRib3gucmVzdG9yZSgpO1xuICB9KTtcbiAgZGVzY3JpYmUoJ3RpbWVvdXRzJywgZnVuY3Rpb24gKCkge1xuICAgIGRlc2NyaWJlKCdlcnJvcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHNvbWV0aGluZyByYW5kb20gaXMgc2VudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKCdyYW5kb20gdGltZW91dCcsICdob3dkeScpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHRpbWVvdXQgaXMgbmVnYXRpdmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cygncmFuZG9tIHRpbWVvdXQnLCAtNDIpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9ycyBpZiB0aW1lb3V0IHR5cGUgaXMgdW5rbm93bicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKCdyYW5kb20gdGltZW91dCcsIDQyKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZDtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBzb21ldGhpbmcgcmFuZG9tIGlzIHNlbnQgdG8gc2NyaXB0RHVyYXRpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgMTIzLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgc29tZXRoaW5nIHJhbmRvbSBpcyBzZW50IHRvIHBhZ2VMb2FkRHVyYXRpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAxMjMsIHVuZGVmaW5lZCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnaW1wbGljaXQgd2FpdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KCdzaG91bGQgY2FsbCBzZXRJbXBsaWNpdFdhaXQgd2hlbiBnaXZlbiBhbiBpbnRlZ2VyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHMoJ2ltcGxpY2l0JywgNDIpO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgICAgaW1wbGljaXRXYWl0U3B5LmZpcnN0Q2FsbC5hcmdzWzBdLnNob3VsZC5lcXVhbCg0Mik7XG4gICAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBjYWxsIHNldEltcGxpY2l0V2FpdCB3aGVuIGdpdmVuIGEgc3RyaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHMoJ2ltcGxpY2l0JywgJzQyJyk7XG4gICAgICAgIGltcGxpY2l0V2FpdFNweS5jYWxsZWRPbmNlLnNob3VsZC5iZS50cnVlO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGNhbGwgc2V0SW1wbGljaXRXYWl0IHdoZW4gZ2l2ZW4gYW4gaW50ZWdlciB0byBpbXBsaWNpdER1cmF0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHModW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCA0Mik7XG4gICAgICAgIGltcGxpY2l0V2FpdFNweS5jYWxsZWRPbmNlLnNob3VsZC5iZS50cnVlO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGNhbGwgc2V0SW1wbGljaXRXYWl0IHdoZW4gZ2l2ZW4gYSBzdHJpbmcgdG8gaW1wbGljaXREdXJhdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgJzQyJyk7XG4gICAgICAgIGltcGxpY2l0V2FpdFNweS5jYWxsZWRPbmNlLnNob3VsZC5iZS50cnVlO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnaW1wbGljaXRXYWl0JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgY2FsbCBzZXRJbXBsaWNpdFdhaXQgd2hlbiBnaXZlbiBhbiBpbnRlZ2VyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLmltcGxpY2l0V2FpdCg0Mik7XG4gICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgIGltcGxpY2l0V2FpdFNweS5maXJzdENhbGwuYXJnc1swXS5zaG91bGQuZXF1YWwoNDIpO1xuICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgY2FsbCBzZXRJbXBsaWNpdFdhaXQgd2hlbiBnaXZlbiBhIHN0cmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5pbXBsaWNpdFdhaXQoJzQyJyk7XG4gICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgIGltcGxpY2l0V2FpdFNweS5maXJzdENhbGwuYXJnc1swXS5zaG91bGQuZXF1YWwoNDIpO1xuICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgc29tZXRoaW5nIHJhbmRvbSBpcyBzZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLmltcGxpY2l0V2FpdCgnaG93ZHknKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZDtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHRpbWVvdXQgaXMgbmVnYXRpdmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuaW1wbGljaXRXYWl0KC00Mikuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZXQgaW1wbGljaXQgd2FpdCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHNldCB0aGUgaW1wbGljaXQgd2FpdCB3aXRoIGFuIGludGVnZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkcml2ZXIuc2V0SW1wbGljaXRXYWl0KDQyKTtcbiAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnd2l0aCBtYW5hZ2VkIGRyaXZlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBtYW5hZ2VkRHJpdmVyMSA9IG5ldyBCYXNlRHJpdmVyKCk7XG4gICAgICBsZXQgbWFuYWdlZERyaXZlcjIgPSBuZXcgQmFzZURyaXZlcigpO1xuICAgICAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLmFkZE1hbmFnZWREcml2ZXIobWFuYWdlZERyaXZlcjEpO1xuICAgICAgICBkcml2ZXIuYWRkTWFuYWdlZERyaXZlcihtYW5hZ2VkRHJpdmVyMik7XG4gICAgICB9KTtcbiAgICAgIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLm1hbmFnZWREcml2ZXJzID0gW107XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgc2V0IHRoZSBpbXBsaWNpdCB3YWl0IG9uIG1hbmFnZWQgZHJpdmVycycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLnNldEltcGxpY2l0V2FpdCg0Mik7XG4gICAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgICAgbWFuYWdlZERyaXZlcjEuaW1wbGljaXRXYWl0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgICAgIG1hbmFnZWREcml2ZXIyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnc2V0IG5ldyBjb21tYW5kIHRpbWVvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgdGhlIG5ldyBjb21tYW5kIHRpbWVvdXQgd2l0aCBhbiBpbnRlZ2VyJywgZnVuY3Rpb24gKCkge1xuICAgICAgZHJpdmVyLnNldE5ld0NvbW1hbmRUaW1lb3V0KDQyKTtcbiAgICAgIGRyaXZlci5uZXdDb21tYW5kVGltZW91dE1zLnNob3VsZC5lcWwoNDIpO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCd3aXRoIG1hbmFnZWQgZHJpdmVyJywgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IG1hbmFnZWREcml2ZXIxID0gbmV3IEJhc2VEcml2ZXIoKTtcbiAgICAgIGxldCBtYW5hZ2VkRHJpdmVyMiA9IG5ldyBCYXNlRHJpdmVyKCk7XG4gICAgICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgICAgICBkcml2ZXIuYWRkTWFuYWdlZERyaXZlcihtYW5hZ2VkRHJpdmVyMSk7XG4gICAgICAgIGRyaXZlci5hZGRNYW5hZ2VkRHJpdmVyKG1hbmFnZWREcml2ZXIyKTtcbiAgICAgIH0pO1xuICAgICAgYWZ0ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgICBkcml2ZXIubWFuYWdlZERyaXZlcnMgPSBbXTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzZXQgdGhlIG5ldyBjb21tYW5kIHRpbWVvdXQgb24gbWFuYWdlZCBkcml2ZXJzJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBkcml2ZXIuc2V0TmV3Q29tbWFuZFRpbWVvdXQoNDIpO1xuICAgICAgICBkcml2ZXIubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgICAgbWFuYWdlZERyaXZlcjEubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgICAgbWFuYWdlZERyaXZlcjIubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("source-map-support/register");
|
|
4
|
+
|
|
5
|
+
var _lib = require("../../../lib");
|
|
6
|
+
|
|
7
|
+
var _server2 = require("../../../lib/express/server");
|
|
8
|
+
|
|
9
|
+
var _sinon = require("sinon");
|
|
10
|
+
|
|
11
|
+
var _helpers = require("../../helpers");
|
|
12
|
+
|
|
13
|
+
const newMethodMap = {
|
|
14
|
+
'/session/:sessionId/fake': {
|
|
15
|
+
GET: {
|
|
16
|
+
command: 'fakeGet'
|
|
17
|
+
},
|
|
18
|
+
POST: {
|
|
19
|
+
command: 'fakePost',
|
|
20
|
+
payloadParams: {
|
|
21
|
+
required: ['fakeParam']
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const updateServer = (app, httpServer) => {
|
|
28
|
+
app.updated = true;
|
|
29
|
+
httpServer.updated = true;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function fakeDriver() {
|
|
33
|
+
return {
|
|
34
|
+
sessionExists: () => {},
|
|
35
|
+
executeCommand: () => {}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
describe('server configuration', function () {
|
|
40
|
+
let port;
|
|
41
|
+
let sandbox;
|
|
42
|
+
|
|
43
|
+
function fakeApp() {
|
|
44
|
+
const app = {
|
|
45
|
+
use: sandbox.spy(),
|
|
46
|
+
all: sandbox.spy(),
|
|
47
|
+
get: sandbox.spy(),
|
|
48
|
+
post: sandbox.spy(),
|
|
49
|
+
delete: sandbox.spy(),
|
|
50
|
+
totalCount: () => app.use.callCount + app.all.callCount + app.get.callCount + app.post.callCount + app.delete.callCount
|
|
51
|
+
};
|
|
52
|
+
return app;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
before(async function () {
|
|
56
|
+
port = await (0, _helpers.getTestPort)(true);
|
|
57
|
+
});
|
|
58
|
+
beforeEach(function () {
|
|
59
|
+
sandbox = (0, _sinon.createSandbox)();
|
|
60
|
+
});
|
|
61
|
+
afterEach(function () {
|
|
62
|
+
sandbox.restore();
|
|
63
|
+
});
|
|
64
|
+
it('should actually use the middleware', function () {
|
|
65
|
+
const app = fakeApp();
|
|
66
|
+
|
|
67
|
+
const configureRoutes = () => {};
|
|
68
|
+
|
|
69
|
+
(0, _server2.configureServer)({
|
|
70
|
+
app,
|
|
71
|
+
addRoutes: configureRoutes
|
|
72
|
+
});
|
|
73
|
+
app.use.callCount.should.equal(14);
|
|
74
|
+
app.all.callCount.should.equal(4);
|
|
75
|
+
});
|
|
76
|
+
it('should apply new methods in plugins to the standard method map', function () {
|
|
77
|
+
const app1 = fakeApp();
|
|
78
|
+
const app2 = fakeApp();
|
|
79
|
+
const driver = fakeDriver();
|
|
80
|
+
const addRoutes = (0, _lib.routeConfiguringFunction)(driver);
|
|
81
|
+
(0, _server2.configureServer)({
|
|
82
|
+
app: app1,
|
|
83
|
+
addRoutes
|
|
84
|
+
});
|
|
85
|
+
(0, _server2.configureServer)({
|
|
86
|
+
app: app2,
|
|
87
|
+
addRoutes,
|
|
88
|
+
extraMethodMap: newMethodMap
|
|
89
|
+
});
|
|
90
|
+
app2.totalCount().should.eql(app1.totalCount() + 2);
|
|
91
|
+
});
|
|
92
|
+
it('should silently reject new methods in plugins if not plain objects', function () {
|
|
93
|
+
const app1 = fakeApp();
|
|
94
|
+
const app2 = fakeApp();
|
|
95
|
+
const driver = fakeDriver();
|
|
96
|
+
const addRoutes = (0, _lib.routeConfiguringFunction)(driver);
|
|
97
|
+
(0, _server2.configureServer)({
|
|
98
|
+
app: app1,
|
|
99
|
+
addRoutes
|
|
100
|
+
});
|
|
101
|
+
(0, _server2.configureServer)({
|
|
102
|
+
app: app2,
|
|
103
|
+
addRoutes,
|
|
104
|
+
extraMethodMap: []
|
|
105
|
+
});
|
|
106
|
+
app2.totalCount().should.eql(app1.totalCount());
|
|
107
|
+
});
|
|
108
|
+
it('should allow plugins to update the server', async function () {
|
|
109
|
+
const driver = fakeDriver();
|
|
110
|
+
|
|
111
|
+
const _server = await (0, _lib.server)({
|
|
112
|
+
routeConfiguringFunction: (0, _lib.routeConfiguringFunction)(driver),
|
|
113
|
+
port,
|
|
114
|
+
extraMethodMap: newMethodMap,
|
|
115
|
+
serverUpdaters: [updateServer]
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
try {
|
|
119
|
+
_server.updated.should.be.true;
|
|
120
|
+
} finally {
|
|
121
|
+
await _server.close();
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
it('should reject if error thrown in configureRoutes parameter', async function () {
|
|
125
|
+
const configureRoutes = () => {
|
|
126
|
+
throw new Error('I am Mr. MeeSeeks look at me!');
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
await (0, _lib.server)({
|
|
130
|
+
routeConfiguringFunction: configureRoutes,
|
|
131
|
+
port
|
|
132
|
+
}).should.be.rejectedWith('MeeSeeks');
|
|
133
|
+
});
|
|
134
|
+
describe('#normalizeBasePath', function () {
|
|
135
|
+
it('should throw an error for paths of the wrong type', function () {
|
|
136
|
+
should.throw(() => {
|
|
137
|
+
(0, _server2.normalizeBasePath)(null);
|
|
138
|
+
});
|
|
139
|
+
should.throw(() => {
|
|
140
|
+
(0, _server2.normalizeBasePath)(1);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
it('should remove trailing slashes', function () {
|
|
144
|
+
(0, _server2.normalizeBasePath)('/wd/hub/').should.eql('/wd/hub');
|
|
145
|
+
(0, _server2.normalizeBasePath)('/foo/').should.eql('/foo');
|
|
146
|
+
(0, _server2.normalizeBasePath)('/').should.eql('');
|
|
147
|
+
});
|
|
148
|
+
it('should ensure a leading slash is present', function () {
|
|
149
|
+
(0, _server2.normalizeBasePath)('foo').should.eql('/foo');
|
|
150
|
+
(0, _server2.normalizeBasePath)('wd/hub').should.eql('/wd/hub');
|
|
151
|
+
(0, _server2.normalizeBasePath)('wd/hub/').should.eql('/wd/hub');
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9leHByZXNzL3NlcnZlci5zcGVjLmpzIl0sIm5hbWVzIjpbIm5ld01ldGhvZE1hcCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsInJlcXVpcmVkIiwidXBkYXRlU2VydmVyIiwiYXBwIiwiaHR0cFNlcnZlciIsInVwZGF0ZWQiLCJmYWtlRHJpdmVyIiwic2Vzc2lvbkV4aXN0cyIsImV4ZWN1dGVDb21tYW5kIiwiZGVzY3JpYmUiLCJwb3J0Iiwic2FuZGJveCIsImZha2VBcHAiLCJ1c2UiLCJzcHkiLCJhbGwiLCJnZXQiLCJwb3N0IiwiZGVsZXRlIiwidG90YWxDb3VudCIsImNhbGxDb3VudCIsImJlZm9yZSIsImJlZm9yZUVhY2giLCJhZnRlckVhY2giLCJyZXN0b3JlIiwiaXQiLCJjb25maWd1cmVSb3V0ZXMiLCJhZGRSb3V0ZXMiLCJzaG91bGQiLCJlcXVhbCIsImFwcDEiLCJhcHAyIiwiZHJpdmVyIiwiZXh0cmFNZXRob2RNYXAiLCJlcWwiLCJfc2VydmVyIiwicm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIiwic2VydmVyVXBkYXRlcnMiLCJiZSIsInRydWUiLCJjbG9zZSIsIkVycm9yIiwicmVqZWN0ZWRXaXRoIiwidGhyb3ciXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxZQUFZLEdBQUc7QUFDbkIsOEJBQTRCO0FBQzFCQyxJQUFBQSxHQUFHLEVBQUU7QUFBQ0MsTUFBQUEsT0FBTyxFQUFFO0FBQVYsS0FEcUI7QUFFMUJDLElBQUFBLElBQUksRUFBRTtBQUFDRCxNQUFBQSxPQUFPLEVBQUUsVUFBVjtBQUFzQkUsTUFBQUEsYUFBYSxFQUFFO0FBQUNDLFFBQUFBLFFBQVEsRUFBRSxDQUFDLFdBQUQ7QUFBWDtBQUFyQztBQUZvQjtBQURULENBQXJCOztBQU9BLE1BQU1DLFlBQVksR0FBRyxDQUFDQyxHQUFELEVBQU1DLFVBQU4sS0FBcUI7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LENBekdPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgc2VydmVyLCByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHsgY29uZmlndXJlU2VydmVyLCBub3JtYWxpemVCYXNlUGF0aCB9IGZyb20gJy4uLy4uLy4uL2xpYi9leHByZXNzL3NlcnZlcic7XG5pbXBvcnQgeyBjcmVhdGVTYW5kYm94IH0gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgZ2V0VGVzdFBvcnQgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcblxuY29uc3QgbmV3TWV0aG9kTWFwID0ge1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mYWtlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdmYWtlR2V0J30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmYWtlUG9zdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydmYWtlUGFyYW0nXX19XG4gIH0sXG59O1xuXG5jb25zdCB1cGRhdGVTZXJ2ZXIgPSAoYXBwLCBodHRwU2VydmVyKSA9PiB7XG4gIGFwcC51cGRhdGVkID0gdHJ1ZTtcbiAgaHR0cFNlcnZlci51cGRhdGVkID0gdHJ1ZTtcbn07XG5cbmZ1bmN0aW9uIGZha2VEcml2ZXIgKCkge1xuICByZXR1cm4ge3Nlc3Npb25FeGlzdHM6ICgpID0+IHt9LCBleGVjdXRlQ29tbWFuZDogKCkgPT4ge319O1xufVxuXG5kZXNjcmliZSgnc2VydmVyIGNvbmZpZ3VyYXRpb24nLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBwb3J0O1xuXG4gIGxldCBzYW5kYm94O1xuXG4gIGZ1bmN0aW9uIGZha2VBcHAgKCkge1xuICAgIGNvbnN0IGFwcCA9IHtcbiAgICAgIHVzZTogc2FuZGJveC5zcHkoKSxcbiAgICAgIGFsbDogc2FuZGJveC5zcHkoKSxcbiAgICAgIGdldDogc2FuZGJveC5zcHkoKSxcbiAgICAgIHBvc3Q6IHNhbmRib3guc3B5KCksXG4gICAgICBkZWxldGU6IHNhbmRib3guc3B5KCksXG4gICAgICB0b3RhbENvdW50OiAoKSA9PiAoXG4gICAgICAgIGFwcC51c2UuY2FsbENvdW50ICsgYXBwLmFsbC5jYWxsQ291bnQgKyBhcHAuZ2V0LmNhbGxDb3VudCArIGFwcC5wb3N0LmNhbGxDb3VudCArXG4gICAgICAgIGFwcC5kZWxldGUuY2FsbENvdW50XG4gICAgICApXG4gICAgfTtcbiAgICByZXR1cm4gYXBwO1xuICB9XG5cbiAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBwb3J0ID0gYXdhaXQgZ2V0VGVzdFBvcnQodHJ1ZSk7XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgIHNhbmRib3ggPSBjcmVhdGVTYW5kYm94KCk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgc2FuZGJveC5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWN0dWFsbHkgdXNlIHRoZSBtaWRkbGV3YXJlJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGFwcCA9IGZha2VBcHAoKTtcbiAgICBjb25zdCBjb25maWd1cmVSb3V0ZXMgPSAoKSA9PiB7fTtcbiAgICBjb25maWd1cmVTZXJ2ZXIoe2FwcCwgYWRkUm91dGVzOiBjb25maWd1cmVSb3V0ZXN9KTtcbiAgICBhcHAudXNlLmNhbGxDb3VudC5zaG91bGQuZXF1YWwoMTQpO1xuICAgIGFwcC5hbGwuY2FsbENvdW50LnNob3VsZC5lcXVhbCg0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBhcHBseSBuZXcgbWV0aG9kcyBpbiBwbHVnaW5zIHRvIHRoZSBzdGFuZGFyZCBtZXRob2QgbWFwJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGFwcDEgPSBmYWtlQXBwKCk7XG4gICAgY29uc3QgYXBwMiA9IGZha2VBcHAoKTtcbiAgICBjb25zdCBkcml2ZXIgPSBmYWtlRHJpdmVyKCk7XG4gICAgY29uc3QgYWRkUm91dGVzID0gcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uKGRyaXZlcik7XG4gICAgY29uZmlndXJlU2VydmVyKHthcHA6IGFwcDEsIGFkZFJvdXRlc30pO1xuICAgIGNvbmZpZ3VyZVNlcnZlcih7YXBwOiBhcHAyLCBhZGRSb3V0ZXMsIGV4dHJhTWV0aG9kTWFwOiBuZXdNZXRob2RNYXB9KTtcbiAgICBhcHAyLnRvdGFsQ291bnQoKS5zaG91bGQuZXFsKGFwcDEudG90YWxDb3VudCgpICsgMik7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc2lsZW50bHkgcmVqZWN0IG5ldyBtZXRob2RzIGluIHBsdWdpbnMgaWYgbm90IHBsYWluIG9iamVjdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgYXBwMSA9IGZha2VBcHAoKTtcbiAgICBjb25zdCBhcHAyID0gZmFrZUFwcCgpO1xuICAgIGNvbnN0IGRyaXZlciA9IGZha2VEcml2ZXIoKTtcbiAgICBjb25zdCBhZGRSb3V0ZXMgPSByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24oZHJpdmVyKTtcbiAgICBjb25maWd1cmVTZXJ2ZXIoe2FwcDogYXBwMSwgYWRkUm91dGVzfSk7XG4gICAgY29uZmlndXJlU2VydmVyKHthcHA6IGFwcDIsIGFkZFJvdXRlcywgZXh0cmFNZXRob2RNYXA6IFtdfSk7XG4gICAgYXBwMi50b3RhbENvdW50KCkuc2hvdWxkLmVxbChhcHAxLnRvdGFsQ291bnQoKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWxsb3cgcGx1Z2lucyB0byB1cGRhdGUgdGhlIHNlcnZlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBkcml2ZXIgPSBmYWtlRHJpdmVyKCk7XG4gICAgY29uc3QgX3NlcnZlciA9IGF3YWl0IHNlcnZlcih7XG4gICAgICByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb246IHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbihkcml2ZXIpLFxuICAgICAgcG9ydCxcbiAgICAgIGV4dHJhTWV0aG9kTWFwOiBuZXdNZXRob2RNYXAsXG4gICAgICBzZXJ2ZXJVcGRhdGVyczogW3VwZGF0ZVNlcnZlcl1cbiAgICB9KTtcbiAgICB0cnkge1xuICAgICAgX3NlcnZlci51cGRhdGVkLnNob3VsZC5iZS50cnVlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBfc2VydmVyLmNsb3NlKCk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlamVjdCBpZiBlcnJvciB0aHJvd24gaW4gY29uZmlndXJlUm91dGVzIHBhcmFtZXRlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBjb25maWd1cmVSb3V0ZXMgPSAoKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0kgYW0gTXIuIE1lZVNlZWtzIGxvb2sgYXQgbWUhJyk7XG4gICAgfTtcbiAgICBhd2FpdCBzZXJ2ZXIoe1xuICAgICAgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uOiBjb25maWd1cmVSb3V0ZXMsXG4gICAgICBwb3J0LFxuICAgIH0pLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ01lZVNlZWtzJyk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjbm9ybWFsaXplQmFzZVBhdGgnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBmb3IgcGF0aHMgb2YgdGhlIHdyb25nIHR5cGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBzaG91bGQudGhyb3coKCkgPT4ge1xuICAgICAgICBub3JtYWxpemVCYXNlUGF0aChudWxsKTtcbiAgICAgIH0pO1xuICAgICAgc2hvdWxkLnRocm93KCgpID0+IHtcbiAgICAgICAgbm9ybWFsaXplQmFzZVBhdGgoMSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHJlbW92ZSB0cmFpbGluZyBzbGFzaGVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJy93ZC9odWIvJykuc2hvdWxkLmVxbCgnL3dkL2h1YicpO1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJy9mb28vJykuc2hvdWxkLmVxbCgnL2ZvbycpO1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJy8nKS5zaG91bGQuZXFsKCcnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGVuc3VyZSBhIGxlYWRpbmcgc2xhc2ggaXMgcHJlc2VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIG5vcm1hbGl6ZUJhc2VQYXRoKCdmb28nKS5zaG91bGQuZXFsKCcvZm9vJyk7XG4gICAgICBub3JtYWxpemVCYXNlUGF0aCgnd2QvaHViJykuc2hvdWxkLmVxbCgnL3dkL2h1YicpO1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJ3dkL2h1Yi8nKS5zaG91bGQuZXFsKCcvd2QvaHViJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("source-map-support/register");
|
|
4
|
+
|
|
5
|
+
var _static = require("../../../lib/express/static");
|
|
6
|
+
|
|
7
|
+
var _sinon = require("sinon");
|
|
8
|
+
|
|
9
|
+
describe('welcome', function () {
|
|
10
|
+
let sandbox;
|
|
11
|
+
beforeEach(function () {
|
|
12
|
+
sandbox = (0, _sinon.createSandbox)();
|
|
13
|
+
});
|
|
14
|
+
afterEach(function () {
|
|
15
|
+
sandbox.restore();
|
|
16
|
+
});
|
|
17
|
+
it('should fill the template', async function () {
|
|
18
|
+
let res = {
|
|
19
|
+
send: sandbox.stub()
|
|
20
|
+
};
|
|
21
|
+
await (0, _static.welcome)({}, res);
|
|
22
|
+
res.send.calledOnce.should.be.true;
|
|
23
|
+
res.send.args[0][0].should.include('Let\'s browse!');
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9leHByZXNzL3N0YXRpYy5zcGVjLmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwic2FuZGJveCIsImJlZm9yZUVhY2giLCJhZnRlckVhY2giLCJyZXN0b3JlIiwiaXQiLCJyZXMiLCJzZW5kIiwic3R1YiIsImNhbGxlZE9uY2UiLCJzaG91bGQiLCJiZSIsInRydWUiLCJhcmdzIiwiaW5jbHVkZSJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBOztBQUNBOztBQUVBQSxRQUFRLENBQUMsU0FBRCxFQUFZLFlBQVk7QUFDOUIsTUFBSUMsT0FBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBWTtBQUNyQkQsSUFBQUEsT0FBTyxHQUFHLDJCQUFWO0FBQ0QsR0FGUyxDQUFWO0FBSUFFLEVBQUFBLFNBQVMsQ0FBQyxZQUFZO0FBQ3BCRixJQUFBQSxPQUFPLENBQUNHLE9BQVI7QUFDRCxHQUZRLENBQVQ7QUFJQUMsRUFBQUEsRUFBRSxDQUFDLDBCQUFELEVBQTZCLGtCQUFrQjtBQUMvQyxRQUFJQyxHQUFHLEdBQUc7QUFDUkMsTUFBQUEsSUFBSSxFQUFFTixPQUFPLENBQUNPLElBQVI7QUFERSxLQUFWO0FBR0EsVUFBTSxxQkFBUSxFQUFSLEVBQVlGLEdBQVosQ0FBTjtBQUVBQSxJQUFBQSxHQUFHLENBQUNDLElBQUosQ0FBU0UsVUFBVCxDQUFvQkMsTUFBcEIsQ0FBMkJDLEVBQTNCLENBQThCQyxJQUE5QjtBQUNBTixJQUFBQSxHQUFHLENBQUNDLElBQUosQ0FBU00sSUFBVCxDQUFjLENBQWQsRUFBaUIsQ0FBakIsRUFBb0JILE1BQXBCLENBQTJCSSxPQUEzQixDQUFtQyxnQkFBbkM7QUFDRCxHQVJDLENBQUY7QUFTRCxDQXBCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCB7IHdlbGNvbWUgfSBmcm9tICcuLi8uLi8uLi9saWIvZXhwcmVzcy9zdGF0aWMnO1xuaW1wb3J0IHsgY3JlYXRlU2FuZGJveCB9IGZyb20gJ3Npbm9uJztcblxuZGVzY3JpYmUoJ3dlbGNvbWUnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBzYW5kYm94O1xuXG4gIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgIHNhbmRib3ggPSBjcmVhdGVTYW5kYm94KCk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgc2FuZGJveC5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZmlsbCB0aGUgdGVtcGxhdGUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IHJlcyA9IHtcbiAgICAgIHNlbmQ6IHNhbmRib3guc3R1YigpXG4gICAgfTtcbiAgICBhd2FpdCB3ZWxjb21lKHt9LCByZXMpO1xuXG4gICAgcmVzLnNlbmQuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICByZXMuc2VuZC5hcmdzWzBdWzBdLnNob3VsZC5pbmNsdWRlKCdMZXRcXCdzIGJyb3dzZSEnKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
require("source-map-support/register");
|
|
9
|
+
|
|
10
|
+
function resFixture(url, method) {
|
|
11
|
+
if (/\/status$/.test(url)) {
|
|
12
|
+
return [200, {
|
|
13
|
+
status: 0,
|
|
14
|
+
value: {
|
|
15
|
+
foo: 'bar'
|
|
16
|
+
}
|
|
17
|
+
}];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (/\/element\/bad\/text$/.test(url)) {
|
|
21
|
+
return [500, {
|
|
22
|
+
status: 11,
|
|
23
|
+
value: {
|
|
24
|
+
message: 'Invisible element'
|
|
25
|
+
}
|
|
26
|
+
}];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (/\/element\/200\/text$/.test(url)) {
|
|
30
|
+
return [200, {
|
|
31
|
+
status: 11,
|
|
32
|
+
value: {
|
|
33
|
+
message: 'Invisible element'
|
|
34
|
+
}
|
|
35
|
+
}];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (/\/element\/200\/value$/.test(url)) {
|
|
39
|
+
return [200, {
|
|
40
|
+
status: 0,
|
|
41
|
+
sessionId: 'innersessionid',
|
|
42
|
+
value: 'foobar'
|
|
43
|
+
}];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (/\/session$/.test(url) && method === 'POST') {
|
|
47
|
+
return [200, {
|
|
48
|
+
status: 0,
|
|
49
|
+
sessionId: '123',
|
|
50
|
+
value: {
|
|
51
|
+
browserName: 'boo'
|
|
52
|
+
}
|
|
53
|
+
}];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (/\/nochrome$/.test(url)) {
|
|
57
|
+
return [100, {
|
|
58
|
+
status: 0,
|
|
59
|
+
value: {
|
|
60
|
+
message: 'chrome not reachable'
|
|
61
|
+
}
|
|
62
|
+
}];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
throw new Error("Can't handle url " + url);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async function request(opts) {
|
|
69
|
+
const {
|
|
70
|
+
url,
|
|
71
|
+
method,
|
|
72
|
+
json
|
|
73
|
+
} = opts;
|
|
74
|
+
|
|
75
|
+
if (/badurl$/.test(url)) {
|
|
76
|
+
throw new Error('noworky');
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const [status, data] = resFixture(url, method, json);
|
|
80
|
+
return {
|
|
81
|
+
status,
|
|
82
|
+
headers: {
|
|
83
|
+
'content-type': 'application/json; charset=utf-8'
|
|
84
|
+
},
|
|
85
|
+
data
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
var _default = request;
|
|
90
|
+
exports.default = _default;
|
|
91
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9qc29ud3AtcHJveHkvbW9jay1yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbInJlc0ZpeHR1cmUiLCJ1cmwiLCJtZXRob2QiLCJ0ZXN0Iiwic3RhdHVzIiwidmFsdWUiLCJmb28iLCJtZXNzYWdlIiwic2Vzc2lvbklkIiwiYnJvd3Nlck5hbWUiLCJFcnJvciIsInJlcXVlc3QiLCJvcHRzIiwianNvbiIsImRhdGEiLCJoZWFkZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxTQUFTQSxVQUFULENBQXFCQyxHQUFyQixFQUEwQkMsTUFBMUIsRUFBa0M7QUFDaEMsTUFBSSxZQUFZQyxJQUFaLENBQWlCRixHQUFqQixDQUFKLEVBQTJCO0FBQ3pCLFdBQU8sQ0FBQyxHQUFELEVBQU07QUFBQ0csTUFBQUEsTUFBTSxFQUFFLENBQVQ7QUFBWUMsTUFBQUEsS0FBSyxFQUFFO0FBQUNDLFFBQUFBLEdBQUcsRUFBRTtBQUFOO0FBQW5CLEtBQU4sQ0FBUDtBQUNEOztBQUNELE1BQUksd0JBQXdCSCxJQUF4QixDQUE2QkYsR0FBN0IsQ0FBSixFQUF1QztBQUNyQyxXQUFPLENBQUMsR0FBRCxFQUFNO0FBQUNHLE1BQUFBLE1BQU0sRUFBRSxFQUFUO0FBQWFDLE1BQUFBLEtBQUssRUFBRTtBQUFDRSxRQUFBQSxPQUFPLEVBQUU7QUFBVjtBQUFwQixLQUFOLENBQVA7QUFDRDs7QUFDRCxNQUFJLHdCQUF3QkosSUFBeEIsQ0FBNkJGLEdBQTdCLENBQUosRUFBdUM7QUFDckMsV0FBTyxDQUFDLEdBQUQsRUFBTTtBQUFDRyxNQUFBQSxNQUFNLEVBQUUsRUFBVDtBQUFhQyxNQUFBQSxLQUFLLEVBQUU7QUFBQ0UsUUFBQUEsT0FBTyxFQUFFO0FBQVY7QUFBcEIsS0FBTixDQUFQO0FBQ0Q7O0FBQ0QsTUFBSSx5QkFBeUJKLElBQXpCLENBQThCRixHQUE5QixDQUFKLEVBQXdDO0FBQ3RDLFdBQU8sQ0FBQyxHQUFELEVBQU07QUFBQ0csTUFBQUEsTUFBTSxFQUFFLENBQVQ7QUFBWUksTUFBQUEsU0FBUyxFQUFFLGdCQUF2QjtBQUF5Q0gsTUFBQUEsS0FBSyxFQUFFO0FBQWhELEtBQU4sQ0FBUDtBQUNEOztBQUNELE1BQUksYUFBYUYsSUFBYixDQUFrQkYsR0FBbEIsS0FBMEJDLE1BQU0sS0FBSyxNQUF6QyxFQUFpRDtBQUMvQyxXQUFPLENBQUMsR0FBRCxFQUFNO0FBQUNFLE1BQUFBLE1BQU0sRUFBRSxDQUFUO0FBQVlJLE1BQUFBLFNBQVMsRUFBRSxLQUF2QjtBQUE4QkgsTUFBQUEsS0FBSyxFQUFFO0FBQUNJLFFBQUFBLFdBQVcsRUFBRTtBQUFkO0FBQXJDLEtBQU4sQ0FBUDtBQUNEOztBQUNELE1BQUksY0FBY04sSUFBZCxDQUFtQkYsR0FBbkIsQ0FBSixFQUE2QjtBQUMzQixXQUFPLENBQUMsR0FBRCxFQUFNO0FBQUNHLE1BQUFBLE1BQU0sRUFBRSxDQUFUO0FBQVlDLE1BQUFBLEtBQUssRUFBRTtBQUFDRSxRQUFBQSxPQUFPLEVBQUU7QUFBVjtBQUFuQixLQUFOLENBQVA7QUFDRDs7QUFDRCxRQUFNLElBQUlHLEtBQUosQ0FBVSxzQkFBc0JULEdBQWhDLENBQU47QUFDRDs7QUFFRCxlQUFlVSxPQUFmLENBQXdCQyxJQUF4QixFQUE4QjtBQUM1QixRQUFNO0FBQUNYLElBQUFBLEdBQUQ7QUFBTUMsSUFBQUEsTUFBTjtBQUFjVyxJQUFBQTtBQUFkLE1BQXNCRCxJQUE1Qjs7QUFDQSxNQUFJLFVBQVVULElBQVYsQ0FBZUYsR0FBZixDQUFKLEVBQXlCO0FBQ3ZCLFVBQU0sSUFBSVMsS0FBSixDQUFVLFNBQVYsQ0FBTjtBQUNEOztBQUVELFFBQU0sQ0FBQ04sTUFBRCxFQUFTVSxJQUFULElBQWlCZCxVQUFVLENBQUNDLEdBQUQsRUFBTUMsTUFBTixFQUFjVyxJQUFkLENBQWpDO0FBQ0EsU0FBTztBQUNMVCxJQUFBQSxNQURLO0FBRUxXLElBQUFBLE9BQU8sRUFBRTtBQUFDLHNCQUFnQjtBQUFqQixLQUZKO0FBR0xELElBQUFBO0FBSEssR0FBUDtBQUtEOztlQUVjSCxPIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gcmVzRml4dHVyZSAodXJsLCBtZXRob2QpIHtcbiAgaWYgKC9cXC9zdGF0dXMkLy50ZXN0KHVybCkpIHtcbiAgICByZXR1cm4gWzIwMCwge3N0YXR1czogMCwgdmFsdWU6IHtmb286ICdiYXInfX1dO1xuICB9XG4gIGlmICgvXFwvZWxlbWVudFxcL2JhZFxcL3RleHQkLy50ZXN0KHVybCkpIHtcbiAgICByZXR1cm4gWzUwMCwge3N0YXR1czogMTEsIHZhbHVlOiB7bWVzc2FnZTogJ0ludmlzaWJsZSBlbGVtZW50J319XTtcbiAgfVxuICBpZiAoL1xcL2VsZW1lbnRcXC8yMDBcXC90ZXh0JC8udGVzdCh1cmwpKSB7XG4gICAgcmV0dXJuIFsyMDAsIHtzdGF0dXM6IDExLCB2YWx1ZToge21lc3NhZ2U6ICdJbnZpc2libGUgZWxlbWVudCd9fV07XG4gIH1cbiAgaWYgKC9cXC9lbGVtZW50XFwvMjAwXFwvdmFsdWUkLy50ZXN0KHVybCkpIHtcbiAgICByZXR1cm4gWzIwMCwge3N0YXR1czogMCwgc2Vzc2lvbklkOiAnaW5uZXJzZXNzaW9uaWQnLCB2YWx1ZTogJ2Zvb2Jhcid9XTtcbiAgfVxuICBpZiAoL1xcL3Nlc3Npb24kLy50ZXN0KHVybCkgJiYgbWV0aG9kID09PSAnUE9TVCcpIHtcbiAgICByZXR1cm4gWzIwMCwge3N0YXR1czogMCwgc2Vzc2lvbklkOiAnMTIzJywgdmFsdWU6IHticm93c2VyTmFtZTogJ2Jvbyd9fV07XG4gIH1cbiAgaWYgKC9cXC9ub2Nocm9tZSQvLnRlc3QodXJsKSkge1xuICAgIHJldHVybiBbMTAwLCB7c3RhdHVzOiAwLCB2YWx1ZToge21lc3NhZ2U6ICdjaHJvbWUgbm90IHJlYWNoYWJsZSd9fV07XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgaGFuZGxlIHVybCBcIiArIHVybCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlcXVlc3QgKG9wdHMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZXF1aXJlLWF3YWl0XG4gIGNvbnN0IHt1cmwsIG1ldGhvZCwganNvbn0gPSBvcHRzO1xuICBpZiAoL2JhZHVybCQvLnRlc3QodXJsKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm93b3JreScpO1xuICB9XG5cbiAgY29uc3QgW3N0YXR1cywgZGF0YV0gPSByZXNGaXh0dXJlKHVybCwgbWV0aG9kLCBqc29uKTtcbiAgcmV0dXJuIHtcbiAgICBzdGF0dXMsXG4gICAgaGVhZGVyczogeydjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCd9LFxuICAgIGRhdGEsXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHJlcXVlc3Q7XG4iXX0=
|