@appium/base-driver 8.2.4 → 8.4.0

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.
Files changed (206) hide show
  1. package/build/lib/basedriver/capabilities.d.ts +80 -0
  2. package/build/lib/basedriver/capabilities.d.ts.map +1 -0
  3. package/build/lib/basedriver/capabilities.js +12 -13
  4. package/build/lib/basedriver/commands/event.d.ts +9 -0
  5. package/build/lib/basedriver/commands/event.d.ts.map +1 -0
  6. package/build/lib/basedriver/commands/event.js +21 -23
  7. package/build/lib/basedriver/commands/find.d.ts +11 -0
  8. package/build/lib/basedriver/commands/find.d.ts.map +1 -0
  9. package/build/lib/basedriver/commands/find.js +41 -43
  10. package/build/lib/basedriver/commands/index.d.ts +8 -0
  11. package/build/lib/basedriver/commands/index.d.ts.map +1 -0
  12. package/build/lib/basedriver/commands/index.js +17 -16
  13. package/build/lib/basedriver/commands/log.d.ts +12 -0
  14. package/build/lib/basedriver/commands/log.d.ts.map +1 -0
  15. package/build/lib/basedriver/commands/log.js +23 -30
  16. package/build/lib/basedriver/commands/session.d.ts +11 -0
  17. package/build/lib/basedriver/commands/session.d.ts.map +1 -0
  18. package/build/lib/basedriver/commands/session.js +21 -158
  19. package/build/lib/basedriver/commands/settings.d.ts +10 -0
  20. package/build/lib/basedriver/commands/settings.d.ts.map +1 -0
  21. package/build/lib/basedriver/commands/settings.js +18 -22
  22. package/build/lib/basedriver/commands/timeout.d.ts +8 -0
  23. package/build/lib/basedriver/commands/timeout.d.ts.map +1 -0
  24. package/build/lib/basedriver/commands/timeout.js +118 -144
  25. package/build/lib/basedriver/core.d.ts +235 -0
  26. package/build/lib/basedriver/core.d.ts.map +1 -0
  27. package/build/lib/basedriver/core.js +283 -0
  28. package/build/lib/basedriver/desired-caps.d.ts +5 -0
  29. package/build/lib/basedriver/desired-caps.d.ts.map +1 -0
  30. package/build/lib/basedriver/desired-caps.js +2 -4
  31. package/build/lib/basedriver/device-settings.d.ts +32 -0
  32. package/build/lib/basedriver/device-settings.d.ts.map +1 -0
  33. package/build/lib/basedriver/device-settings.js +33 -15
  34. package/build/lib/basedriver/driver.d.ts +83 -0
  35. package/build/lib/basedriver/driver.d.ts.map +1 -0
  36. package/build/lib/basedriver/driver.js +104 -257
  37. package/build/lib/basedriver/helpers.d.ts +132 -0
  38. package/build/lib/basedriver/helpers.d.ts.map +1 -0
  39. package/build/lib/basedriver/helpers.js +24 -10
  40. package/build/lib/basedriver/logger.d.ts +3 -0
  41. package/build/lib/basedriver/logger.d.ts.map +1 -0
  42. package/build/lib/basedriver/logger.js +2 -4
  43. package/build/lib/constants.d.ts +9 -0
  44. package/build/lib/constants.d.ts.map +1 -0
  45. package/build/lib/constants.js +2 -4
  46. package/build/lib/express/crash.d.ts +3 -0
  47. package/build/lib/express/crash.d.ts.map +1 -0
  48. package/build/lib/express/crash.js +2 -4
  49. package/build/lib/express/express-logging.d.ts +3 -0
  50. package/build/lib/express/express-logging.d.ts.map +1 -0
  51. package/build/lib/express/express-logging.js +3 -5
  52. package/build/lib/express/idempotency.d.ts +2 -0
  53. package/build/lib/express/idempotency.d.ts.map +1 -0
  54. package/build/lib/express/idempotency.js +3 -5
  55. package/build/lib/express/logger.d.ts +3 -0
  56. package/build/lib/express/logger.d.ts.map +1 -0
  57. package/build/lib/express/logger.js +2 -4
  58. package/build/lib/express/middleware.d.ts +9 -0
  59. package/build/lib/express/middleware.d.ts.map +1 -0
  60. package/build/lib/express/middleware.js +2 -4
  61. package/build/lib/express/server.d.ts +10 -0
  62. package/build/lib/express/server.d.ts.map +1 -0
  63. package/build/lib/express/server.js +2 -4
  64. package/build/lib/express/static.d.ts +6 -0
  65. package/build/lib/express/static.d.ts.map +1 -0
  66. package/build/lib/express/static.js +2 -4
  67. package/build/lib/express/websocket.d.ts +64 -0
  68. package/build/lib/express/websocket.d.ts.map +1 -0
  69. package/build/lib/express/websocket.js +2 -4
  70. package/build/lib/helpers/capabilities.d.ts +13 -0
  71. package/build/lib/helpers/capabilities.d.ts.map +1 -0
  72. package/build/lib/helpers/capabilities.js +77 -0
  73. package/build/lib/index.d.ts +183 -0
  74. package/build/lib/index.d.ts.map +1 -0
  75. package/build/lib/index.js +41 -25
  76. package/build/lib/jsonwp-proxy/protocol-converter.d.ts +48 -0
  77. package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -0
  78. package/build/lib/jsonwp-proxy/protocol-converter.js +19 -15
  79. package/build/lib/jsonwp-proxy/proxy.d.ts +41 -0
  80. package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -0
  81. package/build/lib/jsonwp-proxy/proxy.js +20 -15
  82. package/build/lib/jsonwp-status/status.d.ts +159 -0
  83. package/build/lib/jsonwp-status/status.d.ts.map +1 -0
  84. package/build/lib/jsonwp-status/status.js +2 -4
  85. package/build/lib/protocol/errors.d.ts +310 -0
  86. package/build/lib/protocol/errors.d.ts.map +1 -0
  87. package/build/lib/protocol/errors.js +82 -5
  88. package/build/lib/protocol/helpers.d.ts +22 -0
  89. package/build/lib/protocol/helpers.d.ts.map +1 -0
  90. package/build/lib/protocol/helpers.js +2 -4
  91. package/build/lib/protocol/index.d.ts +16 -0
  92. package/build/lib/protocol/index.d.ts.map +1 -0
  93. package/build/lib/protocol/index.js +8 -10
  94. package/build/lib/protocol/protocol.d.ts +11 -0
  95. package/build/lib/protocol/protocol.d.ts.map +1 -0
  96. package/build/lib/protocol/protocol.js +38 -35
  97. package/build/lib/protocol/routes.d.ts +6 -0
  98. package/build/lib/protocol/routes.d.ts.map +1 -0
  99. package/build/lib/protocol/routes.js +84 -4
  100. package/build/lib/protocol/validators.d.ts +8 -0
  101. package/build/lib/protocol/validators.d.ts.map +1 -0
  102. package/build/lib/protocol/validators.js +2 -4
  103. package/build/test/basedriver/README.md +5 -0
  104. package/build/test/basedriver/driver-e2e-tests.js +2 -4
  105. package/build/test/basedriver/driver-tests.js +41 -19
  106. package/build/test/basedriver/index.js +2 -4
  107. package/build/test/e2e/basedriver/driver.e2e.spec.js +15 -0
  108. package/build/test/e2e/basedriver/helpers.e2e.spec.js +192 -0
  109. package/build/test/e2e/basedriver/websockets.e2e.spec.js +82 -0
  110. package/build/test/e2e/express/server.e2e.spec.js +159 -0
  111. package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +59 -0
  112. package/build/test/e2e/protocol/fake-driver.js +163 -0
  113. package/build/test/e2e/protocol/helpers.js +25 -0
  114. package/build/test/e2e/protocol/protocol.e2e.spec.js +1186 -0
  115. package/build/test/helpers.js +2 -4
  116. package/build/test/unit/basedriver/capabilities.spec.js +672 -0
  117. package/build/test/unit/basedriver/capability.spec.js +353 -0
  118. package/build/test/unit/basedriver/commands/event.spec.js +110 -0
  119. package/build/test/unit/basedriver/commands/log.spec.js +92 -0
  120. package/build/test/unit/basedriver/driver.spec.js +15 -0
  121. package/build/test/unit/basedriver/helpers.spec.js +151 -0
  122. package/build/test/unit/basedriver/timeout.spec.js +135 -0
  123. package/build/test/unit/express/server.spec.js +155 -0
  124. package/build/test/unit/express/static.spec.js +26 -0
  125. package/build/test/unit/jsonwp-proxy/mock-request.js +91 -0
  126. package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +171 -0
  127. package/build/test/unit/jsonwp-proxy/proxy.spec.js +292 -0
  128. package/build/test/unit/jsonwp-proxy/url.spec.js +165 -0
  129. package/build/test/unit/jsonwp-status/status.spec.js +34 -0
  130. package/build/test/unit/protocol/errors.spec.js +390 -0
  131. package/build/test/unit/protocol/routes.spec.js +80 -0
  132. package/build/test/unit/protocol/validator.spec.js +149 -0
  133. package/build/tsconfig.tsbuildinfo +1 -0
  134. package/lib/basedriver/capabilities.js +49 -10
  135. package/lib/basedriver/commands/event.js +49 -31
  136. package/lib/basedriver/commands/find.js +107 -45
  137. package/lib/basedriver/commands/index.js +25 -19
  138. package/lib/basedriver/commands/log.js +59 -34
  139. package/lib/basedriver/commands/session.js +39 -142
  140. package/lib/basedriver/commands/settings.js +32 -14
  141. package/lib/basedriver/commands/timeout.js +153 -154
  142. package/lib/basedriver/core.js +497 -0
  143. package/lib/basedriver/desired-caps.js +1 -1
  144. package/lib/basedriver/device-settings.js +57 -13
  145. package/lib/basedriver/driver.js +277 -375
  146. package/lib/basedriver/helpers.js +31 -13
  147. package/lib/express/express-logging.js +1 -1
  148. package/lib/express/idempotency.js +1 -1
  149. package/lib/helpers/capabilities.js +84 -0
  150. package/lib/index.js +17 -13
  151. package/lib/jsonwp-proxy/protocol-converter.js +14 -13
  152. package/lib/jsonwp-proxy/proxy.js +16 -12
  153. package/lib/protocol/errors.js +42 -42
  154. package/lib/protocol/index.js +4 -4
  155. package/lib/protocol/protocol.js +35 -32
  156. package/lib/protocol/routes.js +69 -1
  157. package/package.json +37 -24
  158. package/test/basedriver/README.md +5 -0
  159. package/test/basedriver/driver-e2e-tests.js +1 -1
  160. package/test/basedriver/driver-tests.js +43 -9
  161. package/build/lib/protocol/sessions-cache.js +0 -88
  162. package/build/test/basedriver/capabilities-specs.js +0 -632
  163. package/build/test/basedriver/capability-specs.js +0 -396
  164. package/build/test/basedriver/commands/event-specs.js +0 -112
  165. package/build/test/basedriver/commands/log-specs.js +0 -80
  166. package/build/test/basedriver/driver-e2e-specs.js +0 -17
  167. package/build/test/basedriver/driver-specs.js +0 -17
  168. package/build/test/basedriver/helpers-e2e-specs.js +0 -194
  169. package/build/test/basedriver/helpers-specs.js +0 -153
  170. package/build/test/basedriver/timeout-specs.js +0 -139
  171. package/build/test/basedriver/websockets-e2e-specs.js +0 -84
  172. package/build/test/express/server-e2e-specs.js +0 -156
  173. package/build/test/express/server-specs.js +0 -151
  174. package/build/test/express/static-specs.js +0 -23
  175. package/build/test/jsonwp-proxy/mock-request.js +0 -93
  176. package/build/test/jsonwp-proxy/protocol-converter-specs.js +0 -173
  177. package/build/test/jsonwp-proxy/proxy-e2e-specs.js +0 -61
  178. package/build/test/jsonwp-proxy/proxy-specs.js +0 -294
  179. package/build/test/jsonwp-proxy/url-specs.js +0 -167
  180. package/build/test/jsonwp-status/status-specs.js +0 -36
  181. package/build/test/protocol/errors-specs.js +0 -388
  182. package/build/test/protocol/fake-driver.js +0 -168
  183. package/build/test/protocol/helpers.js +0 -27
  184. package/build/test/protocol/protocol-e2e-specs.js +0 -1182
  185. package/build/test/protocol/routes-specs.js +0 -82
  186. package/build/test/protocol/validator-specs.js +0 -151
  187. package/index.d.ts +0 -386
  188. package/lib/protocol/sessions-cache.js +0 -74
  189. package/test/basedriver/capabilities-specs.js +0 -505
  190. package/test/basedriver/capability-specs.js +0 -409
  191. package/test/basedriver/commands/event-specs.js +0 -74
  192. package/test/basedriver/commands/log-specs.js +0 -70
  193. package/test/basedriver/driver-e2e-specs.js +0 -8
  194. package/test/basedriver/driver-specs.js +0 -8
  195. package/test/basedriver/fixtures/BadZippedApp.zip +0 -1
  196. package/test/basedriver/fixtures/FakeAndroidApp.apk +0 -1
  197. package/test/basedriver/fixtures/FakeAndroidApp.asd +0 -0
  198. package/test/basedriver/fixtures/FakeIOSApp.app +0 -1
  199. package/test/basedriver/fixtures/FakeIOSApp.app.zip +0 -0
  200. package/test/basedriver/fixtures/FakeIOSApp.ipa +0 -0
  201. package/test/basedriver/fixtures/custom-element-finder-bad.js +0 -5
  202. package/test/basedriver/fixtures/custom-element-finder.js +0 -29
  203. package/test/basedriver/helpers-e2e-specs.js +0 -187
  204. package/test/basedriver/helpers-specs.js +0 -137
  205. package/test/basedriver/timeout-specs.js +0 -133
  206. 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iYXNlZHJpdmVyL3RpbWVvdXQuc3BlYy5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImRyaXZlciIsIkJhc2VEcml2ZXIiLCJpbXBsaWNpdFdhaXRTcHkiLCJzYW5kYm94IiwiYmVmb3JlRWFjaCIsImltcGxpY2l0V2FpdE1zIiwic3B5IiwiYWZ0ZXJFYWNoIiwicmVzdG9yZSIsIml0IiwidGltZW91dHMiLCJzaG91bGQiLCJldmVudHVhbGx5IiwiYmUiLCJyZWplY3RlZCIsInVuZGVmaW5lZCIsImNhbGxlZE9uY2UiLCJ0cnVlIiwiZmlyc3RDYWxsIiwiYXJncyIsImVxdWFsIiwiZXFsIiwiaW1wbGljaXRXYWl0Iiwic2V0SW1wbGljaXRXYWl0IiwibWFuYWdlZERyaXZlcjEiLCJtYW5hZ2VkRHJpdmVyMiIsImJlZm9yZSIsImFkZE1hbmFnZWREcml2ZXIiLCJhZnRlciIsIm1hbmFnZWREcml2ZXJzIiwic2V0TmV3Q29tbWFuZFRpbWVvdXQiLCJuZXdDb21tYW5kVGltZW91dE1zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQTs7QUFDQTs7QUFFQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxZQUFZO0FBQzlCLE1BQUlDLE1BQU0sR0FBRyxJQUFJQyxZQUFKLEVBQWI7QUFDQSxNQUFJQyxlQUFKO0FBQ0EsTUFBSUMsT0FBSjtBQUNBQyxFQUFBQSxVQUFVLENBQUMsWUFBWTtBQUNyQkQsSUFBQUEsT0FBTyxHQUFHLDJCQUFWO0FBQ0FILElBQUFBLE1BQU0sQ0FBQ0ssY0FBUCxHQUF3QixDQUF4QjtBQUNBSCxJQUFBQSxlQUFlLEdBQUdDLE9BQU8sQ0FBQ0csR0FBUixDQUFZTixNQUFaLEVBQW9CLGlCQUFwQixDQUFsQjtBQUNELEdBSlMsQ0FBVjtBQUtBTyxFQUFBQSxTQUFTLENBQUMsWUFBWTtBQUNwQkosSUFBQUEsT0FBTyxDQUFDSyxPQUFSO0FBQ0QsR0FGUSxDQUFUO0FBSUFULEVBQUFBLFFBQVEsQ0FBQyxVQUFELEVB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TUFBTSxDQUFDK0IsbUJBQVAsQ0FBMkJwQixNQUEzQixDQUFrQ1UsR0FBbEMsQ0FBc0MsRUFBdEM7QUFDRCxLQUhDLENBQUY7QUFJQXRCLElBQUFBLFFBQVEsQ0FBQyxxQkFBRCxFQUF3QixZQUFZO0FBQzFDLFVBQUl5QixjQUFjLEdBQUcsSUFBSXZCLFlBQUosRUFBckI7QUFDQSxVQUFJd0IsY0FBYyxHQUFHLElBQUl4QixZQUFKLEVBQXJCO0FBQ0F5QixNQUFBQSxNQUFNLENBQUMsWUFBWTtBQUNqQjFCLFFBQUFBLE1BQU0sQ0FBQzJCLGdCQUFQLENBQXdCSCxjQUF4QjtBQUNBeEIsUUFBQUEsTUFBTSxDQUFDMkIsZ0JBQVAsQ0FBd0JGLGNBQXhCO0FBQ0QsT0FISyxDQUFOO0FBSUFHLE1BQUFBLEtBQUssQ0FBQyxZQUFZO0FBQ2hCNUIsUUFBQUEsTUFBTSxDQUFDNkIsY0FBUCxHQUF3QixFQUF4QjtBQUNELE9BRkksQ0FBTDtBQUdBcEIsTUFBQUEsRUFBRSxDQUFDLHVEQUFELEVBQTBELFlBQVk7QUFDdEVULFFBQUFBLE1BQU0sQ0FBQzhCLG9CQUFQLENBQTRCLEVBQTVCO0FBQ0E5QixRQUFBQSxNQUFNLENBQUMrQixtQkFBUCxDQUEyQnBCLE1BQTNCLENBQWtDVSxHQUFsQyxDQUFzQyxFQUF0QztBQUNBRyxRQUFBQSxjQUFjLENBQUNPLG1CQUFmLENBQW1DcEIsTUFBbkMsQ0FBMENVLEdBQTFDLENBQThDLEVBQTlDO0FBQ0FJLFFBQUFBLGNBQWMsQ0FBQ00sbUJBQWYsQ0FBbUNwQixNQUFuQyxDQUEwQ1UsR0FBMUMsQ0FBOEMsRUFBOUM7QUFDRCxPQUxDLENBQUY7QUFNRCxLQWhCTyxDQUFSO0FBaUJELEdBdEJPLENBQVI7QUF1QkQsQ0E3SE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQmFzZURyaXZlciBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHsgY3JlYXRlU2FuZGJveCB9IGZyb20gJ3Npbm9uJztcblxuZGVzY3JpYmUoJ3RpbWVvdXQnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBkcml2ZXIgPSBuZXcgQmFzZURyaXZlcigpO1xuICBsZXQgaW1wbGljaXRXYWl0U3B5O1xuICBsZXQgc2FuZGJveDtcbiAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgc2FuZGJveCA9IGNyZWF0ZVNhbmRib3goKTtcbiAgICBkcml2ZXIuaW1wbGljaXRXYWl0TXMgPSAwO1xuICAgIGltcGxpY2l0V2FpdFNweSA9IHNhbmRib3guc3B5KGRyaXZlciwgJ3NldEltcGxpY2l0V2FpdCcpO1xuICB9KTtcbiAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgfSk7XG4gIC8vIGV4cGVjdGVkIGVycm9ycyBhcmUgZm9yIGNoZWNrcyBhZ2FpbnN0IHJ1bnRpbWUgdHlwZSBmYWlsdXJlcy4gdGhlIHR5cGVzIHdlJ3JlIGdpdmluZyB0aGUgZnVuY3Rpb24gYXJlIG5vdCBhbGxvd2VkXG4gIGRlc2NyaWJlKCd0aW1lb3V0cycsIGZ1bmN0aW9uICgpIHtcbiAgICBkZXNjcmliZSgnZXJyb3JzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBzb21ldGhpbmcgcmFuZG9tIGlzIHNlbnQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cygncmFuZG9tIHRpbWVvdXQnLCAnaG93ZHknKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZDtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiB0aW1lb3V0IGlzIG5lZ2F0aXZlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHMoJ3JhbmRvbSB0aW1lb3V0JywgLTQyKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZDtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvcnMgaWYgdGltZW91dCB0eXBlIGlzIHVua25vd24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cygncmFuZG9tIHRpbWVvdXQnLCA0Mikuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgc29tZXRoaW5nIHJhbmRvbSBpcyBzZW50IHRvIHNjcmlwdER1cmF0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHModW5kZWZpbmVkLCB1bmRlZmluZWQsIDEyMywgdW5kZWZpbmVkLCB1bmRlZmluZWQpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHNvbWV0aGluZyByYW5kb20gaXMgc2VudCB0byBwYWdlTG9hZER1cmF0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHModW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgMTIzLCB1bmRlZmluZWQpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ2ltcGxpY2l0IHdhaXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIGNhbGwgc2V0SW1wbGljaXRXYWl0IHdoZW4gZ2l2ZW4gYW4gaW50ZWdlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKCdpbXBsaWNpdCcsIDQyKTtcbiAgICAgICAgaW1wbGljaXRXYWl0U3B5LmNhbGxlZE9uY2Uuc2hvdWxkLmJlLnRydWU7XG4gICAgICAgIGltcGxpY2l0V2FpdFNweS5maXJzdENhbGwuYXJnc1swXS5zaG91bGQuZXF1YWwoNDIpO1xuICAgICAgICBkcml2ZXIuaW1wbGljaXRXYWl0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgY2FsbCBzZXRJbXBsaWNpdFdhaXQgd2hlbiBnaXZlbiBhIHN0cmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKCdpbXBsaWNpdCcsICc0MicpO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgICAgaW1wbGljaXRXYWl0U3B5LmZpcnN0Q2FsbC5hcmdzWzBdLnNob3VsZC5lcXVhbCg0Mik7XG4gICAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBjYWxsIHNldEltcGxpY2l0V2FpdCB3aGVuIGdpdmVuIGFuIGludGVnZXIgdG8gaW1wbGljaXREdXJhdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgNDIpO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgICAgaW1wbGljaXRXYWl0U3B5LmZpcnN0Q2FsbC5hcmdzWzBdLnNob3VsZC5lcXVhbCg0Mik7XG4gICAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBjYWxsIHNldEltcGxpY2l0V2FpdCB3aGVuIGdpdmVuIGEgc3RyaW5nIHRvIGltcGxpY2l0RHVyYXRpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsICc0MicpO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgICAgaW1wbGljaXRXYWl0U3B5LmZpcnN0Q2FsbC5hcmdzWzBdLnNob3VsZC5lcXVhbCg0Mik7XG4gICAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2ltcGxpY2l0V2FpdCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGNhbGwgc2V0SW1wbGljaXRXYWl0IHdoZW4gZ2l2ZW4gYW4gaW50ZWdlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5pbXBsaWNpdFdhaXQoNDIpO1xuICAgICAgaW1wbGljaXRXYWl0U3B5LmNhbGxlZE9uY2Uuc2hvdWxkLmJlLnRydWU7XG4gICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGNhbGwgc2V0SW1wbGljaXRXYWl0IHdoZW4gZ2l2ZW4gYSBzdHJpbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuaW1wbGljaXRXYWl0KCc0MicpO1xuICAgICAgaW1wbGljaXRXYWl0U3B5LmNhbGxlZE9uY2Uuc2hvdWxkLmJlLnRydWU7XG4gICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHNvbWV0aGluZyByYW5kb20gaXMgc2VudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5pbXBsaWNpdFdhaXQoJ2hvd2R5Jykuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiB0aW1lb3V0IGlzIG5lZ2F0aXZlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLmltcGxpY2l0V2FpdCgtNDIpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2V0IGltcGxpY2l0IHdhaXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgdGhlIGltcGxpY2l0IHdhaXQgd2l0aCBhbiBpbnRlZ2VyJywgZnVuY3Rpb24gKCkge1xuICAgICAgZHJpdmVyLnNldEltcGxpY2l0V2FpdCg0Mik7XG4gICAgICBkcml2ZXIuaW1wbGljaXRXYWl0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ3dpdGggbWFuYWdlZCBkcml2ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBsZXQgbWFuYWdlZERyaXZlcjEgPSBuZXcgQmFzZURyaXZlcigpO1xuICAgICAgbGV0IG1hbmFnZWREcml2ZXIyID0gbmV3IEJhc2VEcml2ZXIoKTtcbiAgICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRyaXZlci5hZGRNYW5hZ2VkRHJpdmVyKG1hbmFnZWREcml2ZXIxKTtcbiAgICAgICAgZHJpdmVyLmFkZE1hbmFnZWREcml2ZXIobWFuYWdlZERyaXZlcjIpO1xuICAgICAgfSk7XG4gICAgICBhZnRlcihmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRyaXZlci5tYW5hZ2VkRHJpdmVycyA9IFtdO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHNldCB0aGUgaW1wbGljaXQgd2FpdCBvbiBtYW5hZ2VkIGRyaXZlcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRyaXZlci5zZXRJbXBsaWNpdFdhaXQoNDIpO1xuICAgICAgICBkcml2ZXIuaW1wbGljaXRXYWl0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgICAgIG1hbmFnZWREcml2ZXIxLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgICBtYW5hZ2VkRHJpdmVyMi5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ3NldCBuZXcgY29tbWFuZCB0aW1lb3V0JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc2V0IHRoZSBuZXcgY29tbWFuZCB0aW1lb3V0IHdpdGggYW4gaW50ZWdlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGRyaXZlci5zZXROZXdDb21tYW5kVGltZW91dCg0Mik7XG4gICAgICBkcml2ZXIubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnd2l0aCBtYW5hZ2VkIGRyaXZlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBtYW5hZ2VkRHJpdmVyMSA9IG5ldyBCYXNlRHJpdmVyKCk7XG4gICAgICBsZXQgbWFuYWdlZERyaXZlcjIgPSBuZXcgQmFzZURyaXZlcigpO1xuICAgICAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLmFkZE1hbmFnZWREcml2ZXIobWFuYWdlZERyaXZlcjEpO1xuICAgICAgICBkcml2ZXIuYWRkTWFuYWdlZERyaXZlcihtYW5hZ2VkRHJpdmVyMik7XG4gICAgICB9KTtcbiAgICAgIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLm1hbmFnZWREcml2ZXJzID0gW107XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgc2V0IHRoZSBuZXcgY29tbWFuZCB0aW1lb3V0IG9uIG1hbmFnZWQgZHJpdmVycycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLnNldE5ld0NvbW1hbmRUaW1lb3V0KDQyKTtcbiAgICAgICAgZHJpdmVyLm5ld0NvbW1hbmRUaW1lb3V0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgICAgIG1hbmFnZWREcml2ZXIxLm5ld0NvbW1hbmRUaW1lb3V0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgICAgIG1hbmFnZWREcml2ZXIyLm5ld0NvbW1hbmRUaW1lb3V0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -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=