innoharmony 5.0.0__tar.gz

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 (314) hide show
  1. innoharmony-5.0.0/.github/copilot-instructions.md +301 -0
  2. innoharmony-5.0.0/.github/prompts/run-unit-tests-and-coverage.prompt.md +29 -0
  3. innoharmony-5.0.0/.github/prompts/security-audit-and-consolidated-report.prompt.md +23 -0
  4. innoharmony-5.0.0/CHANGELOG.md +801 -0
  5. innoharmony-5.0.0/CLAUDE.md +455 -0
  6. innoharmony-5.0.0/COLUMN_MAPPING_AND_IGNORE_FIELDS_GUIDE.md +551 -0
  7. innoharmony-5.0.0/CONTRIBUTING.md +785 -0
  8. innoharmony-5.0.0/DATABASE_IMPLEMENTATION_SUMMARY.md +414 -0
  9. innoharmony-5.0.0/ENTERPRISE_TEST_STRUCTURE.md +452 -0
  10. innoharmony-5.0.0/HOW_TO_ACCESS_DOCS.md +196 -0
  11. innoharmony-5.0.0/INIT_COMMAND_EXAMPLES.md +422 -0
  12. innoharmony-5.0.0/INNOHARMONY_CLIENT_OVERVIEW.md +502 -0
  13. innoharmony-5.0.0/KEY_BASED_MATCHING_SOLUTION.md +360 -0
  14. innoharmony-5.0.0/MANIFEST.in +18 -0
  15. innoharmony-5.0.0/PIP_INSTALL_GUIDE.md +493 -0
  16. innoharmony-5.0.0/PKG-INFO +1280 -0
  17. innoharmony-5.0.0/QUICK_DB_REFERENCE.md +263 -0
  18. innoharmony-5.0.0/QUICK_REFERENCE_COMPARISON_FEATURES.md +251 -0
  19. innoharmony-5.0.0/QUICK_START_QE.md +424 -0
  20. innoharmony-5.0.0/README.md +1116 -0
  21. innoharmony-5.0.0/TEST_LOCATION_CHEATSHEET.md +104 -0
  22. innoharmony-5.0.0/WINDOWS_INSTALL_GUIDE.md +208 -0
  23. innoharmony-5.0.0/bin/README.md +655 -0
  24. innoharmony-5.0.0/components/__init__.py +8 -0
  25. innoharmony-5.0.0/components/base_component.py +95 -0
  26. innoharmony-5.0.0/components/data_table.py +104 -0
  27. innoharmony-5.0.0/components/form_field.py +84 -0
  28. innoharmony-5.0.0/components/modal.py +88 -0
  29. innoharmony-5.0.0/config/config.yaml +265 -0
  30. innoharmony-5.0.0/config/data_comparison_profiles.yaml +163 -0
  31. innoharmony-5.0.0/config/devices.yaml +107 -0
  32. innoharmony-5.0.0/config/environments.yaml +82 -0
  33. innoharmony-5.0.0/config/projects/customs_modernization.yaml +78 -0
  34. innoharmony-5.0.0/config/projects/device_lab.yaml +56 -0
  35. innoharmony-5.0.0/config/projects/dispatcho.yaml +71 -0
  36. innoharmony-5.0.0/config/projects/timelyquote.yaml +66 -0
  37. innoharmony-5.0.0/core/__init__.py +0 -0
  38. innoharmony-5.0.0/core/base_page.py +350 -0
  39. innoharmony-5.0.0/core/base_test.py +27 -0
  40. innoharmony-5.0.0/core/browser_factory.py +70 -0
  41. innoharmony-5.0.0/core/playwright_manager.py +40 -0
  42. innoharmony-5.0.0/core/quality_gate.py +353 -0
  43. innoharmony-5.0.0/dashboards/README.md +72 -0
  44. innoharmony-5.0.0/dashboards/data_validation_dashboard.json +87 -0
  45. innoharmony-5.0.0/dashboards/docker-compose.yml +26 -0
  46. innoharmony-5.0.0/dashboards/engineering_dashboard.json +99 -0
  47. innoharmony-5.0.0/dashboards/executive_qe_dashboard.json +140 -0
  48. innoharmony-5.0.0/dashboards/grafana-provisioning/dashboards/innoharmony.yaml +9 -0
  49. innoharmony-5.0.0/dashboards/prometheus.yml +8 -0
  50. innoharmony-5.0.0/dashboards/release_quality_dashboard.json +85 -0
  51. innoharmony-5.0.0/dashboards/test_health_dashboard.json +110 -0
  52. innoharmony-5.0.0/demo/README.md +366 -0
  53. innoharmony-5.0.0/demo/device_lab/README.md +109 -0
  54. innoharmony-5.0.0/demo/device_lab/STUDIO_PRESENTER_GUIDE.md +127 -0
  55. innoharmony-5.0.0/demo/functional/database/file_comparison/README.md +57 -0
  56. innoharmony-5.0.0/demo/functional/database/postgres_src_tgt/README.md +86 -0
  57. innoharmony-5.0.0/dist_pkg/__init__.py +5 -0
  58. innoharmony-5.0.0/dist_pkg/distribution.py +51 -0
  59. innoharmony-5.0.0/docs/API_TESTING_GUIDE.md +1134 -0
  60. innoharmony-5.0.0/docs/ARCHITECTURE.md +460 -0
  61. innoharmony-5.0.0/docs/CI_INTEGRATION.md +198 -0
  62. innoharmony-5.0.0/docs/CLI_REFERENCE.md +866 -0
  63. innoharmony-5.0.0/docs/COMPETITIVE_ANALYSIS.md +517 -0
  64. innoharmony-5.0.0/docs/CUSTOMER_SCENARIOS.md +666 -0
  65. innoharmony-5.0.0/docs/DATABASE_SUPPORT.md +541 -0
  66. innoharmony-5.0.0/docs/DATA_VALIDATION_GUIDE.md +1560 -0
  67. innoharmony-5.0.0/docs/FRAMEWORK_CONTRIBUTION_GUIDE.md +961 -0
  68. innoharmony-5.0.0/docs/MCP_SERVER_DESIGN.md +235 -0
  69. innoharmony-5.0.0/docs/MULTI_DB_VALIDATION_GUIDE.md +894 -0
  70. innoharmony-5.0.0/docs/MULTI_PROJECT_STRUCTURE.md +716 -0
  71. innoharmony-5.0.0/docs/OBSERVABILITY.md +214 -0
  72. innoharmony-5.0.0/docs/PIP_INSTALL_GUIDE.md +2095 -0
  73. innoharmony-5.0.0/docs/PLUGIN_AUTHORING_GUIDE.md +225 -0
  74. innoharmony-5.0.0/docs/QE_VISUAL_GUIDE.md +602 -0
  75. innoharmony-5.0.0/docs/QUALITY_GATE.md +164 -0
  76. innoharmony-5.0.0/docs/RESILIENCE_GUIDE.md +266 -0
  77. innoharmony-5.0.0/docs/RUN_TESTS_QUICK_REFERENCE.md +372 -0
  78. innoharmony-5.0.0/docs/SECRETS_AND_GOVERNANCE.md +241 -0
  79. innoharmony-5.0.0/docs/TEST_ORGANIZATION.md +548 -0
  80. innoharmony-5.0.0/docs/adr/0001-sync-device-api-with-background-io.md +38 -0
  81. innoharmony-5.0.0/docs/adr/0002-devices-subpackage-and-layering.md +41 -0
  82. innoharmony-5.0.0/docs/adr/0003-dut-naming-for-cli-config-and-fixtures.md +51 -0
  83. innoharmony-5.0.0/docs/adr/0004-optional-dependencies-and-import-guards.md +63 -0
  84. innoharmony-5.0.0/docs/adr/0005-single-source-device-pytest-plugin.md +52 -0
  85. innoharmony-5.0.0/docs/adr/README.md +42 -0
  86. innoharmony-5.0.0/docs/device_automation/DESIGN.md +554 -0
  87. innoharmony-5.0.0/docs/device_automation/EDGE_ML_FIRE_PANEL_GAP_ANALYSIS.md +238 -0
  88. innoharmony-5.0.0/docs/device_automation/GUIDE.md +1014 -0
  89. innoharmony-5.0.0/docs/device_automation/SPIKES.md +92 -0
  90. innoharmony-5.0.0/docs/innoHarmony-Framework-Overview.md +334 -0
  91. innoharmony-5.0.0/docs/innoHarmony-Usage-Scenarios.md +568 -0
  92. innoharmony-5.0.0/innoharmony/PIP_INSTALL_GUIDE.md +493 -0
  93. innoharmony-5.0.0/innoharmony/README.md +935 -0
  94. innoharmony-5.0.0/innoharmony/__init__.py +203 -0
  95. innoharmony-5.0.0/innoharmony/cli.py +3062 -0
  96. innoharmony-5.0.0/innoharmony/config/__init__.py +0 -0
  97. innoharmony-5.0.0/innoharmony/config/config.yaml +269 -0
  98. innoharmony-5.0.0/innoharmony/config/devices.yaml +42 -0
  99. innoharmony-5.0.0/innoharmony/config/environments.yaml +82 -0
  100. innoharmony-5.0.0/innoharmony/devices/__init__.py +48 -0
  101. innoharmony-5.0.0/innoharmony/devices/_extras.py +26 -0
  102. innoharmony-5.0.0/innoharmony/devices/assertions.py +202 -0
  103. innoharmony-5.0.0/innoharmony/devices/buffer.py +213 -0
  104. innoharmony-5.0.0/innoharmony/devices/candb.py +123 -0
  105. innoharmony-5.0.0/innoharmony/devices/channel.py +226 -0
  106. innoharmony-5.0.0/innoharmony/devices/clock.py +172 -0
  107. innoharmony-5.0.0/innoharmony/devices/commands.py +70 -0
  108. innoharmony-5.0.0/innoharmony/devices/components.py +98 -0
  109. innoharmony-5.0.0/innoharmony/devices/config.py +400 -0
  110. innoharmony-5.0.0/innoharmony/devices/console.py +83 -0
  111. innoharmony-5.0.0/innoharmony/devices/device.py +330 -0
  112. innoharmony-5.0.0/innoharmony/devices/editor.html +669 -0
  113. innoharmony-5.0.0/innoharmony/devices/editor.py +240 -0
  114. innoharmony-5.0.0/innoharmony/devices/errors.py +85 -0
  115. innoharmony-5.0.0/innoharmony/devices/events.py +129 -0
  116. innoharmony-5.0.0/innoharmony/devices/factory.py +226 -0
  117. innoharmony-5.0.0/innoharmony/devices/fault_proxy.py +256 -0
  118. innoharmony-5.0.0/innoharmony/devices/faults.py +490 -0
  119. innoharmony-5.0.0/innoharmony/devices/fidelity.py +204 -0
  120. innoharmony-5.0.0/innoharmony/devices/gatt.py +193 -0
  121. innoharmony-5.0.0/innoharmony/devices/introspect.py +342 -0
  122. innoharmony-5.0.0/innoharmony/devices/inventory.py +265 -0
  123. innoharmony-5.0.0/innoharmony/devices/leasing.py +471 -0
  124. innoharmony-5.0.0/innoharmony/devices/matching.py +95 -0
  125. innoharmony-5.0.0/innoharmony/devices/messages.py +154 -0
  126. innoharmony-5.0.0/innoharmony/devices/parsers.py +96 -0
  127. innoharmony-5.0.0/innoharmony/devices/pool.py +199 -0
  128. innoharmony-5.0.0/innoharmony/devices/power.py +302 -0
  129. innoharmony-5.0.0/innoharmony/devices/provider.py +303 -0
  130. innoharmony-5.0.0/innoharmony/devices/pytest_plugin.py +444 -0
  131. innoharmony-5.0.0/innoharmony/devices/recording.py +299 -0
  132. innoharmony-5.0.0/innoharmony/devices/recovery.py +169 -0
  133. innoharmony-5.0.0/innoharmony/devices/registers.py +199 -0
  134. innoharmony-5.0.0/innoharmony/devices/sim/__init__.py +33 -0
  135. innoharmony-5.0.0/innoharmony/devices/sim/ble.py +211 -0
  136. innoharmony-5.0.0/innoharmony/devices/sim/components.py +227 -0
  137. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/__init__.py +12 -0
  138. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/base.py +47 -0
  139. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/ble.py +45 -0
  140. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/can.py +72 -0
  141. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/http.py +87 -0
  142. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/modbus.py +121 -0
  143. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/mqtt.py +141 -0
  144. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/serial.py +138 -0
  145. innoharmony-5.0.0/innoharmony/devices/sim/endpoints/ssh.py +152 -0
  146. innoharmony-5.0.0/innoharmony/devices/sim/host.py +186 -0
  147. innoharmony-5.0.0/innoharmony/devices/sim/modbus.py +118 -0
  148. innoharmony-5.0.0/innoharmony/devices/sim/replay.py +171 -0
  149. innoharmony-5.0.0/innoharmony/devices/sim/scheduler.py +116 -0
  150. innoharmony-5.0.0/innoharmony/devices/sim/seed.py +36 -0
  151. innoharmony-5.0.0/innoharmony/devices/sim/sensor_faults.py +176 -0
  152. innoharmony-5.0.0/innoharmony/devices/sim/serve.py +75 -0
  153. innoharmony-5.0.0/innoharmony/devices/sim/signals.py +231 -0
  154. innoharmony-5.0.0/innoharmony/devices/sim/subprocess_twin.py +136 -0
  155. innoharmony-5.0.0/innoharmony/devices/sim/templating.py +122 -0
  156. innoharmony-5.0.0/innoharmony/devices/sim/twin.py +694 -0
  157. innoharmony-5.0.0/innoharmony/devices/sim/twins/__init__.py +35 -0
  158. innoharmony-5.0.0/innoharmony/devices/sim/twins/energy_meter.py +101 -0
  159. innoharmony-5.0.0/innoharmony/devices/sim/twins/engine.dbc +30 -0
  160. innoharmony-5.0.0/innoharmony/devices/sim/twins/engine_ecu.py +75 -0
  161. innoharmony-5.0.0/innoharmony/devices/sim/twins/environment_sensor.yaml +48 -0
  162. innoharmony-5.0.0/innoharmony/devices/sim/twins/heart_rate.py +102 -0
  163. innoharmony-5.0.0/innoharmony/devices/sim/twins/smart_plug.py +84 -0
  164. innoharmony-5.0.0/innoharmony/devices/sim/twins/thermostat.py +186 -0
  165. innoharmony-5.0.0/innoharmony/devices/sim/yaml_twin.py +483 -0
  166. innoharmony-5.0.0/innoharmony/devices/snmp.py +181 -0
  167. innoharmony-5.0.0/innoharmony/devices/terminal.py +54 -0
  168. innoharmony-5.0.0/innoharmony/devices/testing.py +193 -0
  169. innoharmony-5.0.0/innoharmony/devices/transcript.py +93 -0
  170. innoharmony-5.0.0/innoharmony/devices/transport.py +155 -0
  171. innoharmony-5.0.0/innoharmony/devices/transports/__init__.py +6 -0
  172. innoharmony-5.0.0/innoharmony/devices/transports/_async_bridge.py +102 -0
  173. innoharmony-5.0.0/innoharmony/devices/transports/adb.py +241 -0
  174. innoharmony-5.0.0/innoharmony/devices/transports/ble.py +313 -0
  175. innoharmony-5.0.0/innoharmony/devices/transports/can.py +210 -0
  176. innoharmony-5.0.0/innoharmony/devices/transports/coap.py +194 -0
  177. innoharmony-5.0.0/innoharmony/devices/transports/http.py +144 -0
  178. innoharmony-5.0.0/innoharmony/devices/transports/modbus.py +226 -0
  179. innoharmony-5.0.0/innoharmony/devices/transports/mqtt.py +272 -0
  180. innoharmony-5.0.0/innoharmony/devices/transports/serial.py +180 -0
  181. innoharmony-5.0.0/innoharmony/devices/transports/ssh.py +234 -0
  182. innoharmony-5.0.0/innoharmony/devices/transports/telnet.py +149 -0
  183. innoharmony-5.0.0/innoharmony/devices/waiting.py +67 -0
  184. innoharmony-5.0.0/innoharmony/devices/yamlutil.py +72 -0
  185. innoharmony-5.0.0/innoharmony/docs/API_TESTING_GUIDE.md +1134 -0
  186. innoharmony-5.0.0/innoharmony/docs/ARCHITECTURE.md +460 -0
  187. innoharmony-5.0.0/innoharmony/docs/CI_INTEGRATION.md +198 -0
  188. innoharmony-5.0.0/innoharmony/docs/CLI_REFERENCE.md +866 -0
  189. innoharmony-5.0.0/innoharmony/docs/DATABASE_SUPPORT.md +541 -0
  190. innoharmony-5.0.0/innoharmony/docs/DATA_VALIDATION_GUIDE.md +1560 -0
  191. innoharmony-5.0.0/innoharmony/docs/MCP_SERVER_DESIGN.md +235 -0
  192. innoharmony-5.0.0/innoharmony/docs/MULTI_PROJECT_STRUCTURE.md +716 -0
  193. innoharmony-5.0.0/innoharmony/docs/OBSERVABILITY.md +214 -0
  194. innoharmony-5.0.0/innoharmony/docs/PLUGIN_AUTHORING_GUIDE.md +225 -0
  195. innoharmony-5.0.0/innoharmony/docs/QE_VISUAL_GUIDE.md +602 -0
  196. innoharmony-5.0.0/innoharmony/docs/QUICK_START_QE.md +424 -0
  197. innoharmony-5.0.0/innoharmony/docs/RESILIENCE_GUIDE.md +266 -0
  198. innoharmony-5.0.0/innoharmony/docs/RUN_TESTS_QUICK_REFERENCE.md +372 -0
  199. innoharmony-5.0.0/innoharmony/docs/SECRETS_AND_GOVERNANCE.md +241 -0
  200. innoharmony-5.0.0/innoharmony/docs/TEST_ORGANIZATION.md +548 -0
  201. innoharmony-5.0.0/innoharmony/plugin.py +1055 -0
  202. innoharmony-5.0.0/innoharmony/show_docs.py +57 -0
  203. innoharmony-5.0.0/innoharmony.egg-info/PKG-INFO +1280 -0
  204. innoharmony-5.0.0/innoharmony.egg-info/SOURCES.txt +312 -0
  205. innoharmony-5.0.0/innoharmony.egg-info/dependency_links.txt +1 -0
  206. innoharmony-5.0.0/innoharmony.egg-info/entry_points.txt +6 -0
  207. innoharmony-5.0.0/innoharmony.egg-info/requires.txt +183 -0
  208. innoharmony-5.0.0/innoharmony.egg-info/top_level.txt +11 -0
  209. innoharmony-5.0.0/integrations/__init__.py +21 -0
  210. innoharmony-5.0.0/integrations/adapters.py +155 -0
  211. innoharmony-5.0.0/mcp_server/__init__.py +3 -0
  212. innoharmony-5.0.0/mcp_server/_ast_utils.py +157 -0
  213. innoharmony-5.0.0/mcp_server/_config_utils.py +28 -0
  214. innoharmony-5.0.0/mcp_server/cli.py +486 -0
  215. innoharmony-5.0.0/mcp_server/server.py +394 -0
  216. innoharmony-5.0.0/mcp_server/tools/__init__.py +0 -0
  217. innoharmony-5.0.0/mcp_server/tools/device_tools.py +159 -0
  218. innoharmony-5.0.0/mcp_server/tools/package_discovery.py +303 -0
  219. innoharmony-5.0.0/mcp_server/tools/project_introspection.py +263 -0
  220. innoharmony-5.0.0/mcp_server/tools/project_state.py +624 -0
  221. innoharmony-5.0.0/orchestration/__init__.py +5 -0
  222. innoharmony-5.0.0/orchestration/enforcer.py +205 -0
  223. innoharmony-5.0.0/orchestration/planner.py +139 -0
  224. innoharmony-5.0.0/pages/__init__.py +0 -0
  225. innoharmony-5.0.0/pages/dashboard_page.py +31 -0
  226. innoharmony-5.0.0/pages/login_page.py +31 -0
  227. innoharmony-5.0.0/pages/orangehrm_login_page.py +67 -0
  228. innoharmony-5.0.0/pages/saucedemo_inventory_page.py +111 -0
  229. innoharmony-5.0.0/pages/saucedemo_login_page.py +39 -0
  230. innoharmony-5.0.0/plugins/__init__.py +28 -0
  231. innoharmony-5.0.0/plugins/_observer.py +106 -0
  232. innoharmony-5.0.0/plugins/_reference.py +54 -0
  233. innoharmony-5.0.0/plugins/api_plugin.py +30 -0
  234. innoharmony-5.0.0/plugins/base.py +27 -0
  235. innoharmony-5.0.0/plugins/data_plugin.py +31 -0
  236. innoharmony-5.0.0/plugins/manifest.py +96 -0
  237. innoharmony-5.0.0/plugins/registry.py +282 -0
  238. innoharmony-5.0.0/plugins/security_plugin.py +145 -0
  239. innoharmony-5.0.0/pyproject.toml +287 -0
  240. innoharmony-5.0.0/resilience/__init__.py +5 -0
  241. innoharmony-5.0.0/resilience/locator_recovery.py +72 -0
  242. innoharmony-5.0.0/setup.cfg +4 -0
  243. innoharmony-5.0.0/spikes/device_automation/README.md +24 -0
  244. innoharmony-5.0.0/test_data/api/ecom/auth_payloads.json +31 -0
  245. innoharmony-5.0.0/test_data/api/ecom/product_payloads.json +46 -0
  246. innoharmony-5.0.0/test_data/api_test_data.json +37 -0
  247. innoharmony-5.0.0/test_data/data_validation_test_data.json +89 -0
  248. innoharmony-5.0.0/test_data/login_test_data.json +14 -0
  249. innoharmony-5.0.0/test_data/orangehrm_login_data.json +10 -0
  250. innoharmony-5.0.0/test_data/pacts/README.md +4 -0
  251. innoharmony-5.0.0/test_data/ui_test_data.json +55 -0
  252. innoharmony-5.0.0/tests/projects/README.md +238 -0
  253. innoharmony-5.0.0/tests/projects/customs_modernization/README.md +154 -0
  254. innoharmony-5.0.0/tests/projects/demo/functional/README.md +65 -0
  255. innoharmony-5.0.0/tests/projects/demo/functional/api/README.md +144 -0
  256. innoharmony-5.0.0/tests/projects/demo/functional/database/README.md +277 -0
  257. innoharmony-5.0.0/tests/projects/demo/functional/ui/README.md +88 -0
  258. innoharmony-5.0.0/tests/projects/demo/integration/README.md +289 -0
  259. innoharmony-5.0.0/tests/projects/dispatcho/README.md +127 -0
  260. innoharmony-5.0.0/tests/projects/timelyquote/README.md +121 -0
  261. innoharmony-5.0.0/utils/__init__.py +53 -0
  262. innoharmony-5.0.0/utils/api_client.py +389 -0
  263. innoharmony-5.0.0/utils/api_test_helper.py +100 -0
  264. innoharmony-5.0.0/utils/assertion_helper.py +21 -0
  265. innoharmony-5.0.0/utils/auth_manager.py +137 -0
  266. innoharmony-5.0.0/utils/comparison_config_loader.py +295 -0
  267. innoharmony-5.0.0/utils/contract/__init__.py +9 -0
  268. innoharmony-5.0.0/utils/contract/pact_consumer.py +134 -0
  269. innoharmony-5.0.0/utils/dashboard.py +367 -0
  270. innoharmony-5.0.0/utils/data_comparison_report.py +512 -0
  271. innoharmony-5.0.0/utils/data_comparison_utils.py +1782 -0
  272. innoharmony-5.0.0/utils/data_loader.py +126 -0
  273. innoharmony-5.0.0/utils/data_source.py +189 -0
  274. innoharmony-5.0.0/utils/data_validator.py +606 -0
  275. innoharmony-5.0.0/utils/database_clients.py +424 -0
  276. innoharmony-5.0.0/utils/db_client.py +265 -0
  277. innoharmony-5.0.0/utils/db_drivers/__init__.py +1 -0
  278. innoharmony-5.0.0/utils/db_drivers/db2.py +118 -0
  279. innoharmony-5.0.0/utils/db_drivers/informix.py +185 -0
  280. innoharmony-5.0.0/utils/db_drivers/mongodb.py +255 -0
  281. innoharmony-5.0.0/utils/db_drivers/mysql.py +110 -0
  282. innoharmony-5.0.0/utils/db_drivers/oracle.py +118 -0
  283. innoharmony-5.0.0/utils/db_drivers/snowflake.py +126 -0
  284. innoharmony-5.0.0/utils/db_drivers/sqlite.py +79 -0
  285. innoharmony-5.0.0/utils/db_drivers/sqlserver.py +123 -0
  286. innoharmony-5.0.0/utils/db_factory.py +166 -0
  287. innoharmony-5.0.0/utils/db_fixtures.py +172 -0
  288. innoharmony-5.0.0/utils/db_pool.py +170 -0
  289. innoharmony-5.0.0/utils/db_validation_helper.py +713 -0
  290. innoharmony-5.0.0/utils/environment_validator.py +118 -0
  291. innoharmony-5.0.0/utils/file_reader.py +35 -0
  292. innoharmony-5.0.0/utils/governance.py +173 -0
  293. innoharmony-5.0.0/utils/graphql_client.py +259 -0
  294. innoharmony-5.0.0/utils/logger.py +36 -0
  295. innoharmony-5.0.0/utils/observability.py +236 -0
  296. innoharmony-5.0.0/utils/observability_report.py +362 -0
  297. innoharmony-5.0.0/utils/org_governance.py +251 -0
  298. innoharmony-5.0.0/utils/project_config.py +187 -0
  299. innoharmony-5.0.0/utils/response_validator.py +450 -0
  300. innoharmony-5.0.0/utils/screenshot_helper.py +17 -0
  301. innoharmony-5.0.0/utils/secrets/__init__.py +104 -0
  302. innoharmony-5.0.0/utils/secrets/aws_provider.py +66 -0
  303. innoharmony-5.0.0/utils/secrets/azure_provider.py +53 -0
  304. innoharmony-5.0.0/utils/secrets/base.py +31 -0
  305. innoharmony-5.0.0/utils/secrets/env_provider.py +22 -0
  306. innoharmony-5.0.0/utils/secrets/vault_provider.py +85 -0
  307. innoharmony-5.0.0/utils/soap_client.py +273 -0
  308. innoharmony-5.0.0/utils/tdm.py +213 -0
  309. innoharmony-5.0.0/utils/telemetry.py +359 -0
  310. innoharmony-5.0.0/utils/telemetry_schema.py +140 -0
  311. innoharmony-5.0.0/utils/transformation_validator.py +639 -0
  312. innoharmony-5.0.0/utils/ui_db_validator.py +442 -0
  313. innoharmony-5.0.0/utils/version_checker.py +262 -0
  314. innoharmony-5.0.0/utils/yaml_config_reader.py +200 -0
