hotstaq 0.5.3

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 (318) hide show
  1. package/.dockerignore +123 -0
  2. package/.eslintignore +17 -0
  3. package/.eslintrc.js +11 -0
  4. package/.vscode/launch.json +201 -0
  5. package/.vscode/settings.json +2 -0
  6. package/.vscode/tasks.json +88 -0
  7. package/CONTRIBUTING.md +157 -0
  8. package/LICENSE +21 -0
  9. package/README.md +128 -0
  10. package/bin/hotstaq +3 -0
  11. package/bin/hotstaq.cmd +1 -0
  12. package/build/src/Hot.d.ts +167 -0
  13. package/build/src/Hot.d.ts.map +1 -0
  14. package/build/src/Hot.js +365 -0
  15. package/build/src/Hot.js.map +1 -0
  16. package/build/src/HotAPI.d.ts +137 -0
  17. package/build/src/HotAPI.d.ts.map +1 -0
  18. package/build/src/HotAPI.js +353 -0
  19. package/build/src/HotAPI.js.map +1 -0
  20. package/build/src/HotAgentAPI.d.ts +22 -0
  21. package/build/src/HotAgentAPI.d.ts.map +1 -0
  22. package/build/src/HotAgentAPI.js +85 -0
  23. package/build/src/HotAgentAPI.js.map +1 -0
  24. package/build/src/HotAgentRoute.d.ts +17 -0
  25. package/build/src/HotAgentRoute.d.ts.map +1 -0
  26. package/build/src/HotAgentRoute.js +109 -0
  27. package/build/src/HotAgentRoute.js.map +1 -0
  28. package/build/src/HotBuilder.d.ts +52 -0
  29. package/build/src/HotBuilder.d.ts.map +1 -0
  30. package/build/src/HotBuilder.js +242 -0
  31. package/build/src/HotBuilder.js.map +1 -0
  32. package/build/src/HotClient.d.ts +31 -0
  33. package/build/src/HotClient.d.ts.map +1 -0
  34. package/build/src/HotClient.js +19 -0
  35. package/build/src/HotClient.js.map +1 -0
  36. package/build/src/HotComponent.d.ts +118 -0
  37. package/build/src/HotComponent.d.ts.map +1 -0
  38. package/build/src/HotComponent.js +89 -0
  39. package/build/src/HotComponent.js.map +1 -0
  40. package/build/src/HotCreator.d.ts +88 -0
  41. package/build/src/HotCreator.d.ts.map +1 -0
  42. package/build/src/HotCreator.js +445 -0
  43. package/build/src/HotCreator.js.map +1 -0
  44. package/build/src/HotDB.d.ts +69 -0
  45. package/build/src/HotDB.d.ts.map +1 -0
  46. package/build/src/HotDB.js +29 -0
  47. package/build/src/HotDB.js.map +1 -0
  48. package/build/src/HotDBConnectionInterface.d.ts +40 -0
  49. package/build/src/HotDBConnectionInterface.d.ts.map +1 -0
  50. package/build/src/HotDBConnectionInterface.js +3 -0
  51. package/build/src/HotDBConnectionInterface.js.map +1 -0
  52. package/build/src/HotFile.d.ts +134 -0
  53. package/build/src/HotFile.d.ts.map +1 -0
  54. package/build/src/HotFile.js +454 -0
  55. package/build/src/HotFile.js.map +1 -0
  56. package/build/src/HotGenerator.d.ts +80 -0
  57. package/build/src/HotGenerator.d.ts.map +1 -0
  58. package/build/src/HotGenerator.js +342 -0
  59. package/build/src/HotGenerator.js.map +1 -0
  60. package/build/src/HotHTTPServer.d.ts +162 -0
  61. package/build/src/HotHTTPServer.d.ts.map +1 -0
  62. package/build/src/HotHTTPServer.js +863 -0
  63. package/build/src/HotHTTPServer.js.map +1 -0
  64. package/build/src/HotIO.d.ts +47 -0
  65. package/build/src/HotIO.d.ts.map +1 -0
  66. package/build/src/HotIO.js +232 -0
  67. package/build/src/HotIO.js.map +1 -0
  68. package/build/src/HotLog.d.ts +60 -0
  69. package/build/src/HotLog.d.ts.map +1 -0
  70. package/build/src/HotLog.js +126 -0
  71. package/build/src/HotLog.js.map +1 -0
  72. package/build/src/HotPage.d.ts +125 -0
  73. package/build/src/HotPage.d.ts.map +1 -0
  74. package/build/src/HotPage.js +178 -0
  75. package/build/src/HotPage.js.map +1 -0
  76. package/build/src/HotRoute.d.ts +82 -0
  77. package/build/src/HotRoute.d.ts.map +1 -0
  78. package/build/src/HotRoute.js +83 -0
  79. package/build/src/HotRoute.js.map +1 -0
  80. package/build/src/HotRouteMethod.d.ts +129 -0
  81. package/build/src/HotRouteMethod.d.ts.map +1 -0
  82. package/build/src/HotRouteMethod.js +84 -0
  83. package/build/src/HotRouteMethod.js.map +1 -0
  84. package/build/src/HotServer.d.ts +152 -0
  85. package/build/src/HotServer.d.ts.map +1 -0
  86. package/build/src/HotServer.js +109 -0
  87. package/build/src/HotServer.js.map +1 -0
  88. package/build/src/HotSetAsWeb.d.ts +2 -0
  89. package/build/src/HotSetAsWeb.d.ts.map +1 -0
  90. package/build/src/HotSetAsWeb.js +5 -0
  91. package/build/src/HotSetAsWeb.js.map +1 -0
  92. package/build/src/HotStaq.d.ts +603 -0
  93. package/build/src/HotStaq.d.ts.map +1 -0
  94. package/build/src/HotStaq.js +1260 -0
  95. package/build/src/HotStaq.js.map +1 -0
  96. package/build/src/HotStaqWeb.d.ts +18 -0
  97. package/build/src/HotStaqWeb.d.ts.map +1 -0
  98. package/build/src/HotStaqWeb.js +44 -0
  99. package/build/src/HotStaqWeb.js.map +1 -0
  100. package/build/src/HotTestDriver.d.ts +63 -0
  101. package/build/src/HotTestDriver.d.ts.map +1 -0
  102. package/build/src/HotTestDriver.js +187 -0
  103. package/build/src/HotTestDriver.js.map +1 -0
  104. package/build/src/HotTestElement.d.ts +71 -0
  105. package/build/src/HotTestElement.d.ts.map +1 -0
  106. package/build/src/HotTestElement.js +37 -0
  107. package/build/src/HotTestElement.js.map +1 -0
  108. package/build/src/HotTestMap.d.ts +83 -0
  109. package/build/src/HotTestMap.d.ts.map +1 -0
  110. package/build/src/HotTestMap.js +58 -0
  111. package/build/src/HotTestMap.js.map +1 -0
  112. package/build/src/HotTestSeleniumDriver.d.ts +86 -0
  113. package/build/src/HotTestSeleniumDriver.d.ts.map +1 -0
  114. package/build/src/HotTestSeleniumDriver.js +400 -0
  115. package/build/src/HotTestSeleniumDriver.js.map +1 -0
  116. package/build/src/HotTester.d.ts +188 -0
  117. package/build/src/HotTester.d.ts.map +1 -0
  118. package/build/src/HotTester.js +622 -0
  119. package/build/src/HotTester.js.map +1 -0
  120. package/build/src/HotTesterAPI.d.ts +15 -0
  121. package/build/src/HotTesterAPI.d.ts.map +1 -0
  122. package/build/src/HotTesterAPI.js +161 -0
  123. package/build/src/HotTesterAPI.js.map +1 -0
  124. package/build/src/HotTesterMocha.d.ts +50 -0
  125. package/build/src/HotTesterMocha.d.ts.map +1 -0
  126. package/build/src/HotTesterMocha.js +205 -0
  127. package/build/src/HotTesterMocha.js.map +1 -0
  128. package/build/src/HotTesterMochaSelenium.d.ts +70 -0
  129. package/build/src/HotTesterMochaSelenium.d.ts.map +1 -0
  130. package/build/src/HotTesterMochaSelenium.js +257 -0
  131. package/build/src/HotTesterMochaSelenium.js.map +1 -0
  132. package/build/src/HotTesterServer.d.ts +114 -0
  133. package/build/src/HotTesterServer.d.ts.map +1 -0
  134. package/build/src/HotTesterServer.js +575 -0
  135. package/build/src/HotTesterServer.js.map +1 -0
  136. package/build/src/api copy.d.ts +2 -0
  137. package/build/src/api copy.d.ts.map +1 -0
  138. package/build/src/api copy.js +153 -0
  139. package/build/src/api copy.js.map +1 -0
  140. package/build/src/api-web.d.ts +2 -0
  141. package/build/src/api-web.d.ts.map +1 -0
  142. package/build/src/api-web.js +45 -0
  143. package/build/src/api-web.js.map +1 -0
  144. package/build/src/api.d.ts +33 -0
  145. package/build/src/api.d.ts.map +1 -0
  146. package/build/src/api.js +78 -0
  147. package/build/src/api.js.map +1 -0
  148. package/build/src/cli.d.ts +2 -0
  149. package/build/src/cli.d.ts.map +1 -0
  150. package/build/src/cli.js +1040 -0
  151. package/build/src/cli.js.map +1 -0
  152. package/build/src/schemas/HotDBInflux.d.ts +63 -0
  153. package/build/src/schemas/HotDBInflux.d.ts.map +1 -0
  154. package/build/src/schemas/HotDBInflux.js +239 -0
  155. package/build/src/schemas/HotDBInflux.js.map +1 -0
  156. package/build/src/schemas/HotDBMigration.d.ts +19 -0
  157. package/build/src/schemas/HotDBMigration.d.ts.map +1 -0
  158. package/build/src/schemas/HotDBMigration.js +15 -0
  159. package/build/src/schemas/HotDBMigration.js.map +1 -0
  160. package/build/src/schemas/HotDBMySQL.d.ts +65 -0
  161. package/build/src/schemas/HotDBMySQL.d.ts.map +1 -0
  162. package/build/src/schemas/HotDBMySQL.js +387 -0
  163. package/build/src/schemas/HotDBMySQL.js.map +1 -0
  164. package/build/src/schemas/HotDBSchema.d.ts +15 -0
  165. package/build/src/schemas/HotDBSchema.d.ts.map +1 -0
  166. package/build/src/schemas/HotDBSchema.js +19 -0
  167. package/build/src/schemas/HotDBSchema.js.map +1 -0
  168. package/build/src/schemas/influx/InfluxSchema.d.ts +14 -0
  169. package/build/src/schemas/influx/InfluxSchema.d.ts.map +1 -0
  170. package/build/src/schemas/influx/InfluxSchema.js +33 -0
  171. package/build/src/schemas/influx/InfluxSchema.js.map +1 -0
  172. package/build/src/schemas/mysql/MySQLSchema.d.ts +39 -0
  173. package/build/src/schemas/mysql/MySQLSchema.d.ts.map +1 -0
  174. package/build/src/schemas/mysql/MySQLSchema.js +151 -0
  175. package/build/src/schemas/mysql/MySQLSchema.js.map +1 -0
  176. package/build/src/schemas/mysql/MySQLSchemaField.d.ts +168 -0
  177. package/build/src/schemas/mysql/MySQLSchemaField.d.ts.map +1 -0
  178. package/build/src/schemas/mysql/MySQLSchemaField.js +260 -0
  179. package/build/src/schemas/mysql/MySQLSchemaField.js.map +1 -0
  180. package/build/src/schemas/mysql/MySQLSchemaTable.d.ts +49 -0
  181. package/build/src/schemas/mysql/MySQLSchemaTable.d.ts.map +1 -0
  182. package/build/src/schemas/mysql/MySQLSchemaTable.js +310 -0
  183. package/build/src/schemas/mysql/MySQLSchemaTable.js.map +1 -0
  184. package/build-web/HotStaq.js +2 -0
  185. package/build-web/HotStaq.min.js +119 -0
  186. package/build-web/HotStaqTests_HelloWorldAPI.js +133 -0
  187. package/builder/docker/Dockerfile.linux.gen +42 -0
  188. package/builder/docker/README.md +36 -0
  189. package/builder/docker/app/start.sh +8 -0
  190. package/builder/docker/dockerignore +3 -0
  191. package/builder/docker/scripts/build.bat +11 -0
  192. package/builder/docker/scripts/build.sh +11 -0
  193. package/builder/docker/scripts/start-app.bat +7 -0
  194. package/builder/docker/scripts/start-app.sh +7 -0
  195. package/builder/docker/scripts/stop-app.bat +5 -0
  196. package/builder/docker/scripts/stop-app.sh +5 -0
  197. package/builder/docker-compose/docker-compose.gen.yaml +41 -0
  198. package/builder/docker-compose/env-skeleton +4 -0
  199. package/creator/project/.vscode/launch.json +59 -0
  200. package/creator/project/README.md +20 -0
  201. package/creator/project/gitignore +118 -0
  202. package/creator/project/npmignore +118 -0
  203. package/creator/public/api-test.hott +28 -0
  204. package/creator/public/index.hott +12 -0
  205. package/creator/ts/src/AppAPI.ts +30 -0
  206. package/creator/ts/src/HelloWorld.ts +39 -0
  207. package/creator/ts/src/WebExport.ts +7 -0
  208. package/creator/ts/tsconfig-web.json +73 -0
  209. package/creator/ts/tsconfig.json +73 -0
  210. package/creator/ts/webpack-api.config.js +57 -0
  211. package/dbstart.sh +19 -0
  212. package/dbstop.sh +4 -0
  213. package/docs/.nojekyll +1 -0
  214. package/docs/README.md +130 -0
  215. package/docs/classes/Hot.md +477 -0
  216. package/docs/classes/HotAPI.md +369 -0
  217. package/docs/classes/HotClient.md +95 -0
  218. package/docs/classes/HotComponent.md +279 -0
  219. package/docs/classes/HotDB.md +247 -0
  220. package/docs/classes/HotDBInflux.md +404 -0
  221. package/docs/classes/HotDBMigration.md +80 -0
  222. package/docs/classes/HotDBMySQL.md +310 -0
  223. package/docs/classes/HotDBSchema.md +51 -0
  224. package/docs/classes/HotFile.md +353 -0
  225. package/docs/classes/HotHTTPServer.md +700 -0
  226. package/docs/classes/HotLog.md +162 -0
  227. package/docs/classes/HotPage.md +357 -0
  228. package/docs/classes/HotRoute.md +312 -0
  229. package/docs/classes/HotRouteMethod.md +271 -0
  230. package/docs/classes/HotServer.md +311 -0
  231. package/docs/classes/HotStaq.md +1155 -0
  232. package/docs/classes/HotTestDestination.md +58 -0
  233. package/docs/classes/HotTestDriver.md +332 -0
  234. package/docs/classes/HotTestElement.md +88 -0
  235. package/docs/classes/HotTestElementOptions.md +71 -0
  236. package/docs/classes/HotTestMap.md +92 -0
  237. package/docs/classes/HotTestSeleniumDriver.md +542 -0
  238. package/docs/classes/HotTester.md +653 -0
  239. package/docs/classes/HotTesterAPI.md +493 -0
  240. package/docs/classes/HotTesterMocha.md +843 -0
  241. package/docs/classes/HotTesterMochaSelenium.md +896 -0
  242. package/docs/classes/HotTesterServer.md +633 -0
  243. package/docs/classes/InfluxSchema.md +74 -0
  244. package/docs/classes/MySQLSchema.md +199 -0
  245. package/docs/classes/MySQLSchemaField.md +330 -0
  246. package/docs/classes/MySQLSchemaTable.md +176 -0
  247. package/docs/enums/ConnectionStatus.md +43 -0
  248. package/docs/enums/DeveloperMode.md +38 -0
  249. package/docs/enums/EventExecutionType.md +43 -0
  250. package/docs/enums/HTTPMethod.md +32 -0
  251. package/docs/enums/HotDBGenerationType.md +30 -0
  252. package/docs/enums/HotLogLevel.md +88 -0
  253. package/docs/interfaces/HotDBConnectionInterface.md +116 -0
  254. package/docs/interfaces/HotDestination.md +62 -0
  255. package/docs/interfaces/HotSite.md +187 -0
  256. package/docs/interfaces/HotSiteMapPath.md +37 -0
  257. package/docs/interfaces/HotSiteRoute.md +79 -0
  258. package/docs/interfaces/HotStartOptions.md +115 -0
  259. package/docs/interfaces/HotTestPage.md +44 -0
  260. package/docs/interfaces/HotTestStop.md +62 -0
  261. package/docs/interfaces/IHotComponent.md +135 -0
  262. package/docs/interfaces/IHotStaq.md +118 -0
  263. package/docs/interfaces/IHotTestElement.md +54 -0
  264. package/docs/interfaces/IHotTestElementOptions.md +43 -0
  265. package/docs/interfaces/MySQLResults.md +43 -0
  266. package/docs/interfaces/MySQLSchemaFieldResult.md +75 -0
  267. package/docs/modules.md +182 -0
  268. package/package.json +65 -0
  269. package/selenium-start.sh +7 -0
  270. package/selenium-stop.sh +3 -0
  271. package/src/Hot.ts +319 -0
  272. package/src/HotAPI.ts +386 -0
  273. package/src/HotAgentAPI.ts +43 -0
  274. package/src/HotAgentRoute.ts +44 -0
  275. package/src/HotBuilder.ts +221 -0
  276. package/src/HotClient.ts +40 -0
  277. package/src/HotComponent.ts +158 -0
  278. package/src/HotCreator.ts +470 -0
  279. package/src/HotDB.ts +79 -0
  280. package/src/HotDBConnectionInterface.ts +40 -0
  281. package/src/HotFile.ts +617 -0
  282. package/src/HotGenerator.ts +446 -0
  283. package/src/HotHTTPServer.ts +954 -0
  284. package/src/HotIO.ts +160 -0
  285. package/src/HotLog.ts +158 -0
  286. package/src/HotPage.ts +206 -0
  287. package/src/HotRoute.ts +137 -0
  288. package/src/HotRouteMethod.ts +216 -0
  289. package/src/HotServer.ts +211 -0
  290. package/src/HotSetAsWeb.ts +3 -0
  291. package/src/HotStaq.ts +1881 -0
  292. package/src/HotTestDriver.ts +171 -0
  293. package/src/HotTestElement.ts +97 -0
  294. package/src/HotTestMap.ts +130 -0
  295. package/src/HotTestSeleniumDriver.ts +381 -0
  296. package/src/HotTester.ts +696 -0
  297. package/src/HotTesterAPI.ts +126 -0
  298. package/src/HotTesterMocha.ts +133 -0
  299. package/src/HotTesterMochaSelenium.ts +189 -0
  300. package/src/HotTesterServer.ts +551 -0
  301. package/src/api-web.ts +48 -0
  302. package/src/api.ts +103 -0
  303. package/src/cli.ts +1225 -0
  304. package/src/schemas/HotDBInflux.ts +211 -0
  305. package/src/schemas/HotDBMigration.ts +24 -0
  306. package/src/schemas/HotDBMySQL.ts +312 -0
  307. package/src/schemas/HotDBSchema.ts +21 -0
  308. package/src/schemas/influx/InfluxSchema.ts +19 -0
  309. package/src/schemas/mysql/MySQLSchema.ts +90 -0
  310. package/src/schemas/mysql/MySQLSchemaField.ts +408 -0
  311. package/src/schemas/mysql/MySQLSchemaTable.ts +353 -0
  312. package/temp/HotStaqWeb.ts +59 -0
  313. package/tsconfig-generator.json +17 -0
  314. package/tsconfig-web.json +74 -0
  315. package/tsconfig.json +73 -0
  316. package/webpack.config.generator.js +41 -0
  317. package/webpack.config.js +53 -0
  318. package/webpack.config.tests.js +56 -0
