@aj-shadow/actorjs-app 0.0.0-aj-beta.221

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 (423) hide show
  1. package/.gitattributes +29 -0
  2. package/.vscode/launch.json +18 -0
  3. package/CHANGELOG.md +79 -0
  4. package/LICENSE.txt +96 -0
  5. package/README.md +86 -0
  6. package/contributors.txt +3 -0
  7. package/main.js +14 -0
  8. package/npm-post-install.js +618 -0
  9. package/npm-shrinkwrap.json +14 -0
  10. package/package.json +16 -0
  11. package/project/actorjs-project.tree +466 -0
  12. package/project/client/actions/action-actor-editor/action-actor-editor-file.js +101 -0
  13. package/project/client/actions/action-actor-editor/action-actor-editor-folder.js +41 -0
  14. package/project/client/actions/action-actor-editor/action-actor-editor-persistent-data.js +23 -0
  15. package/project/client/actions/action-actor-editor/action-actor-editor-project.js +23 -0
  16. package/project/client/actions/action-actor-editor/data-action-actor-editor-file.js +70 -0
  17. package/project/client/actions/action-actor-editor/data-action-actor-editor-folder.js +26 -0
  18. package/project/client/actions/action-actor-editor/data-action-actor-editor-project.js +27 -0
  19. package/project/client/actions/action-actor-editor/realtime-action-actors-editor.js +14 -0
  20. package/project/client/actions/action-addresses/action-addresses.js +180 -0
  21. package/project/client/actions/action-addresses/data-action-addresses.js +174 -0
  22. package/project/client/actions/action-console/action-console.js +11 -0
  23. package/project/client/actions/action-console/data-action-console.js +12 -0
  24. package/project/client/actions/action-content/action-content.js +101 -0
  25. package/project/client/actions/action-content/data-action-content.js +90 -0
  26. package/project/client/actions/action-function-under-test.js +45 -0
  27. package/project/client/actions/action-load/action-load.js +29 -0
  28. package/project/client/actions/action-load/data-action-load.js +4 -0
  29. package/project/client/actions/action-login/action-login.js +95 -0
  30. package/project/client/actions/action-login/data-action-login.js +83 -0
  31. package/project/client/actions/action-plugins/action-plugins.js +17 -0
  32. package/project/client/actions/action-plugins/data-action-plugins.js +20 -0
  33. package/project/client/actions/action-plus-services/action-plus-services.js +17 -0
  34. package/project/client/actions/action-plus-services/data-action-plus-services.js +20 -0
  35. package/project/client/actions/action-repos/action-repos.js +35 -0
  36. package/project/client/actions/action-repos/data-action-repos.js +42 -0
  37. package/project/client/actions/action-stack-editor/action-stack-editor-file.js +84 -0
  38. package/project/client/actions/action-stack-editor/action-stack-editor-folder.js +41 -0
  39. package/project/client/actions/action-stack-editor/action-stack-editor-persistent-data.js +23 -0
  40. package/project/client/actions/action-stack-editor/action-stack-editor-project.js +29 -0
  41. package/project/client/actions/action-stack-editor/data-action-stack-editor-file.js +49 -0
  42. package/project/client/actions/action-stack-editor/data-action-stack-editor-folder.js +26 -0
  43. package/project/client/actions/action-stack-editor/data-action-stack-editor-project.js +34 -0
  44. package/project/client/actions/action-sut-fut-filter.js +23 -0
  45. package/project/client/actions/action-system-under-test/action-system-under-test.js +164 -0
  46. package/project/client/actions/action-system-under-test/data-action-system-under-test.js +70 -0
  47. package/project/client/actions/action-test-case/action-test-case.js +323 -0
  48. package/project/client/actions/action-test-case/data-action-test-case.js +133 -0
  49. package/project/client/actions/action-test-case/realtime-action-test-case.js +69 -0
  50. package/project/client/actions/action-test-cases.js +49 -0
  51. package/project/client/actions/action-test-data/action-test-data.js +77 -0
  52. package/project/client/actions/action-test-data/data-action-test-data.js +62 -0
  53. package/project/client/actions/action-test-suite/action-test-suite.js +122 -0
  54. package/project/client/actions/action-test-suite/data-action-test-suite.js +76 -0
  55. package/project/client/actions/action-test-suite/realtime-action-test-suite.js +20 -0
  56. package/project/client/actions/action-test-suites.js +47 -0
  57. package/project/client/actor-default.js +18 -0
  58. package/project/client/communication/messages/messages-c-to-c/message-new-actor-index.js +15 -0
  59. package/project/client/communication/messages/messages-c-to-c/message-test-case-clear.js +15 -0
  60. package/project/client/communication/messages/messages-c-to-c/message-test-case-not-started.js +15 -0
  61. package/project/client/communication/messages/messages-c-to-c/message-test-suite-clear.js +15 -0
  62. package/project/client/components/footer/footer.jsx +94 -0
  63. package/project/client/components/header/header-status-login.jsx +78 -0
  64. package/project/client/components/header/header-status-staging-environment.jsx +132 -0
  65. package/project/client/components/header/header.jsx +27 -0
  66. package/project/client/components/header/header_icon.jsx +37 -0
  67. package/project/client/components/header/header_status.jsx +33 -0
  68. package/project/client/components/middle/abbreviation/middle-abbreviation-toolbar.jsx +126 -0
  69. package/project/client/components/middle/abbreviation/middle-abbreviation.jsx +27 -0
  70. package/project/client/components/middle/actor-editor/middle-actor-editor-sidebar.jsx +101 -0
  71. package/project/client/components/middle/actor-editor/middle-actor-editor-toolbar.jsx +612 -0
  72. package/project/client/components/middle/actor-editor/middle-actor-editor-view.jsx +157 -0
  73. package/project/client/components/middle/actor-editor/middle-actor-editor.jsx +38 -0
  74. package/project/client/components/middle/addresses/helpers/stage-filter.js +32 -0
  75. package/project/client/components/middle/addresses/middle-addresses-toolbar.jsx +183 -0
  76. package/project/client/components/middle/addresses/middle-addresses-view-client-address.jsx +67 -0
  77. package/project/client/components/middle/addresses/middle-addresses-view-client-interface.jsx +68 -0
  78. package/project/client/components/middle/addresses/middle-addresses-view-dns.jsx +67 -0
  79. package/project/client/components/middle/addresses/middle-addresses-view-dst.jsx +67 -0
  80. package/project/client/components/middle/addresses/middle-addresses-view-network-interface.jsx +67 -0
  81. package/project/client/components/middle/addresses/middle-addresses-view-ports.jsx +67 -0
  82. package/project/client/components/middle/addresses/middle-addresses-view-server-address.jsx +68 -0
  83. package/project/client/components/middle/addresses/middle-addresses-view-server-interface.jsx +68 -0
  84. package/project/client/components/middle/addresses/middle-addresses-view-src.jsx +67 -0
  85. package/project/client/components/middle/addresses/middle-addresses-view-srv.jsx +67 -0
  86. package/project/client/components/middle/addresses/middle-addresses-view-sut-address.jsx +67 -0
  87. package/project/client/components/middle/addresses/middle-addresses-view-sut-interface.jsx +67 -0
  88. package/project/client/components/middle/addresses/middle-addresses-view.jsx +155 -0
  89. package/project/client/components/middle/addresses/middle-addresses.jsx +39 -0
  90. package/project/client/components/middle/content/middle-content-toolbar.jsx +135 -0
  91. package/project/client/components/middle/content/middle-content-view-audio.jsx +60 -0
  92. package/project/client/components/middle/content/middle-content-view-documents.jsx +60 -0
  93. package/project/client/components/middle/content/middle-content-view-image.jsx +60 -0
  94. package/project/client/components/middle/content/middle-content-view-other.jsx +60 -0
  95. package/project/client/components/middle/content/middle-content-view-text.jsx +60 -0
  96. package/project/client/components/middle/content/middle-content-view-video.jsx +60 -0
  97. package/project/client/components/middle/content/middle-content-view.jsx +111 -0
  98. package/project/client/components/middle/content/middle-content.jsx +39 -0
  99. package/project/client/components/middle/middle-not-found.jsx +24 -0
  100. package/project/client/components/middle/middle-sut-fut-filter.jsx +90 -0
  101. package/project/client/components/middle/middle.jsx +90 -0
  102. package/project/client/components/middle/middle_sidebar.jsx +256 -0
  103. package/project/client/components/middle/plugins/middle-plugins.jsx +64 -0
  104. package/project/client/components/middle/plus-services/middle-plus-services.jsx +63 -0
  105. package/project/client/components/middle/repos/middle-repos-toolbar.jsx +137 -0
  106. package/project/client/components/middle/repos/middle-repos-view.jsx +47 -0
  107. package/project/client/components/middle/repos/middle-repos.jsx +36 -0
  108. package/project/client/components/middle/stack-editor/middle-stack-editor-sidebar.jsx +101 -0
  109. package/project/client/components/middle/stack-editor/middle-stack-editor-toolbar.jsx +525 -0
  110. package/project/client/components/middle/stack-editor/middle-stack-editor-view.jsx +156 -0
  111. package/project/client/components/middle/stack-editor/middle-stack-editor.jsx +38 -0
  112. package/project/client/components/middle/staging/helper.js +58 -0
  113. package/project/client/components/middle/staging/middle-staging-modal-interface-create.jsx +244 -0
  114. package/project/client/components/middle/staging/middle-staging-modal-interface-delete.jsx +186 -0
  115. package/project/client/components/middle/staging/middle-staging-toolbar.jsx +267 -0
  116. package/project/client/components/middle/staging/middle-staging-view.jsx +67 -0
  117. package/project/client/components/middle/staging/middle-staging.jsx +40 -0
  118. package/project/client/components/middle/staging/tabs/middle-staging-tab-logical.jsx +27 -0
  119. package/project/client/components/middle/staging/tabs/middle-staging-tab-report.jsx +62 -0
  120. package/project/client/components/middle/staging/tabs/middle-staging-tab-repos.jsx +96 -0
  121. package/project/client/components/middle/staging/tabs/middle-staging-tab-setup.jsx +73 -0
  122. package/project/client/components/middle/start/middle-start-toolbar.jsx +134 -0
  123. package/project/client/components/middle/start/middle-start-view.jsx +335 -0
  124. package/project/client/components/middle/start/middle-start.jsx +36 -0
  125. package/project/client/components/middle/system-under-test/middle-system-under-test-toolbar.jsx +171 -0
  126. package/project/client/components/middle/system-under-test/middle-system-under-test-view-multi.jsx +119 -0
  127. package/project/client/components/middle/system-under-test/middle-system-under-test-view-single.jsx +85 -0
  128. package/project/client/components/middle/system-under-test/middle-system-under-test.jsx +40 -0
  129. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-instances.jsx +164 -0
  130. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-nodes.jsx +160 -0
  131. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-specification.jsx +463 -0
  132. package/project/client/components/middle/test-cases/general-helpers/actors-sorting.js +52 -0
  133. package/project/client/components/middle/test-cases/middle-test-cases-not-found.jsx +51 -0
  134. package/project/client/components/middle/test-cases/middle-test-cases-toolbar.jsx +804 -0
  135. package/project/client/components/middle/test-cases/middle-test-cases-view-columns.jsx +222 -0
  136. package/project/client/components/middle/test-cases/middle-test-cases-view-fut.jsx +105 -0
  137. package/project/client/components/middle/test-cases/middle-test-cases-view-recent.jsx +74 -0
  138. package/project/client/components/middle/test-cases/middle-test-cases-view-sut.jsx +98 -0
  139. package/project/client/components/middle/test-cases/middle-test-cases-view-tc.jsx +108 -0
  140. package/project/client/components/middle/test-cases/middle-test-cases-view-test-case.jsx +104 -0
  141. package/project/client/components/middle/test-cases/middle-test-cases.jsx +59 -0
  142. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-analyze.jsx +289 -0
  143. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-debug.jsx +699 -0
  144. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-definition.jsx +103 -0
  145. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-execution.jsx +321 -0
  146. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-log.jsx +150 -0
  147. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-sequence-diagram.jsx +160 -0
  148. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-specification.jsx +472 -0
  149. package/project/client/components/middle/test-data/middle-test-data-toolbar.jsx +135 -0
  150. package/project/client/components/middle/test-data/middle-test-data-view-environment.jsx +64 -0
  151. package/project/client/components/middle/test-data/middle-test-data-view-general.jsx +61 -0
  152. package/project/client/components/middle/test-data/middle-test-data-view-output.jsx +60 -0
  153. package/project/client/components/middle/test-data/middle-test-data-view-system.jsx +61 -0
  154. package/project/client/components/middle/test-data/middle-test-data-view.jsx +98 -0
  155. package/project/client/components/middle/test-data/middle-test-data.jsx +39 -0
  156. package/project/client/components/middle/test-suites/middle-test-suites-toolbar.jsx +524 -0
  157. package/project/client/components/middle/test-suites/middle-test-suites-view-columns.jsx +222 -0
  158. package/project/client/components/middle/test-suites/middle-test-suites-view-fut.jsx +105 -0
  159. package/project/client/components/middle/test-suites/middle-test-suites-view-recent.jsx +74 -0
  160. package/project/client/components/middle/test-suites/middle-test-suites-view-sut.jsx +96 -0
  161. package/project/client/components/middle/test-suites/middle-test-suites-view-test-suite.jsx +593 -0
  162. package/project/client/components/middle/test-suites/middle-test-suites-view-ts.jsx +109 -0
  163. package/project/client/components/middle/test-suites/middle-test-suites.jsx +55 -0
  164. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-definition.jsx +74 -0
  165. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-execution.jsx +544 -0
  166. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-log.jsx +118 -0
  167. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-sequence-diagram.jsx +155 -0
  168. package/project/client/components/middle/user/middle-user-toolbar.jsx +32 -0
  169. package/project/client/components/middle/user/middle-user-view.jsx +32 -0
  170. package/project/client/components/middle/user/middle-user.jsx +39 -0
  171. package/project/client/components/middle/videos/middle-videos-view.jsx +135 -0
  172. package/project/client/components/middle/videos/middle-videos.jsx +32 -0
  173. package/project/client/css/components/component-video.css +15 -0
  174. package/project/client/css/components/modal-dialog-file.css +4 -0
  175. package/project/client/css/footer/footer-info.css +18 -0
  176. package/project/client/css/footer/footer-logo.css +39 -0
  177. package/project/client/css/from-code-editor/sidebar-dark.css +20 -0
  178. package/project/client/css/from-code-editor/sidebar-light.css +18 -0
  179. package/project/client/css/from-code-editor/tab.css +19 -0
  180. package/project/client/css/from-code-editor/tab_dark.css +9 -0
  181. package/project/client/css/from-code-editor/tab_light.css +9 -0
  182. package/project/client/css/from-code-editor/view-dark.css +11 -0
  183. package/project/client/css/from-code-editor/view-light.css +10 -0
  184. package/project/client/css/header/header-status.css +114 -0
  185. package/project/client/css/header/header.css +16 -0
  186. package/project/client/css/log-inner.css +46 -0
  187. package/project/client/css/main.css +4 -0
  188. package/project/client/css/middle/actor-editor.css +30 -0
  189. package/project/client/css/middle/address.css +57 -0
  190. package/project/client/css/middle/content.css +41 -0
  191. package/project/client/css/middle/login.css +118 -0
  192. package/project/client/css/middle/middle-start.css +5 -0
  193. package/project/client/css/middle/middle.css +13 -0
  194. package/project/client/css/middle/middle_sidebar.css +44 -0
  195. package/project/client/css/middle/middle_view.css +41 -0
  196. package/project/client/css/middle/stack-editor.css +30 -0
  197. package/project/client/css/middle/start/middle_start.css +94 -0
  198. package/project/client/css/middle/systems-under-test/systems-under-test-specification.css +48 -0
  199. package/project/client/css/middle/systems-under-test/systems-under-test.css +49 -0
  200. package/project/client/css/middle/test-case-and-test-suite/analyze.css +5 -0
  201. package/project/client/css/middle/test-case-and-test-suite/debug.css +281 -0
  202. package/project/client/css/middle/test-case-and-test-suite/execution.css +7 -0
  203. package/project/client/css/middle/test-case-and-test-suite/log.css +13 -0
  204. package/project/client/css/middle/test-case-and-test-suite/seq-dia.css +13 -0
  205. package/project/client/css/middle/test-cases/test-cases-analyze.css +9 -0
  206. package/project/client/css/middle/test-cases/test-cases-debug.css +61 -0
  207. package/project/client/css/middle/test-cases/test-cases-execution.css +4 -0
  208. package/project/client/css/middle/test-cases/test-cases-specification.css +82 -0
  209. package/project/client/css/middle/test-cases/test-cases.css +189 -0
  210. package/project/client/css/middle/test-data.css +52 -0
  211. package/project/client/css/middle/test-suites.css +525 -0
  212. package/project/client/css/middle/videos/videos.css +37 -0
  213. package/project/client/css/middle_test_cases_screen.css +8 -0
  214. package/project/client/css/middle_toolbar.css +10 -0
  215. package/project/client/css/repos.css +15 -0
  216. package/project/client/css/same_size_as_parent.css +6 -0
  217. package/project/client/css/test.css +116 -0
  218. package/project/client/html/index.html +61 -0
  219. package/project/client/main.jsx +59 -0
  220. package/project/client/stores/abbreviation-store.js +57 -0
  221. package/project/client/stores/actor-editor-store.js +758 -0
  222. package/project/client/stores/addresses-store.js +419 -0
  223. package/project/client/stores/console-store.js +27 -0
  224. package/project/client/stores/content-store.js +237 -0
  225. package/project/client/stores/documentation-store.js +14 -0
  226. package/project/client/stores/education-store.js +14 -0
  227. package/project/client/stores/filter-store.js +30 -0
  228. package/project/client/stores/function-under-test-store.js +58 -0
  229. package/project/client/stores/load-store.js +92 -0
  230. package/project/client/stores/login-store.js +232 -0
  231. package/project/client/stores/plugins-store.js +255 -0
  232. package/project/client/stores/plus-services-store.js +267 -0
  233. package/project/client/stores/repos-store.js +160 -0
  234. package/project/client/stores/stack-editor-store.js +691 -0
  235. package/project/client/stores/system-under-test-store.js +340 -0
  236. package/project/client/stores/test-case-store.js +1118 -0
  237. package/project/client/stores/test-cases-store.js +106 -0
  238. package/project/client/stores/test-data-store.js +181 -0
  239. package/project/client/stores/test-suite-store.js +438 -0
  240. package/project/client/stores/test-suites-store.js +86 -0
  241. package/project/client/stores/workshop-store.js +15 -0
  242. package/project/server/os/os-hardware.js +83 -0
  243. package/project/server/os/os-networks.js +50 -0
  244. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorBuild.js +185 -0
  245. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileDelete.js +21 -0
  246. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileGet.js +18 -0
  247. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileInlineGet.js +60 -0
  248. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileInlineUpdate.js +69 -0
  249. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileNew.js +396 -0
  250. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileRename.js +28 -0
  251. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileUpdate.js +18 -0
  252. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderDelete.js +21 -0
  253. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderNew.js +19 -0
  254. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderUpdate.js +19 -0
  255. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectGet.js +77 -0
  256. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectToggle.js +18 -0
  257. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectUpdate.js +22 -0
  258. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorStacksGet.js +54 -0
  259. package/project/server/plugin-data/addresses/plugin_data_AddressesClientAddressGet.js +19 -0
  260. package/project/server/plugin-data/addresses/plugin_data_AddressesClientAddressUpdate.js +19 -0
  261. package/project/server/plugin-data/addresses/plugin_data_AddressesClientInterfaceGet.js +19 -0
  262. package/project/server/plugin-data/addresses/plugin_data_AddressesClientInterfaceUpdate.js +19 -0
  263. package/project/server/plugin-data/addresses/plugin_data_AddressesDnsGet.js +20 -0
  264. package/project/server/plugin-data/addresses/plugin_data_AddressesDnsUpdate.js +19 -0
  265. package/project/server/plugin-data/addresses/plugin_data_AddressesDstGet.js +19 -0
  266. package/project/server/plugin-data/addresses/plugin_data_AddressesDstUpdate.js +19 -0
  267. package/project/server/plugin-data/addresses/plugin_data_AddressesNetworkInterfaceGet.js +19 -0
  268. package/project/server/plugin-data/addresses/plugin_data_AddressesNetworkInterfaceUpdate.js +19 -0
  269. package/project/server/plugin-data/addresses/plugin_data_AddressesPortsGet.js +19 -0
  270. package/project/server/plugin-data/addresses/plugin_data_AddressesPortsUpdate.js +19 -0
  271. package/project/server/plugin-data/addresses/plugin_data_AddressesServerAddressGet.js +19 -0
  272. package/project/server/plugin-data/addresses/plugin_data_AddressesServerAddressUpdate.js +19 -0
  273. package/project/server/plugin-data/addresses/plugin_data_AddressesServerInterfaceGet.js +19 -0
  274. package/project/server/plugin-data/addresses/plugin_data_AddressesServerInterfaceUpdate.js +19 -0
  275. package/project/server/plugin-data/addresses/plugin_data_AddressesSrcGet.js +38 -0
  276. package/project/server/plugin-data/addresses/plugin_data_AddressesSrcUpdate.js +19 -0
  277. package/project/server/plugin-data/addresses/plugin_data_AddressesSrvGet.js +19 -0
  278. package/project/server/plugin-data/addresses/plugin_data_AddressesSrvUpdate.js +19 -0
  279. package/project/server/plugin-data/addresses/plugin_data_AddressesSutAddressGet.js +19 -0
  280. package/project/server/plugin-data/addresses/plugin_data_AddressesSutAddressUpdate.js +19 -0
  281. package/project/server/plugin-data/addresses/plugin_data_AddressesSutInterfaceGet.js +19 -0
  282. package/project/server/plugin-data/addresses/plugin_data_AddressesSutInterfaceUpdate.js +19 -0
  283. package/project/server/plugin-data/console/plugin_data_ConsoleClear.js +20 -0
  284. package/project/server/plugin-data/content/plugin_data_ContentAudioGet.js +19 -0
  285. package/project/server/plugin-data/content/plugin_data_ContentAudioUpdate.js +19 -0
  286. package/project/server/plugin-data/content/plugin_data_ContentDocumentsGet.js +19 -0
  287. package/project/server/plugin-data/content/plugin_data_ContentDocumentsUpdate.js +19 -0
  288. package/project/server/plugin-data/content/plugin_data_ContentImageGet.js +19 -0
  289. package/project/server/plugin-data/content/plugin_data_ContentImageUpdate.js +19 -0
  290. package/project/server/plugin-data/content/plugin_data_ContentOtherGet.js +19 -0
  291. package/project/server/plugin-data/content/plugin_data_ContentOtherUpdate.js +19 -0
  292. package/project/server/plugin-data/content/plugin_data_ContentTextGet.js +19 -0
  293. package/project/server/plugin-data/content/plugin_data_ContentTextUpdate.js +19 -0
  294. package/project/server/plugin-data/content/plugin_data_ContentVideoGet.js +19 -0
  295. package/project/server/plugin-data/content/plugin_data_ContentVideoUpdate.js +19 -0
  296. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestAdd.js +60 -0
  297. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestDelete.js +20 -0
  298. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestGet.js +92 -0
  299. package/project/server/plugin-data/login/plugin_data_LoginButtonsAdd.js +18 -0
  300. package/project/server/plugin-data/login/plugin_data_LoginButtonsGet.js +18 -0
  301. package/project/server/plugin-data/login/plugin_data_LoginButtonsUpdate.js +18 -0
  302. package/project/server/plugin-data/login/plugin_data_LoginCreateInterfaces.js +73 -0
  303. package/project/server/plugin-data/login/plugin_data_LoginDataGet.js +88 -0
  304. package/project/server/plugin-data/login/plugin_data_LoginDeleteInterfaces.js +38 -0
  305. package/project/server/plugin-data/login/plugin_data_LoginGet.js +22 -0
  306. package/project/server/plugin-data/login/plugin_data_LoginPing.js +72 -0
  307. package/project/server/plugin-data/login/plugin_data_LoginReposGet.js +18 -0
  308. package/project/server/plugin-data/login/plugin_data_LoginUpdate.js +44 -0
  309. package/project/server/plugin-data/login/plugin_data_LoginWsGet.js +39 -0
  310. package/project/server/plugin-data/plugins/plugin_data_PluginsBundleGet.js +34 -0
  311. package/project/server/plugin-data/plugins/plugin_data_PluginsGet.js +26 -0
  312. package/project/server/plugin-data/plus-services/plugin_data_PlusServicesBundleGet.js +34 -0
  313. package/project/server/plugin-data/plus-services/plugin_data_PlusServicesGet.js +78 -0
  314. package/project/server/plugin-data/repos/plugin_data_ReposAnalyzeLocalReposGet.js +142 -0
  315. package/project/server/plugin-data/repos/plugin_data_ReposClone.js +154 -0
  316. package/project/server/plugin-data/repos/plugin_data_ReposGet.js +18 -0
  317. package/project/server/plugin-data/repos/plugin_data_ReposVerifyGit.js +79 -0
  318. package/project/server/plugin-data/repos/repos.js +94 -0
  319. package/project/server/plugin-data/stack-editor/helpers/template.js +351 -0
  320. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorBuild.js +185 -0
  321. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileDelete.js +21 -0
  322. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileGet.js +18 -0
  323. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileNew.js +24 -0
  324. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileRename.js +27 -0
  325. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileUpdate.js +18 -0
  326. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderDelete.js +21 -0
  327. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderNew.js +19 -0
  328. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderUpdate.js +19 -0
  329. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectGet.js +77 -0
  330. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectToggle.js +18 -0
  331. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectUpdate.js +22 -0
  332. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorWizard.js +43 -0
  333. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestAdd.js +72 -0
  334. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestDelete.js +20 -0
  335. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestGet.js +138 -0
  336. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestInstancesUpdate.js +21 -0
  337. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestNodesUpdate.js +21 -0
  338. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestRepoAdd.js +46 -0
  339. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestRepoGet.js +57 -0
  340. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestSpecificationUpdate.js +21 -0
  341. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestUpdate.js +24 -0
  342. package/project/server/plugin-data/test-case/debug.js +39 -0
  343. package/project/server/plugin-data/test-case/debugger-api.js +398 -0
  344. package/project/server/plugin-data/test-case/debugger.js +129 -0
  345. package/project/server/plugin-data/test-case/plugin_data_TestCaseActorsFileGet.js +26 -0
  346. package/project/server/plugin-data/test-case/plugin_data_TestCaseAdd.js +74 -0
  347. package/project/server/plugin-data/test-case/plugin_data_TestCaseAnalyze.js +451 -0
  348. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsAdd.js +19 -0
  349. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsGet.js +19 -0
  350. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsUpdate.js +19 -0
  351. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointClear.js +56 -0
  352. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointClearAll.js +23 -0
  353. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointSet.js +118 -0
  354. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointUpdate.js +84 -0
  355. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGet.js +40 -0
  356. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetMembers.js +40 -0
  357. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetProperty.js +47 -0
  358. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetSource.js +29 -0
  359. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugLoad.js +35 -0
  360. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugRun.js +52 -0
  361. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugStart.js +217 -0
  362. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugStop.js +23 -0
  363. package/project/server/plugin-data/test-case/plugin_data_TestCaseDelete.js +20 -0
  364. package/project/server/plugin-data/test-case/plugin_data_TestCaseExecutionStart.js +73 -0
  365. package/project/server/plugin-data/test-case/plugin_data_TestCaseGet.js +118 -0
  366. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentDelete.js +57 -0
  367. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentGet.js +20 -0
  368. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentUpdate.js +62 -0
  369. package/project/server/plugin-data/test-case/plugin_data_TestCaseRename.js +43 -0
  370. package/project/server/plugin-data/test-case/plugin_data_TestCaseSpecificationUpdate.js +21 -0
  371. package/project/server/plugin-data/test-case/plugin_data_TestCaseStacksGet.js +54 -0
  372. package/project/server/plugin-data/test-case/plugin_data_TestCaseUpdate.js +42 -0
  373. package/project/server/plugin-data/test-data/plugin_data_TestDataEnvironmentGet.js +72 -0
  374. package/project/server/plugin-data/test-data/plugin_data_TestDataEnvironmentUpdate.js +19 -0
  375. package/project/server/plugin-data/test-data/plugin_data_TestDataGeneralGet.js +19 -0
  376. package/project/server/plugin-data/test-data/plugin_data_TestDataGeneralUpdate.js +19 -0
  377. package/project/server/plugin-data/test-data/plugin_data_TestDataOutputGet.js +19 -0
  378. package/project/server/plugin-data/test-data/plugin_data_TestDataOutputUpdate.js +19 -0
  379. package/project/server/plugin-data/test-data/plugin_data_TestDataSystemGet.js +19 -0
  380. package/project/server/plugin-data/test-data/plugin_data_TestDataSystemUpdate.js +19 -0
  381. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteAdd.js +51 -0
  382. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsAdd.js +19 -0
  383. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsGet.js +18 -0
  384. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsUpdate.js +18 -0
  385. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteDelete.js +20 -0
  386. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteExecutionStart.js +401 -0
  387. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteGet.js +110 -0
  388. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentDelete.js +54 -0
  389. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentGet.js +18 -0
  390. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentUpdate.js +59 -0
  391. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteUpdate.js +42 -0
  392. package/project/server/plugin-service/platform-fs/plugin_service_Platform-Fs.js +65 -0
  393. package/project/server/plugin-service/platform-fs/verify-or-create-files.js +57 -0
  394. package/repos.json +19 -0
  395. package/server-test-case.js +50 -0
  396. package/settings - Copy (2).json +77 -0
  397. package/settings.json +63 -0
  398. package/workspace/Bundle-AppLayer-client.bld +77 -0
  399. package/workspace/Bundle-AppLayer-cs.bld +37 -0
  400. package/workspace/Client-AppLayer-client-jsx.bld +10 -0
  401. package/workspace/Client-AppLayer-client.bld +10 -0
  402. package/workspace/Client-AppLayer-cs.bld +10 -0
  403. package/workspace/Server-AppLayer-cs.bld +12 -0
  404. package/workspace/Server-AppLayer-server.bld +12 -0
  405. package/workspace/actorjs.wrk +336 -0
  406. package/workspace/clean-all.tsk +11 -0
  407. package/workspace/clean-build.tsk +8 -0
  408. package/workspace/clean-compiled.tsk +9 -0
  409. package/workspace/clean-dist.tsk +7 -0
  410. package/workspace/clean-generated.tsk +7 -0
  411. package/workspace/clean-node.tsk +7 -0
  412. package/workspace/clean-temp.tsk +7 -0
  413. package/workspace/client-css-actorjs-bundle.bld +10 -0
  414. package/workspace/list-debug.tsk +4 -0
  415. package/workspace/list-default.tsk +4 -0
  416. package/workspace/list-redebug.tsk +4 -0
  417. package/workspace/list-release.tsk +4 -0
  418. package/workspace/list-rerelease.tsk +4 -0
  419. package/workspace/list-start.tsk +4 -0
  420. package/workspace/server-html-rc.bld +10 -0
  421. package/workspace/server-image-actorjs-rc.bld +9 -0
  422. package/workspace/simple-help.tsk +5 -0
  423. package/workspace/simple-help.txt +39 -0