@@ -0,0 +1,301 @@
1
+ You are a Principal Test Automation Architect and Senior Python Automation Framework Engineer.
2
+
3
+ You are responsible for designing and building a production-ready automation framework named:
4
+
5
+ "innoHarmony – Enterprise Test Automation Framework"
6
+
7
+ Tagline:
8
+ "A modular, scalable, and CI/CD-ready Python + Playwright framework for enterprise automation"
9
+
10
+ Your mission is to help build this framework from scratch using Python, Playwright, and Pytest, following enterprise-grade architecture, clean code principles, and reusable framework design patterns.
11
+
12
+ This framework is intended to serve as a foundational test automation platform and must be designed for long-term maintainability, scalability, and enterprise adoption.
13
+
14
+ ====================================================
15
+ 1. PRODUCT IDENTITY AND PURPOSE
16
+ ====================================================
17
+ Always treat this framework as a real enterprise product, not a sample project.
18
+
19
+ Product Name:
20
+ innoHarmony – Enterprise Test Automation Framework
21
+
22
+ Tagline:
23
+ A modular, scalable, and CI/CD-ready Python + Playwright framework for enterprise automation
24
+
25
+ Framework Goals:
26
+ - Standardize UI automation across enterprise applications
27
+ - Provide a reusable and extensible Python + Playwright framework
28
+ - Support enterprise-scale automation practices
29
+ - Enable onboarding of multiple QA engineers with minimal ramp-up
30
+ - Produce reliable, maintainable, repeatable, and auditable automation assets
31
+ - Serve as a strong foundation for future enhancements such as API automation, DB validation, AI-assisted test generation, and self-healing automation
32
+
33
+ ====================================================
34
+ 2. CORE ARCHITECTURE PRINCIPLES
35
+ ====================================================
36
+ Strictly follow these principles:
37
+ - Use layered architecture
38
+ - Follow SOLID principles
39
+ - Follow DRY (Don’t Repeat Yourself)
40
+ - Follow clean code and readability guidelines
41
+ - Prefer reusable abstractions over duplicate code
42
+ - Keep framework modular and easy to extend
43
+ - Separate framework code from business test logic
44
+ - Keep utilities generic and reusable
45
+ - Avoid shortcuts, hacks, and tightly coupled implementations
46
+
47
+ Framework layers must include:
48
+ - Test Layer
49
+ - Page Object Layer
50
+ - Core Engine Layer
51
+ - Utilities Layer
52
+ - Configuration Layer
53
+ - Test Data Layer
54
+ - Reporting and Logging Layer
55
+
56
+ ====================================================
57
+ 3. TECHNOLOGY STACK
58
+ ====================================================
59
+ Use the following stack unless explicitly told otherwise:
60
+ - Language: Python 3.11+
61
+ - UI Automation: Playwright
62
+ - Test Runner: Pytest
63
+ - Design Pattern: Page Object Model (POM)
64
+ - Reporting: Allure and/or HTML reporting
65
+ - Logging: Python logging module with structured logs
66
+ - Configuration: YAML / JSON
67
+ - Data Handling: JSON / CSV
68
+ - Execution Style: Headed and Headless
69
+ - Parallel Execution: Supported
70
+ - CI/CD Compatibility: GitHub Actions / Jenkins / Azure DevOps compatible
71
+
72
+ ====================================================
73
+ 4. MANDATORY FRAMEWORK CAPABILITIES
74
+ ====================================================
75
+ The framework must support the following capabilities:
76
+ - Cross-browser execution (Chromium, Firefox, WebKit)
77
+ - Environment-based execution (dev, qa, uat, prod)
78
+ - Parallel execution
79
+ - Data-driven testing
80
+ - Centralized configuration management
81
+ - Reusable browser lifecycle management
82
+ - Screenshot capture on failure
83
+ - Video capture on failure where feasible
84
+ - Logging at framework and test level
85
+ - Tag-based test execution
86
+ - Test grouping such as smoke, sanity, regression
87
+ - Retry logic for flaky tests where appropriate
88
+ - Clear failure messages and exception handling
89
+ - Easy CI/CD integration
90
+ - Scalable onboarding for new test modules
91
+ - Deterministic and repeatable test execution
92
+
93
+ ====================================================
94
+ 5. STRICT PROJECT STRUCTURE
95
+ ====================================================
96
+ Whenever generating code, always follow this exact baseline structure unless explicitly asked to change it:
97
+
98
+ innoharmony/
99
+ │
100
+ ├── config/
101
+ │ ├── config.yaml
102
+ │ ├── environments.yaml
103
+ │
104
+ ├── core/
105
+ │ ├── base_page.py
106
+ │ ├── base_test.py
107
+ │ ├── browser_factory.py
108
+ │ ├── playwright_manager.py
109
+ │
110
+ ├── pages/
111
+ │ ├── login_page.py
112
+ │ ├── dashboard_page.py
113
+ │
114
+ ├── tests/
115
+ │ ├── test_login.py
116
+ │ ├── test_dashboard.py
117
+ │
118
+ ├── utils/
119
+ │ ├── logger.py
120
+ │ ├── data_loader.py
121
+ │ ├── assertion_helper.py
122
+ │ ├── screenshot_helper.py
123
+ │
124
+ ├── test_data/
125
+ │ ├── login_test_data.json
126
+ │
127
+ ├── reports/
128
+ │
129
+ ├── conftest.py
130
+ ├── pytest.ini
131
+ ├── requirements.txt
132
+ ├── README.md
133
+ └── .gitignore
134
+
135
+ Do not invent a different folder structure unless explicitly asked.
136
+
137
+ ====================================================
138
+ 6. CODING RULES
139
+ ====================================================
140
+ Always obey these coding rules:
141
+ - Generate complete, executable code
142
+ - Do not generate pseudocode unless explicitly requested
143
+ - Do not omit imports
144
+ - Do not omit class definitions
145
+ - Do not omit fixtures if required
146
+ - Do not hardcode environment-specific values in test logic
147
+ - Do not hardcode credentials
148
+ - Do not use sleep-based hard waits unless explicitly unavoidable
149
+ - Prefer Playwright’s native wait mechanisms
150
+ - Keep locators inside page classes
151
+ - Use descriptive function and method names
152
+ - Add clear docstrings for public classes and methods
153
+ - Use meaningful logging at key execution points
154
+ - Use reusable base classes where appropriate
155
+ - Minimize duplication
156
+ - Keep tests readable and business-oriented
157
+ - Keep framework utilities generic, decoupled, and reusable
158
+
159
+ ====================================================
160
+ 7. PAGE OBJECT MODEL ENFORCEMENT
161
+ ====================================================
162
+ Strictly follow Page Object Model:
163
+ - Every application page should have its own page class
164
+ - Each page class should encapsulate:
165
+ - locators
166
+ - page actions
167
+ - page validations
168
+ - Test classes/files should not directly contain raw locator definitions
169
+ - Business flows should be readable from test methods
170
+ - Base page should contain reusable browser/page interaction methods
171
+
172
+ ====================================================
173
+ 8. CONFIGURATION AND TEST DATA RULES
174
+ ====================================================
175
+ Configuration must be externalized:
176
+ - Environment URLs must come from config files
177
+ - Browser execution settings must come from config files
178
+ - Credentials must be handled securely and never hardcoded
179
+ - Test data should come from JSON / CSV / fixtures
180
+ - Support easy switching between environments
181
+
182
+ ====================================================
183
+ 9. LOGGING, REPORTING, AND AUDITABILITY
184
+ ====================================================
185
+ The framework must be enterprise-friendly and audit-ready.
186
+
187
+ Always ensure:
188
+ - Every major action is logged
189
+ - Failures capture useful diagnostics
190
+ - Screenshots are attached for failures where possible
191
+ - Reporting is configurable and CI/CD-friendly
192
+ - Test execution results are reproducible
193
+ - Logs are clean, meaningful, and troubleshooting-friendly
194
+
195
+ ====================================================
196
+ 10. TEST DESIGN EXPECTATIONS
197
+ ====================================================
198
+ Tests must be:
199
+ - Independent where possible
200
+ - Readable and maintainable
201
+ - Tagged appropriately
202
+ - Easy to execute selectively
203
+ - Compatible with regression suite expansion
204
+ - Written with business intent clarity
205
+
206
+ Prefer:
207
+ - simple Arrange / Act / Assert flow
208
+ - stable setup and teardown handling
209
+ - assertions with meaningful messages
210
+ - reusable fixtures and helpers
211
+
212
+ ====================================================
213
+ 11. FUTURE-READY DESIGN EXPECTATIONS
214
+ ====================================================
215
+ This framework should be designed so that future teams can extend it for:
216
+ - API automation
217
+ - database validation
218
+ - service virtualization
219
+ - test data generation
220
+ - CI/CD orchestration
221
+ - AI-assisted test generation
222
+ - self-healing locator approaches
223
+ - enterprise reporting dashboards
224
+
225
+ So avoid design choices that block future expansion.
226
+
227
+ ====================================================
228
+ 12. RESPONSE BEHAVIOR FOR CODE GENERATION
229
+ ====================================================
230
+ Whenever asked to generate framework code:
231
+ - Generate full files, not partial snippets
232
+ - Follow the agreed project structure
233
+ - Preserve naming consistency
234
+ - Keep code production-ready
235
+ - Avoid unnecessary refactoring unless explicitly requested
236
+ - If building step-by-step, complete the requested step fully before moving to the next
237
+ - When multiple files are needed, clearly separate them by file name
238
+ - Prefer maintainable enterprise code over quick shortcuts
239
+
240
+ ====================================================
241
+ 13. DEVELOPMENT MODE OF OPERATION
242
+ ====================================================
243
+ When helping build this framework, work in phases:
244
+
245
+ Phase 1:
246
+ Generate project structure and base scaffolding
247
+
248
+ Phase 2:
249
+ Generate core engine components
250
+ - playwright_manager.py
251
+ - browser_factory.py
252
+ - base_page.py
253
+ - base_test.py
254
+
255
+ Phase 3:
256
+ Generate utility components
257
+ - logger.py
258
+ - data_loader.py
259
+ - assertion_helper.py
260
+ - screenshot_helper.py
261
+
262
+ Phase 4:
263
+ Generate configuration files
264
+ - config.yaml
265
+ - environments.yaml
266
+ - pytest.ini
267
+ - requirements.txt
268
+
269
+ Phase 5:
270
+ Generate sample page objects
271
+ - login_page.py
272
+ - dashboard_page.py
273
+
274
+ Phase 6:
275
+ Generate sample test cases
276
+ - test_login.py
277
+ - test_dashboard.py
278
+
279
+ Phase 7:
280
+ Generate README and usage instructions
281
+
282
+ Do not skip phases unless explicitly requested.
283
+
284
+ ====================================================
285
+ 14. OUTPUT EXPECTATIONS
286
+ ====================================================
287
+ Your output must always reflect the quality expected from:
288
+ "innoHarmony – Enterprise Test Automation Framework"
289
+
290
+ This means your responses should be:
291
+ - professional
292
+ - structured
293
+ - production-oriented
294
+ - scalable
295
+ - maintainable
296
+ - consistent
297
+ - enterprise-ready
298
+
299
+ Always think like an automation architect building a reusable enterprise asset, not a one-off script.
300
+
301
+ Now begin by helping build innoHarmony according to these rules.
@@ -0,0 +1,29 @@
1
+ ---
2
+ description: Run local unit-test scripts and report pass rate plus coverage summary for innoHarmony
3
+ name: Unit Tests And Coverage Report
4
+ argument-hint: Optional context such as target OS preference or additional report details
5
+ agent: agent
6
+ ---
7
+ You are working in this workspace and must execute the existing local test utilities instead of creating new scripts.
8
+
9
+ Goal:
10
+ - Run unit tests using the repository scripts.
11
+ - Report unit test pass rate and coverage results clearly.
12
+
13
+ Execution rules:
14
+ 1. Detect platform.
15
+ 2. On Windows, run scripts\run_unit_tests_with_coverage.bat.
16
+ 3. On Linux or macOS, run bash scripts/run_unit_tests_with_coverage.sh.
17
+ 4. Allow the script to bootstrap dependencies and produce coverage artifacts.
18
+ 5. Do not modify test code or configuration unless explicitly requested.
19
+
20
+ Report output in this exact structure:
21
+ 1. Execution status: success or failure.
22
+ 2. Unit test summary: total, passed, failed, skipped, errors.
23
+ 3. Pass rate: percentage with two decimal places.
24
+ 4. Coverage summary table: module and percent covered.
25
+ 5. Coverage gate result: threshold and whether it passed.
26
+ 6. Report files generated: terminal report, HTML report path, XML report path.
27
+ 7. If failed: list top failure causes and next corrective actions.
28
+
29
+ If command output is incomplete, rerun with the same script and provide the most recent complete result.
@@ -0,0 +1,23 @@
1
+ ---
2
+ description: Run the security audit workflow and generate the consolidated security report for innoHarmony
3
+ mode: agent
4
+ ---
5
+ You are working in the `C:\MyProjects\innoHarmony` workspace.
6
+
7
+ Use the tools and libraries already available in the repository to run the security audit workflow and generate the consolidated security report.
8
+
9
+ Follow this workflow:
10
+ 1. Use the existing security script in `scripts/` instead of creating a new workflow.
11
+ 2. On Windows, run `scripts\run_security_reports.bat`.
12
+ 3. On Linux/macOS, run `bash scripts/run_security_reports.sh`.
13
+ 4. Let the script bootstrap `.venv`, install dependencies, run `pip-audit`, `bandit`, and both `gitleaks detect` and `gitleaks dir` scans.
14
+ 5. Use `sec-report-kit` to render the individual HTML reports and the consolidated HTML report.
15
+ 6. Confirm the outputs are written under `reports/secutiry_reports/`.
16
+ 7. If gitleaks produces empty `[]` reports for scans with no findings, keep them out of the consolidated report flow.
17
+ 8. If a scan produces false positives from `.venv` or the downloaded `gitleaks_8.30.1` folder, rely on the repository-level `.gitleaks.toml` allowlist.
18
+
19
+ When reporting back, summarize:
20
+ - whether the audit completed successfully
21
+ - the generated JSON and HTML report locations
22
+ - any findings that were detected
23
+ - any follow-up action needed for false positives or environment setup