@@ -0,0 +1,622 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.HotTester = void 0;
40
+ var HotStaq_1 = require("./HotStaq");
41
+ /**
42
+ * Executes tests.
43
+ */
44
+ var HotTester = /** @class */ (function () {
45
+ function HotTester(processor, name, baseUrl, driver, testMaps) {
46
+ if (testMaps === void 0) { testMaps = {}; }
47
+ this.processor = processor;
48
+ this.name = name;
49
+ this.baseUrl = baseUrl;
50
+ this.testMaps = testMaps;
51
+ this.driver = driver;
52
+ this.finishedLoading = false;
53
+ this.hasBeenSetup = false;
54
+ this.hasBeenDestroyed = false;
55
+ }
56
+ /**
57
+ * Waits for the API to finish loading all data.
58
+ */
59
+ HotTester.prototype.waitForData = function () {
60
+ return __awaiter(this, void 0, void 0, function () {
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0:
64
+ if (!(this.finishedLoading === false)) return [3 /*break*/, 2];
65
+ return [4 /*yield*/, HotStaq_1.HotStaq.wait(10)];
66
+ case 1:
67
+ _a.sent();
68
+ return [3 /*break*/, 0];
69
+ case 2: return [2 /*return*/];
70
+ }
71
+ });
72
+ });
73
+ };
74
+ /**
75
+ * Get a test page.
76
+ */
77
+ HotTester.prototype.getTestPage = function (destination) {
78
+ var page = this.testMaps[destination.mapName].pages[destination.page];
79
+ return (page);
80
+ };
81
+ /**
82
+ * Get a test path.
83
+ */
84
+ HotTester.prototype.getTestPath = function (destination, pathName) {
85
+ var page = this.testMaps[destination.mapName].pages[destination.page];
86
+ return (page.testPaths[pathName]);
87
+ };
88
+ /**
89
+ * Get a destination JSON object to use.
90
+ */
91
+ HotTester.interpretDestination = function (mapName, testDest) {
92
+ var destination = testDest.destination;
93
+ var newDestination = {
94
+ mapName: mapName,
95
+ page: "",
96
+ api: "",
97
+ paths: []
98
+ };
99
+ var strs = destination.split(/\-\>/g);
100
+ var type = strs[0];
101
+ var getType = function (typeStr, typeDelimiter) {
102
+ var pos = typeStr.indexOf(typeDelimiter);
103
+ var typeValue = "";
104
+ if (pos > -1) {
105
+ typeValue = typeStr.substr(pos + typeDelimiter.length);
106
+ typeValue = typeValue.trim();
107
+ }
108
+ return (typeValue);
109
+ };
110
+ newDestination.page = getType(type, "page:");
111
+ newDestination.api = getType(type, "api:");
112
+ for (var iIdx = 1; iIdx < strs.length; iIdx++) {
113
+ var newPathStr = strs[iIdx];
114
+ var newPath = {
115
+ cmd: "",
116
+ dest: "",
117
+ path: ""
118
+ };
119
+ newPathStr = newPathStr.trim();
120
+ newPath.dest = getType(newPathStr, "dest:");
121
+ newPath.cmd = getType(newPathStr, "cmd:");
122
+ newPath.path = getType(newPathStr, "path:");
123
+ if ((newPath.dest == "") && (newPath.cmd == "") && (newPath.path == ""))
124
+ newPath.path = newPathStr;
125
+ newDestination.paths.push(newPath);
126
+ }
127
+ return (newDestination);
128
+ };
129
+ /**
130
+ * Execute an API's test path.
131
+ */
132
+ HotTester.prototype.executeTestAPIPath = function (destination, method, testName, skipEventCalls, continueWhenTestIsComplete) {
133
+ if (skipEventCalls === void 0) { skipEventCalls = false; }
134
+ if (continueWhenTestIsComplete === void 0) { continueWhenTestIsComplete = false; }
135
+ return __awaiter(this, void 0, void 0, function () {
136
+ var runTestPath, result, testCaseObject;
137
+ return __generator(this, function (_a) {
138
+ switch (_a.label) {
139
+ case 0:
140
+ runTestPath = true;
141
+ if (!(skipEventCalls === false)) return [3 /*break*/, 2];
142
+ if (!(this.onTestAPIPathStart != null)) return [3 /*break*/, 2];
143
+ return [4 /*yield*/, this.onTestAPIPathStart(destination, method, testName, continueWhenTestIsComplete)];
144
+ case 1:
145
+ runTestPath = _a.sent();
146
+ _a.label = 2;
147
+ case 2:
148
+ result = null;
149
+ if (!(runTestPath === true)) return [3 /*break*/, 4];
150
+ testCaseObject = method.testCases[testName];
151
+ if (testCaseObject == null)
152
+ throw new Error("HotTester: Test case object ".concat(testName, " does not exist!"));
153
+ return [4 /*yield*/, testCaseObject.func(this.driver)];
154
+ case 3:
155
+ result = _a.sent();
156
+ _a.label = 4;
157
+ case 4:
158
+ if (!(skipEventCalls === false)) return [3 /*break*/, 6];
159
+ if (!(this.onTestAPIPathEnd != null)) return [3 /*break*/, 6];
160
+ return [4 /*yield*/, this.onTestAPIPathEnd(destination, method, testName, result, continueWhenTestIsComplete)];
161
+ case 5:
162
+ _a.sent();
163
+ _a.label = 6;
164
+ case 6: return [2 /*return*/, (result)];
165
+ }
166
+ });
167
+ });
168
+ };
169
+ /**
170
+ * Execute all test paths in an API route.
171
+ *
172
+ * @fixme This needs a better implementation...
173
+ */
174
+ HotTester.prototype.executeTestAPIPaths = function (destination) {
175
+ return __awaiter(this, void 0, void 0, function () {
176
+ var results, testMap, route, iIdx, stop_1, pathName, method, nextStop, testName, result;
177
+ return __generator(this, function (_a) {
178
+ switch (_a.label) {
179
+ case 0:
180
+ results = [];
181
+ testMap = this.testMaps[destination.mapName];
182
+ if (testMap == null)
183
+ throw new Error("HotTester: Map ".concat(destination.mapName, " does not exist!"));
184
+ if (this.processor.api == null)
185
+ throw new Error("HotTester: Associated processor does not have an API!");
186
+ route = this.processor.api.routes[destination.api];
187
+ if (route == null)
188
+ throw new Error("HotTester: API does not have route ".concat(destination.api, "!"));
189
+ iIdx = 0;
190
+ _a.label = 1;
191
+ case 1:
192
+ if (!(iIdx < destination.paths.length)) return [3 /*break*/, 4];
193
+ stop_1 = destination.paths[iIdx];
194
+ pathName = stop_1.path;
195
+ method = route.getMethod(pathName);
196
+ nextStop = destination.paths[iIdx + 1];
197
+ testName = nextStop.path;
198
+ return [4 /*yield*/, this.executeTestAPIPath(destination, method, testName)];
199
+ case 2:
200
+ result = _a.sent();
201
+ results.push(result);
202
+ _a.label = 3;
203
+ case 3:
204
+ iIdx += 2;
205
+ return [3 /*break*/, 1];
206
+ case 4: return [2 /*return*/, (results)];
207
+ }
208
+ });
209
+ });
210
+ };
211
+ /**
212
+ * Execute a test page path.
213
+ */
214
+ HotTester.prototype.executeTestPagePath = function (destination, stop, skipEventCalls, continueWhenTestIsComplete) {
215
+ if (skipEventCalls === void 0) { skipEventCalls = false; }
216
+ if (continueWhenTestIsComplete === void 0) { continueWhenTestIsComplete = false; }
217
+ return __awaiter(this, void 0, void 0, function () {
218
+ var runTestPath, testMap, page, testPathName, testPath, result;
219
+ return __generator(this, function (_a) {
220
+ switch (_a.label) {
221
+ case 0:
222
+ runTestPath = true;
223
+ testMap = this.testMaps[destination.mapName];
224
+ /// @fixme For some reason the errors being thrown here are not being thrown.
225
+ if (testMap == null)
226
+ throw new Error("HotTester: Map ".concat(destination.mapName, " does not exist!"));
227
+ page = testMap.pages[destination.page];
228
+ if (page == null)
229
+ throw new Error("HotTester: Page ".concat(destination.page, " does not exist!"));
230
+ this.driver.page = page;
231
+ testPathName = stop.path;
232
+ testPath = page.testPaths[testPathName];
233
+ if (!(skipEventCalls === false)) return [3 /*break*/, 2];
234
+ if (!(this.onTestPagePathStart != null)) return [3 /*break*/, 2];
235
+ return [4 /*yield*/, this.onTestPagePathStart(destination, page, stop, continueWhenTestIsComplete)];
236
+ case 1:
237
+ runTestPath = _a.sent();
238
+ _a.label = 2;
239
+ case 2:
240
+ result = null;
241
+ if (!(runTestPath === true)) return [3 /*break*/, 4];
242
+ if (testPath == null) {
243
+ throw new Error("HotTester: Test path ".concat(testPathName, " does not have a function!"));
244
+ }
245
+ return [4 /*yield*/, testPath(this.driver)];
246
+ case 3:
247
+ result = _a.sent();
248
+ _a.label = 4;
249
+ case 4:
250
+ if (!(skipEventCalls === false)) return [3 /*break*/, 6];
251
+ if (!(this.onTestPagePathEnd != null)) return [3 /*break*/, 6];
252
+ return [4 /*yield*/, this.onTestPagePathEnd(destination, testPath, result, continueWhenTestIsComplete)];
253
+ case 5:
254
+ _a.sent();
255
+ _a.label = 6;
256
+ case 6: return [2 /*return*/, (result)];
257
+ }
258
+ });
259
+ });
260
+ };
261
+ /**
262
+ * Execute a command.
263
+ */
264
+ HotTester.prototype.executeCommand = function (destination, page, stop, cmd) {
265
+ return __awaiter(this, void 0, void 0, function () {
266
+ var hasCmd, getCmdArgs, cmdFunc, args;
267
+ var _this = this;
268
+ return __generator(this, function (_a) {
269
+ switch (_a.label) {
270
+ case 0:
271
+ hasCmd = function (input, cmd, hasArguments) {
272
+ var result = false;
273
+ if (stop.cmd === cmd)
274
+ result = true;
275
+ var pos = stop.cmd.indexOf("(");
276
+ // If there's parenthesis, get the incoming command.
277
+ if (pos > -1) {
278
+ var inputCmd = stop.cmd.substr(0, pos);
279
+ if (inputCmd === cmd)
280
+ result = true;
281
+ }
282
+ return (result);
283
+ };
284
+ getCmdArgs = function (input) {
285
+ var results = [];
286
+ var matches = input.match(/(?=\()(.*?)(?=\))/g);
287
+ if (matches != null) {
288
+ var tempMatch = matches[0];
289
+ // A little hack, since I suck at Regex :(
290
+ tempMatch = tempMatch.substr(2, tempMatch.length);
291
+ results.push(tempMatch);
292
+ }
293
+ if (results.length < 1)
294
+ throw new Error("HotTester: Command ".concat(input, " requires arguments, but none were supplied."));
295
+ return (results);
296
+ };
297
+ cmdFunc = null;
298
+ args = [];
299
+ if (hasCmd(stop.cmd, "waitForTesterAPIData", false) === true) {
300
+ cmdFunc = function (cmdArgs) { return __awaiter(_this, void 0, void 0, function () {
301
+ return __generator(this, function (_a) {
302
+ switch (_a.label) {
303
+ case 0:
304
+ this.finishedLoading = false;
305
+ return [4 /*yield*/, this.waitForData()];
306
+ case 1:
307
+ _a.sent();
308
+ return [2 /*return*/];
309
+ }
310
+ });
311
+ }); };
312
+ }
313
+ if (hasCmd(stop.cmd, "wait", true) === true) {
314
+ args = getCmdArgs(stop.cmd);
315
+ cmdFunc = function (cmdArgs) { return __awaiter(_this, void 0, void 0, function () {
316
+ var numMilliseconds;
317
+ return __generator(this, function (_a) {
318
+ switch (_a.label) {
319
+ case 0:
320
+ numMilliseconds = parseInt(cmdArgs[0]);
321
+ return [4 /*yield*/, HotStaq_1.HotStaq.wait(numMilliseconds)];
322
+ case 1:
323
+ _a.sent();
324
+ return [2 /*return*/];
325
+ }
326
+ });
327
+ }); };
328
+ }
329
+ if (hasCmd(stop.cmd, "url", true) === true) {
330
+ args = getCmdArgs(stop.cmd);
331
+ cmdFunc = function (cmdArgs) { return __awaiter(_this, void 0, void 0, function () {
332
+ var input;
333
+ return __generator(this, function (_a) {
334
+ switch (_a.label) {
335
+ case 0:
336
+ input = cmdArgs[0];
337
+ return [4 /*yield*/, this.driver.navigateToUrl(input)];
338
+ case 1:
339
+ _a.sent();
340
+ return [2 /*return*/];
341
+ }
342
+ });
343
+ }); };
344
+ }
345
+ if (hasCmd(stop.cmd, "print", true) === true) {
346
+ args = getCmdArgs(stop.cmd);
347
+ cmdFunc = function (cmdArgs) { return __awaiter(_this, void 0, void 0, function () {
348
+ var input;
349
+ return __generator(this, function (_a) {
350
+ switch (_a.label) {
351
+ case 0:
352
+ input = cmdArgs[0];
353
+ return [4 /*yield*/, this.driver.print(input)];
354
+ case 1:
355
+ _a.sent();
356
+ return [2 /*return*/];
357
+ }
358
+ });
359
+ }); };
360
+ }
361
+ if (hasCmd(stop.cmd, "println", true) === true) {
362
+ args = getCmdArgs(stop.cmd);
363
+ cmdFunc = function (cmdArgs) { return __awaiter(_this, void 0, void 0, function () {
364
+ var input;
365
+ return __generator(this, function (_a) {
366
+ switch (_a.label) {
367
+ case 0:
368
+ input = cmdArgs[0];
369
+ return [4 /*yield*/, this.driver.println(input)];
370
+ case 1:
371
+ _a.sent();
372
+ return [2 /*return*/];
373
+ }
374
+ });
375
+ }); };
376
+ }
377
+ if (hasCmd(stop.cmd, "waitForTestObject", true) === true) {
378
+ args = getCmdArgs(stop.cmd);
379
+ cmdFunc = function (cmdArgs) { return __awaiter(_this, void 0, void 0, function () {
380
+ var testObject;
381
+ return __generator(this, function (_a) {
382
+ switch (_a.label) {
383
+ case 0:
384
+ testObject = JSON.parse(cmdArgs[0]);
385
+ return [4 /*yield*/, this.driver.waitForTestElement(testObject)];
386
+ case 1:
387
+ _a.sent();
388
+ return [2 /*return*/];
389
+ }
390
+ });
391
+ }); };
392
+ }
393
+ if (cmdFunc == null)
394
+ throw new Error("HotTester: Command ".concat(stop.cmd, " does not exist!"));
395
+ return [4 /*yield*/, this.onCommand(destination, page, stop, cmd, args, cmdFunc)];
396
+ case 1:
397
+ _a.sent();
398
+ return [2 /*return*/];
399
+ }
400
+ });
401
+ });
402
+ };
403
+ /**
404
+ * Execute all test paths in a page.
405
+ */
406
+ HotTester.prototype.executeTestPagePaths = function (destination, continueWhenTestIsComplete) {
407
+ if (continueWhenTestIsComplete === void 0) { continueWhenTestIsComplete = false; }
408
+ return __awaiter(this, void 0, void 0, function () {
409
+ var results, testMap, iIdx, stop_2, result, page, testDest, newDestination;
410
+ return __generator(this, function (_a) {
411
+ switch (_a.label) {
412
+ case 0:
413
+ results = [];
414
+ testMap = this.testMaps[destination.mapName];
415
+ /// @fixme For some reason the errors being thrown here are not being thrown.
416
+ if (testMap == null)
417
+ throw new Error("HotTester: Map ".concat(destination.mapName, " does not exist!"));
418
+ iIdx = 0;
419
+ _a.label = 1;
420
+ case 1:
421
+ if (!(iIdx < destination.paths.length)) return [3 /*break*/, 9];
422
+ stop_2 = destination.paths[iIdx];
423
+ result = null;
424
+ page = testMap.pages[destination.page];
425
+ if (page == null)
426
+ throw new Error("HotTester: Page ".concat(destination.page, " does not exist!"));
427
+ if (!(stop_2.dest !== "")) return [3 /*break*/, 3];
428
+ if (testMap.destinations instanceof Array)
429
+ throw new Error("HotTester: When using type 'dest' in a destination string, all destinations in map ".concat(destination.mapName, " must be named."));
430
+ testDest = testMap.destinations[stop_2.dest];
431
+ newDestination = HotTester.interpretDestination(destination.mapName, testDest);
432
+ return [4 /*yield*/, this.executeTestPagePaths(newDestination)];
433
+ case 2:
434
+ result = _a.sent();
435
+ _a.label = 3;
436
+ case 3:
437
+ if (!(stop_2.cmd !== "")) return [3 /*break*/, 5];
438
+ return [4 /*yield*/, this.executeCommand(destination, page, stop_2, stop_2.cmd)];
439
+ case 4:
440
+ _a.sent();
441
+ _a.label = 5;
442
+ case 5:
443
+ if (!(stop_2.path !== "")) return [3 /*break*/, 7];
444
+ return [4 /*yield*/, this.executeTestPagePath(destination, stop_2, false, continueWhenTestIsComplete)];
445
+ case 6:
446
+ result = _a.sent();
447
+ _a.label = 7;
448
+ case 7:
449
+ results.push(result);
450
+ _a.label = 8;
451
+ case 8:
452
+ iIdx++;
453
+ return [3 /*break*/, 1];
454
+ case 9: return [2 /*return*/, (results)];
455
+ }
456
+ });
457
+ });
458
+ };
459
+ /**
460
+ * Execute the tests.
461
+ */
462
+ HotTester.prototype.execute = function (mapName) {
463
+ return __awaiter(this, void 0, void 0, function () {
464
+ var map, routeKey, url, executeDestination, iIdx, testDest, hasExecutedKeys, iIdx, orderKey, testDest, _a, _b, _i, key, executeDest, iIdx, executedKey, testDest, _c, _d, _e, key, testDest;
465
+ var _this = this;
466
+ return __generator(this, function (_f) {
467
+ switch (_f.label) {
468
+ case 0:
469
+ map = this.testMaps[mapName];
470
+ if (map == null)
471
+ throw new Error("HotTester: Map ".concat(mapName, " does not exist!"));
472
+ routeKey = this.processor.getRouteKeyFromName(mapName);
473
+ url = "";
474
+ if (routeKey !== "")
475
+ url = "".concat(this.baseUrl).concat(routeKey);
476
+ executeDestination = function (testDest, destinationKey) {
477
+ if (destinationKey === void 0) { destinationKey = ""; }
478
+ return __awaiter(_this, void 0, void 0, function () {
479
+ var destination, isWebRoute, runTestPaths;
480
+ return __generator(this, function (_a) {
481
+ switch (_a.label) {
482
+ case 0:
483
+ if (testDest.autoStart === false)
484
+ return [2 /*return*/];
485
+ destination = HotTester.interpretDestination(mapName, testDest);
486
+ isWebRoute = false;
487
+ runTestPaths = true;
488
+ if (destination.page !== "")
489
+ isWebRoute = true;
490
+ if (!(this.setup != null)) return [3 /*break*/, 2];
491
+ if (!(this.hasBeenSetup === false)) return [3 /*break*/, 2];
492
+ return [4 /*yield*/, this.setup(isWebRoute, url, destinationKey)];
493
+ case 1:
494
+ _a.sent();
495
+ this.hasBeenSetup = true;
496
+ this.hasBeenDestroyed = false;
497
+ _a.label = 2;
498
+ case 2:
499
+ if (!(this.onTestStart != null)) return [3 /*break*/, 4];
500
+ return [4 /*yield*/, this.onTestStart(destination, url, destinationKey)];
501
+ case 3:
502
+ runTestPaths = _a.sent();
503
+ _a.label = 4;
504
+ case 4:
505
+ if (!(runTestPaths === true)) return [3 /*break*/, 8];
506
+ if (!(destination.page !== "")) return [3 /*break*/, 6];
507
+ return [4 /*yield*/, this.executeTestPagePaths(destination)];
508
+ case 5:
509
+ _a.sent();
510
+ _a.label = 6;
511
+ case 6:
512
+ if (!(destination.api !== "")) return [3 /*break*/, 8];
513
+ return [4 /*yield*/, this.executeTestAPIPaths(destination)];
514
+ case 7:
515
+ _a.sent();
516
+ _a.label = 8;
517
+ case 8:
518
+ if (!(this.onTestEnd != null)) return [3 /*break*/, 10];
519
+ return [4 /*yield*/, this.onTestEnd(destination)];
520
+ case 9:
521
+ _a.sent();
522
+ _a.label = 10;
523
+ case 10:
524
+ if (!(this.destroy != null)) return [3 /*break*/, 12];
525
+ if (!(this.hasBeenDestroyed === false)) return [3 /*break*/, 12];
526
+ return [4 /*yield*/, this.destroy()];
527
+ case 11:
528
+ _a.sent();
529
+ this.hasBeenDestroyed = true;
530
+ this.hasBeenSetup = false;
531
+ _a.label = 12;
532
+ case 12: return [2 /*return*/];
533
+ }
534
+ });
535
+ });
536
+ };
537
+ if (!(map.destinations instanceof Array)) return [3 /*break*/, 5];
538
+ iIdx = 0;
539
+ _f.label = 1;
540
+ case 1:
541
+ if (!(iIdx < map.destinations.length)) return [3 /*break*/, 4];
542
+ testDest = map.destinations[iIdx];
543
+ return [4 /*yield*/, executeDestination(testDest)];
544
+ case 2:
545
+ _f.sent();
546
+ _f.label = 3;
547
+ case 3:
548
+ iIdx++;
549
+ return [3 /*break*/, 1];
550
+ case 4: return [3 /*break*/, 18];
551
+ case 5:
552
+ if (!(map.destinationOrder.length > 0)) return [3 /*break*/, 14];
553
+ hasExecutedKeys = [];
554
+ iIdx = 0;
555
+ _f.label = 6;
556
+ case 6:
557
+ if (!(iIdx < map.destinationOrder.length)) return [3 /*break*/, 9];
558
+ orderKey = map.destinationOrder[iIdx];
559
+ testDest = map.destinations[orderKey];
560
+ if (testDest == null)
561
+ throw new Error("HotTester: Destination ".concat(orderKey, " does not exist!"));
562
+ hasExecutedKeys.push(orderKey);
563
+ return [4 /*yield*/, executeDestination(testDest, orderKey)];
564
+ case 7:
565
+ _f.sent();
566
+ _f.label = 8;
567
+ case 8:
568
+ iIdx++;
569
+ return [3 /*break*/, 6];
570
+ case 9:
571
+ _a = [];
572
+ for (_b in map.destinations)
573
+ _a.push(_b);
574
+ _i = 0;
575
+ _f.label = 10;
576
+ case 10:
577
+ if (!(_i < _a.length)) return [3 /*break*/, 13];
578
+ key = _a[_i];
579
+ executeDest = true;
580
+ for (iIdx = 0; iIdx < hasExecutedKeys.length; iIdx++) {
581
+ executedKey = hasExecutedKeys[iIdx];
582
+ if (executedKey === key) {
583
+ executeDest = false;
584
+ break;
585
+ }
586
+ }
587
+ if (!(executeDest === true)) return [3 /*break*/, 12];
588
+ testDest = map.destinations[key];
589
+ return [4 /*yield*/, executeDestination(testDest, key)];
590
+ case 11:
591
+ _f.sent();
592
+ _f.label = 12;
593
+ case 12:
594
+ _i++;
595
+ return [3 /*break*/, 10];
596
+ case 13: return [3 /*break*/, 18];
597
+ case 14:
598
+ _c = [];
599
+ for (_d in map.destinations)
600
+ _c.push(_d);
601
+ _e = 0;
602
+ _f.label = 15;
603
+ case 15:
604
+ if (!(_e < _c.length)) return [3 /*break*/, 18];
605
+ key = _c[_e];
606
+ testDest = map.destinations[key];
607
+ return [4 /*yield*/, executeDestination(testDest, key)];
608
+ case 16:
609
+ _f.sent();
610
+ _f.label = 17;
611
+ case 17:
612
+ _e++;
613
+ return [3 /*break*/, 15];
614
+ case 18: return [2 /*return*/];
615
+ }
616
+ });
617
+ });
618
+ };
619
+ return HotTester;
620
+ }());
621
+ exports.HotTester = HotTester;
622
+ //# sourceMappingURL=HotTester.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HotTester.js","sourceRoot":"","sources":["../../src/HotTester.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { HotAPI } from "./HotAPI";
2
+ import { HotClient } from "./HotClient";
3
+ import { HotServer } from "./HotServer";
4
+ export declare class HotTesterAPI extends HotAPI {
5
+ constructor(baseUrl: string, connection?: HotServer | HotClient, db?: any);
6
+ /**
7
+ * This is called when the page has finished loading in development mode.
8
+ */
9
+ pageLoaded(req: any, res: any, authorizedValue: any, jsonObj: any, queryObj: any): Promise<any>;
10
+ /**
11
+ * Execute the tests for a page.
12
+ */
13
+ executeTests(req: any, res: any, authorizedValue: any, jsonObj: any, queryObj: any): Promise<any>;
14
+ }
15
+ //# sourceMappingURL=HotTesterAPI.d.ts.map