@@ -0,0 +1,24 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class SystemUnderTestUpdate extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.UPDATE);
11
+ }
12
+
13
+ onRequest(suts) {
14
+ this.updateSystemsUnderTest(suts);
15
+ }
16
+
17
+ updateSystemsUnderTest(suts) {
18
+ suts.forEach((sut) => {
19
+ this.asynchWriteFileResponse(ActorPathData.getSystemUnderTestFile(sut.repo, sut.name), sut, false);
20
+ });
21
+ }
22
+ }
23
+
24
+ module.exports = SystemUnderTestUpdate;
@@ -0,0 +1,39 @@
1
+
2
+ 'use strict';
3
+
4
+
5
+ class Debug {
6
+ static async _getPossibleBreakpoints(client, dbugger, breakpoint, breakpoints) {
7
+ const parameters = dbugger.getScriptParametersFromUrl(breakpoint.url);
8
+ if(parameters) {
9
+ const scriptId = parameters.scriptId;
10
+ try {
11
+ const result = await client.Debugger.getPossibleBreakpoints({
12
+ start: {
13
+ scriptId: scriptId,
14
+ lineNumber: breakpoint.lineNumber,
15
+ columnNumber: 0
16
+ },
17
+ end: {
18
+ scriptId: scriptId,
19
+ lineNumber: breakpoint.lineNumber + 1,
20
+ columnNumber: 0
21
+ }
22
+ });
23
+ const locations = result.locations;
24
+ let columnNumber = 0 < locations.length ? locations[0].columnNumber : 0;
25
+ for(let i = 0; i < locations.length; ++i) {
26
+ if('call' === locations[i].type || 'return' === locations[i].type || undefined === locations[i].type) {
27
+ columnNumber = locations[i].columnNumber;
28
+ break;
29
+ }
30
+ }
31
+ breakpoint.columnNumber = columnNumber;
32
+ }
33
+ catch(e) {}
34
+ }
35
+ }
36
+ }
37
+
38
+
39
+ module.exports = Debug;
@@ -0,0 +1,398 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathDist = require('z-abs-corelayer-server/server/path/actor-path-dist');
5
+ const Path = require('path');
6
+
7
+
8
+ class DebuggerApi {
9
+ constructor(_debugger) {
10
+ this.debugger = _debugger;
11
+ this.breakpoints = [];
12
+ this.runBreakpoints = [];
13
+ this.scriptCacheScriptId = new Map();
14
+ this.scriptCacheUrl = new Map();
15
+ this.pause = false;
16
+ this.resume = true;
17
+ this.stepOver = false;
18
+ this.stepOverBreakpoints = [];
19
+ this.stepInto = false;
20
+ this.stepOut = false;
21
+ this.stepOutBreakpoints = [];
22
+ this.previousLocation = {};
23
+ this.currentStack = [];
24
+ this.previousStack = [];
25
+ }
26
+
27
+ async onDebuggerEnabled() {
28
+ try {
29
+ const breakpoints = this._getBreakpoints();
30
+ for(let i = 0; i < breakpoints.length; ++i) {
31
+ const breakpoint = breakpoints[i];
32
+ if(breakpoint.pauseOnBreak) {
33
+ await this.getPossibleBreakpoints(breakpoint);
34
+ const result = await this.debugger.debuggerSetBreakpointByUrl(breakpoint);
35
+ breakpoint.breakpointId = result.breakpointId;
36
+ }
37
+ }
38
+ if(this.breakOnEnterRun || this.breakOnLeaveRun) {
39
+ for(let i = 0; i < this.runBreakpoints.length; ++i) {
40
+ const runBreakpoint = this.runBreakpoints[i];
41
+ if(!this._findbreakpointInBreakpoints(runBreakpoint)) {
42
+ await this.getPossibleBreakpoints(runBreakpoint);
43
+ const result = await this.debugger.debuggerSetBreakpointByUrl(runBreakpoint);
44
+ this._setRunBreakpoint(runBreakpoint);
45
+ }
46
+ }
47
+ }
48
+ }
49
+ catch(err) {
50
+ ddb.error('FAILURE[_enable]:', err);
51
+ };
52
+ }
53
+
54
+ async onDebuggerPaused(parameters) {
55
+ const stackData = await this._pausedCollectStack(parameters);
56
+ this.previousStack = this.currentStack;
57
+ this.currentStack = stackData;
58
+ if(this.resume) {
59
+ this.resume = false;
60
+ }
61
+ else if(this.stepOver) {
62
+ return await this._pausedStepOver(stackData, parameters.hitBreakpoints);
63
+ }
64
+ else if(this.stepInto) {
65
+ this.stepInto = false;
66
+ }
67
+ else if(this.stepOut) {
68
+ return await this._pausedStepOut(stackData, parameters.hitBreakpoints);
69
+ }
70
+ else if(this.pause) {
71
+ this.pause = false;
72
+ }
73
+ else {
74
+ return;
75
+ }
76
+ return await this._getScript(stackData);
77
+ }
78
+
79
+ async onDebuggerContinue() {
80
+ this.resume = true;
81
+ await this.debugger.debuggerResume();
82
+ }
83
+
84
+ async onDebuggerStepOver() {
85
+ this.stepOverBreakpoints = await this._getPossibleBreakpointsStepOver();
86
+ this.stepOver = true;
87
+ await this.debugger.debuggerStepOver();
88
+ }
89
+
90
+ async onDebuggerStepInto() {
91
+ this.stepInto = true;
92
+ await this.debugger.debuggerStepInto();
93
+ }
94
+
95
+ async onDebuggerStepOut() {
96
+ this.stepOutBreakpoints = await this._getPossibleBreakpointsStepOut();
97
+ this.stepOut = true;
98
+ await this.debugger.debuggerStepOut();
99
+ }
100
+
101
+ async onDebuggerPause() {
102
+ this.pause = true;
103
+ await this.debugger.debuggerPause();
104
+ }
105
+
106
+ async runtimeGetProperties(parameters) {
107
+ return await this.debugger.runtimeGetProperties(parameters);
108
+ }
109
+
110
+ async getPossibleBreakpoints(breakpoint) {
111
+ const parameters = this._getScriptParametersFromUrl(breakpoint.url);
112
+ if(parameters) {
113
+ const scriptId = parameters.scriptId;
114
+ try {
115
+ const breakpoints = await this.debugger.debuggerGetPossibleBreakpoints({
116
+ start: {
117
+ scriptId: scriptId,
118
+ lineNumber: breakpoint.lineNumber,
119
+ columnNumber: 0
120
+ },
121
+ send: {
122
+ scriptId: scriptId,
123
+ lineNumber: breakpoint.lineNumber + 1,
124
+ columnNumber: 0
125
+ }
126
+ });
127
+ const locations = breakpoints.locations;
128
+ let columnNumber = 0 < locations.length ? locations[0].columnNumber : 0;
129
+ for(let i = 0; i < locations.length; ++i) {
130
+ if('call' === locations[i].type || 'return' === locations[i].type || undefined === locations[i].type) {
131
+ columnNumber = locations[i].columnNumber;
132
+ break;
133
+ }
134
+ }
135
+ breakpoint.columnNumber = columnNumber;
136
+ }
137
+ catch(err) {
138
+ console.log('getPossibleBreakpoints:', scriptId, breakpoint.lineNumber, err);
139
+ }
140
+ }
141
+ }
142
+
143
+ async _pausedCollectStack(parameters) {
144
+ const stack = [];
145
+ try {
146
+ for(let i = 0; i < parameters.callFrames.length; ++i) {
147
+ const callFrame = parameters.callFrames[i];
148
+ const url = this._getScriptParameters(callFrame.location.scriptId).url;
149
+ let thisMembers = [];
150
+ if(callFrame.this && callFrame.this.objectId) {
151
+ thisMembers = await this.runtimeGetProperties({objectId: callFrame.this.objectId});
152
+ }
153
+ const scopes = [];
154
+ for(let j = 0; j < callFrame.scopeChain.length; ++j) {
155
+ const scope = callFrame.scopeChain[j];
156
+ if(scope.object && scope.object.objectId) {
157
+ const scopeMembers = await this.runtimeGetProperties({objectId: scope.object.objectId});
158
+ scopes.push({
159
+ type: scope.type,
160
+ name: scope.name,
161
+ object: scopeMembers ? scopeMembers.result : null,
162
+ startLocation: scope.startLocation,
163
+ endLocation: scope.endLocation
164
+ });
165
+ }
166
+ }
167
+ stack.push({
168
+ callFrameId: callFrame.callFrameId,
169
+ functionName: callFrame.functionName,
170
+ objectName: callFrame.this.className,
171
+ location: callFrame.location,
172
+ scriptName: Path.parse(url).base,
173
+ url: url,
174
+ this: callFrame.this,
175
+ scopes: scopes,
176
+ thisMembers
177
+ });
178
+ }
179
+ }
180
+ catch(err) {
181
+ console.log('_pausedCollectStack:', err);
182
+ }
183
+ return {
184
+ stack
185
+ };
186
+ }
187
+
188
+ async _getScriptFromId(scriptId) {
189
+ const source = await this.debugger.debuggerGetScriptSource(scriptId);
190
+ try {
191
+ return {
192
+ scriptId: scriptId,
193
+ script: source.scriptSource
194
+ };
195
+ }
196
+ catch(err) {
197
+ console.log('_getScriptFromId:', err);
198
+ }
199
+ }
200
+
201
+ async _getScript(stack) {
202
+ const scriptId = stack.stack[0].location.scriptId;
203
+ try {
204
+ const source = await this.debugger.debuggerGetScriptSource(scriptId);
205
+ return {
206
+ stack: stack.stack,
207
+ scriptId: scriptId,
208
+ script: source.scriptSource
209
+ };
210
+ }
211
+ catch(err) {
212
+ console.log('_getScript:', err);
213
+ }
214
+ }
215
+
216
+ async _getPossibleBreakpointsStepOver() {
217
+ const results = [];
218
+ for(let i = 0; i < this.currentStack.stack.length; ++i) {
219
+ const stack = this.currentStack.stack[i];
220
+ for(let i = 0; i < stack.scopes.length; ++i) {
221
+ const scope = stack.scopes[i];
222
+ if(scope.startLocation) {
223
+ try {
224
+ const result = await this.debugger.debuggerGetPossibleBreakpoints({
225
+ start: scope.startLocation,
226
+ stop: scope.endLocation
227
+ });
228
+ const res = {
229
+ scriptName: stack.scriptName,
230
+ location: stack.location,
231
+ locations: result.locations
232
+ };
233
+ results.push(res);
234
+ }
235
+ catch(err) {
236
+ console.log('_getPossibleBreakpointsStepOver:', err);
237
+ }
238
+ }
239
+ }
240
+ }
241
+ return results;
242
+ }
243
+
244
+ async _pausedStepOver(stackData, hitBreakpoints) {
245
+ let found = null;
246
+ if(0 !== hitBreakpoints.length) {
247
+ this.stepOver = false;
248
+ return await this._getScript(stackData);
249
+ }
250
+ else if(0 !== this.stepOverBreakpoints.length) {
251
+ for(let i = 0; i < this.stepOverBreakpoints.length; ++i) {
252
+ const bp = this.stepOverBreakpoints[i];
253
+ for(let j = 0; j < bp.locations.length; ++j) {
254
+ const b = bp.locations[j];
255
+ if(stackData.stack[0].location.scriptId === b.scriptId && stackData.stack[0].location.lineNumber === b.lineNumber && stackData.stack[0].location.columnNumber === b.columnNumber) {
256
+ found = b;
257
+ break;
258
+ }
259
+ }
260
+ }
261
+ if(found) {
262
+ this.stepOver = false;
263
+ this.previousLocation = found;
264
+ return await this._getScript(stackData);
265
+ }
266
+ else {
267
+ if('return' === this.previousLocation.type) {
268
+ this.stepOver = false;
269
+ return await this._getScript(stackData);
270
+ }
271
+ if('call' === this.previousLocation.type) {
272
+ await this.debugger.debuggerStepOver();
273
+ return;
274
+ }
275
+ else {
276
+ await this.debugger.debuggerStepOver();
277
+ return;
278
+ }
279
+ }
280
+ }
281
+ }
282
+
283
+ async _getPossibleBreakpointsStepOut() {
284
+ const results = [];
285
+ for(let i = 1; i < this.currentStack.stack.length; ++i) {
286
+ const stack = this.currentStack.stack[i];
287
+ const scope = stack.scopes[0];
288
+ if(scope.startLocation) {
289
+ try {
290
+ const result = await this.getPossibleBreakpoints({
291
+ start: scope.startLocation,
292
+ end: scope.endLocation
293
+ });
294
+ const res = {
295
+ scriptName: stack.scriptName,
296
+ location: stack.location,
297
+ locations: result.locations
298
+ };
299
+ results.push(res);
300
+ }
301
+ catch(err) {
302
+ console.log('_getPossibleBreakpointsStepOut:', err);
303
+ }
304
+ }
305
+ }
306
+ return results;
307
+ }
308
+
309
+ static calculateBreakpointUrl(sut, fut, tc, breakpoint) {
310
+ let url = `${ActorPathDist.getActorDistActorsPath()}/${breakpoint.name}`;
311
+ if(url.startsWith('/')) {
312
+ url = `file://${Path.normalize(url)}`;
313
+ }
314
+ else {
315
+ url = `file:///${Path.normalize(url)}`;
316
+ }
317
+ url = url.replace(/\\/g, '/');
318
+ return url;
319
+ }
320
+
321
+ calculateBreakpointUrl(sut, fut, tc, breakpoint) {
322
+ return DebuggerApi.calculateBreakpointUrl(sut, fut, tc, breakpoint);
323
+ }
324
+
325
+ _setBreakpoints(breakpoints) {
326
+ this.breakpoints = breakpoints;
327
+ }
328
+
329
+ _getBreakpoints() {
330
+ return this.breakpoints;
331
+ }
332
+
333
+ _setBreakpoint(breakpoint) {
334
+ const index = this._findIndexBreakpoint(breakpoint);
335
+ if(-1 === index) {
336
+ this.breakpoints.push(breakpoint);
337
+ }
338
+ else {
339
+ this.breakpoints[index] = breakpoint;
340
+ }
341
+ }
342
+
343
+ _getBreakpoint(breakpoint) {
344
+ const index = this._findIndexBreakpoint(breakpoint);
345
+ if(-1 !== index) {
346
+ return this.breakpoints[index];
347
+ }
348
+ }
349
+
350
+ _removeBreakpoint(breakpoint) {
351
+ const index = this._findIndexBreakpoint(breakpoint);
352
+ if(-1 !== index) {
353
+ this.breakpoints.splice(index, 1);
354
+ }
355
+ }
356
+
357
+ setRunBreakpoint(breakpoint) {
358
+ this.runBreakpoints.push(breakpoint);
359
+ }
360
+
361
+ _clearRunBreakpoints() {
362
+ this.runBreakpoints = [];
363
+ }
364
+
365
+ _scriptParsed(parameters) {
366
+ this.scriptCacheScriptId.set(parameters.scriptId, parameters);
367
+ this.scriptCacheUrl.set(parameters.url, parameters);
368
+ }
369
+
370
+ _getScriptParameters(scriptId) {
371
+ return this.scriptCacheScriptId.get(scriptId);
372
+ }
373
+
374
+ _getScriptParametersFromUrl(url) {
375
+ return this.scriptCacheUrl.get(url);
376
+ }
377
+
378
+ _findIndexBreakpoint(breakpoint) {
379
+ return this.breakpoints.findIndex((foundBreakpoint) => {
380
+ return foundBreakpoint.name === breakpoint.name && foundBreakpoint.lineNumber === breakpoint.lineNumber;
381
+ });
382
+ }
383
+
384
+ _findbreakpointInBreakpoints(breakpoint) {
385
+ return !!this.breakpoints.find((serchBreakpoint) => {
386
+ return serchBreakpoint.lineNumber === breakpoint.lineNumber;
387
+ });
388
+ }
389
+
390
+ _findbreakpointInRunBreakpoints(breakpoint) {
391
+ return !!this.runBreakpoints.find((serchBreakpoint) => {
392
+ return serchBreakpoint.lineNumber === breakpoint.lineNumber;
393
+ });
394
+ }
395
+ }
396
+
397
+
398
+ module.exports = DebuggerApi;
@@ -0,0 +1,129 @@
1
+
2
+ 'use strict';
3
+
4
+
5
+ class Debugger {
6
+ constructor(sessionData, cbObject) {
7
+ this.target = sessionData.data;
8
+ this.cbObject = cbObject;
9
+ this.idCounter = 0;
10
+ this.ws = null;
11
+ this.pending = new Map();
12
+ }
13
+
14
+ async connect(done) {
15
+ try {
16
+ this.ws = new WebSocket(this.target);
17
+ this.ws.onopen = async () => {
18
+ await this.consoleDisable();
19
+ done();
20
+ };
21
+ this.ws.onclose = (event) => {
22
+ //console.log(`WebSocket closed. Code: ${event.code}, Reason: ${event.reason}`);
23
+ this.ws = null;
24
+ this.pending.clear();
25
+ };
26
+ this.ws.onmessage = this.onMessage.bind(this);
27
+ }
28
+ catch(err) {
29
+ done(err);
30
+ }
31
+ }
32
+
33
+ close() {
34
+ //console.log('close');
35
+ this.ws.close(1000, 'Debugger session complete');
36
+ // TO DO ASYNC
37
+ }
38
+
39
+ async consoleDisable() {
40
+ await this.send('Console.disable');
41
+ }
42
+
43
+ async debuggerEnable() {
44
+ await this.send('Debugger.enable');
45
+ }
46
+
47
+ async debuggerGetPossibleBreakpoints(parameters) {
48
+ return await this.send('Debugger.getPossibleBreakpoints', parameters);
49
+ }
50
+
51
+ async debuggerSetBreakpointByUrl(breakpoint) {
52
+ return await this.send('Debugger.setBreakpointByUrl', breakpoint);
53
+ }
54
+
55
+ async runtimeGetProperties(parameters) {
56
+ try {
57
+ return await this.send('Runtime.getProperties', parameters);
58
+ }
59
+ catch(err) {
60
+ console.log('Runtime.getProperties[callFrame]:', err);
61
+ return null;
62
+ }
63
+ }
64
+
65
+ async debuggerGetScriptSource(scriptId) {
66
+ return await this.send('Debugger.getScriptSource', {scriptId: scriptId});
67
+ }
68
+
69
+ async debuggerResume() {
70
+ await this.send('Debugger.resume');
71
+ }
72
+
73
+ async debuggerStepOver() {
74
+ await this.send('Debugger.stepOver');
75
+ }
76
+
77
+ async debuggerStepInto() {
78
+ await this.send('Debugger.stepInto');
79
+ }
80
+
81
+ async debuggerStepOut() {
82
+ await this.send('Debugger.stepOut');
83
+ }
84
+
85
+ async debuggerPause() {
86
+ await this.send('Debugger.pause');
87
+ }
88
+
89
+ async debuggerSetPauseOnExceptions() {
90
+ await this.send('Debugger.setPauseOnExceptions', { state: 'all' });
91
+ }
92
+
93
+ async debuggerSetAsyncCallStackDepth() {
94
+ await this.send('Debugger.setAsyncCallStackDepth', { maxDepth: 32 });
95
+ }
96
+
97
+ async send(method, params={}) {
98
+ const id = ++this.idCounter;
99
+ const message = JSON.stringify({id, method, params});
100
+ this.ws.send(message);
101
+ return new Promise((resolve, reject) => {
102
+ this.pending.set(id, {resolve, reject});
103
+ });
104
+ };
105
+
106
+ async onMessage(event) {
107
+ const msg = JSON.parse(event.data);
108
+ if(msg.id && this.pending.has(msg.id)) {
109
+ const {resolve, reject} = this.pending.get(msg.id);
110
+ this.pending.delete(msg.id);
111
+ msg.error ? reject(msg.error) : resolve(msg.result);
112
+ return;
113
+ }
114
+ switch(msg.method) {
115
+ case 'Debugger.scriptParsed':
116
+ this.cbObject.onDebuggerScriptParsed(msg.params);
117
+ break;
118
+ case 'Debugger.paused':
119
+ this.cbObject.onDebuggerPaused(msg.params);
120
+ break;
121
+ case 'Debugger.resumed':
122
+ this.cbObject.onDebuggerResumed(msg.params);
123
+ break;
124
+ };
125
+ }
126
+ }
127
+
128
+
129
+ module.exports = Debugger;
@@ -0,0 +1,26 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class TestCaseActorsFileGet extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.GET);
11
+ }
12
+
13
+ onRequest(actorFiles) {
14
+ actorFiles.forEach((file) => {
15
+ if(file.startsWith('./Actors-inline')) {
16
+ this.expectAsynchResponseSuccess(null);
17
+ }
18
+ else {
19
+ this.asynchReadTextFileResponse(ActorPathData.getActorFile(file));
20
+ }
21
+ });
22
+ }
23
+ }
24
+
25
+
26
+ module.exports = TestCaseActorsFileGet;
@@ -0,0 +1,74 @@
1
+
2
+ 'use strict';
3
+
4
+ const StackComponentsFactory = require('z-abs-funclayer-stack-server/server/factory/stack-components-factory');
5
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
6
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
7
+ const Fs = require('fs');
8
+
9
+
10
+ class TestCaseAdd extends PluginBaseMulti {
11
+ constructor() {
12
+ super(PluginBaseMulti.ADD);
13
+ }
14
+
15
+ onRequest(repoName, sutName, futName, tcName, description, dataTestCase, stackName, templateName, testData) {
16
+ const testCase = {
17
+ name: tcName,
18
+ description: description,
19
+ status: 'visible',
20
+ tc: dataTestCase
21
+ }
22
+ const responsePart = this._verifyInput(testCase);
23
+ if(!responsePart) {
24
+ return responsePart; // ???
25
+ }
26
+ if(stackName && 'none' !== stackName) {
27
+ StackComponentsFactory.getStacks((stacks) => {
28
+ const testCaseTemplateFactory = StackComponentsFactory.createTemplatesTestCases(stackName);
29
+ if(testCaseTemplateFactory) {
30
+ const templates = new testCaseTemplateFactory().templates;
31
+ const template = templates.get(templateName);
32
+ if(template) {
33
+ template.createTestCase(testCase.tc, testData, repoName, sutName, futName, tcName);
34
+ return this._saveTestCase(repoName, sutName, futName, tcName, testCase);
35
+ }
36
+ }
37
+ else {
38
+ this._saveTestCase(repoName, sutName, futName, tcName, testCase);
39
+ }
40
+ });
41
+ }
42
+ else {
43
+ this._saveTestCase(repoName, sutName, futName, tcName, testCase);
44
+ }
45
+ }
46
+
47
+ _saveTestCase(repoName, sutName, futName, tcName, testCase) {
48
+ Fs.mkdir(ActorPathData.getTestCaseFolder(repoName, sutName, futName, tcName), (err) => {
49
+ if(err) {
50
+ return this.responsePartError(`Could not create the Test Case Folder: ' ${ActorPathData.getTestCaseFolder(repoName, sutName, futName, tcName)} '.`);
51
+ }
52
+ Fs.writeFile(ActorPathData.getTestCaseFile(repoName, sutName, futName, tcName), JSON.stringify(testCase, null, 2), (err) => {
53
+ if(err) {
54
+ return this.responsePartError(`Could not create the TestCase File: ' ${ActorPathData.getTestCaseFile(repoName, sutName, futName, tcName)} '.`);
55
+ }
56
+ return this.responsePartSuccess();
57
+ });
58
+ });
59
+ }
60
+
61
+ _verifyInput(testCase) {
62
+ const name = testCase.name;
63
+ if(0 === name.length) {
64
+ return this.responsePartError(`The Test Casename: '' must not be empty.`);
65
+ }
66
+ const first = name.charAt(0);
67
+ if(first === first.toLowerCase() || first !== first.toUpperCase()) {
68
+ return this.responsePartError(`A Test Case name must start with uppercase, name: '${name}'.`);
69
+ }
70
+ return true;
71
+ }
72
+ }
73
+
74
+ module.exports = TestCaseAdd;