hybrid_platforms_conductor 32.17.0 → 33.0.2

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 (283) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +6 -3
  4. data/bin/check-node +0 -1
  5. data/bin/deploy +0 -1
  6. data/bin/get_impacted_nodes +0 -1
  7. data/bin/last_deploys +12 -8
  8. data/bin/nodes_to_deploy +6 -6
  9. data/bin/setup +6 -6
  10. data/bin/topograph +1 -1
  11. data/docs/config_dsl.md +45 -1
  12. data/docs/executables.md +6 -7
  13. data/docs/executables/check-node.md +3 -3
  14. data/docs/executables/deploy.md +3 -3
  15. data/docs/executables/dump_nodes_json.md +3 -3
  16. data/docs/executables/test.md +3 -3
  17. data/docs/executables/topograph.md +3 -3
  18. data/docs/gen/mermaid/README.md-0.png +0 -0
  19. data/docs/gen/mermaid/docs/executables/check-node.md-0.png +0 -0
  20. data/docs/gen/mermaid/docs/executables/deploy.md-0.png +0 -0
  21. data/docs/gen/mermaid/docs/executables/free_ips.md-0.png +0 -0
  22. data/docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png +0 -0
  23. data/docs/gen/mermaid/docs/executables/last_deploys.md-0.png +0 -0
  24. data/docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png +0 -0
  25. data/docs/gen/mermaid/docs/executables/report.md-0.png +0 -0
  26. data/docs/gen/mermaid/docs/executables/run.md-0.png +0 -0
  27. data/docs/gen/mermaid/docs/executables/ssh_config.md-0.png +0 -0
  28. data/docs/gen/mermaid/docs/executables/test.md-0.png +0 -0
  29. data/docs/plugins.md +46 -0
  30. data/docs/plugins/connector/ssh.md +1 -1
  31. data/docs/plugins/log/remote_fs.md +26 -0
  32. data/docs/plugins/secrets_reader/cli.md +31 -0
  33. data/docs/plugins/secrets_reader/thycotic.md +46 -0
  34. data/docs/plugins/test/check_deploy_and_idempotence.md +1 -1
  35. data/docs/plugins/test/connection.md +1 -0
  36. data/docs/plugins/test/deploy_removes_root_access.md +1 -1
  37. data/docs/plugins/test/file_system.md +1 -0
  38. data/docs/plugins/test/hostname.md +1 -0
  39. data/docs/plugins/test/ip.md +1 -0
  40. data/docs/plugins/test/local_users.md +1 -0
  41. data/docs/plugins/test/mounts.md +1 -0
  42. data/docs/plugins/test/orphan_files.md +1 -0
  43. data/docs/plugins/test/ports.md +1 -0
  44. data/docs/plugins/test/spectre.md +1 -0
  45. data/docs/plugins/test/vulnerabilities.md +1 -0
  46. data/lib/hybrid_platforms_conductor/action.rb +4 -4
  47. data/lib/hybrid_platforms_conductor/actions_executor.rb +45 -43
  48. data/lib/hybrid_platforms_conductor/bitbucket.rb +5 -4
  49. data/lib/hybrid_platforms_conductor/cmd_runner.rb +13 -12
  50. data/lib/hybrid_platforms_conductor/cmdb.rb +2 -2
  51. data/lib/hybrid_platforms_conductor/common_config_dsl/bitbucket.rb +2 -1
  52. data/lib/hybrid_platforms_conductor/common_config_dsl/confluence.rb +2 -1
  53. data/lib/hybrid_platforms_conductor/common_config_dsl/file_system_tests.rb +5 -4
  54. data/lib/hybrid_platforms_conductor/common_config_dsl/github.rb +4 -3
  55. data/lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb +2 -2
  56. data/lib/hybrid_platforms_conductor/config.rb +8 -4
  57. data/lib/hybrid_platforms_conductor/confluence.rb +1 -1
  58. data/lib/hybrid_platforms_conductor/connector.rb +5 -2
  59. data/lib/hybrid_platforms_conductor/core_extensions/cleanroom/fix_kwargs.rb +116 -0
  60. data/lib/hybrid_platforms_conductor/core_extensions/symbol/zero.rb +24 -0
  61. data/lib/hybrid_platforms_conductor/credentials.rb +39 -36
  62. data/lib/hybrid_platforms_conductor/current_dir_monitor.rb +4 -1
  63. data/lib/hybrid_platforms_conductor/deployer.rb +275 -224
  64. data/lib/hybrid_platforms_conductor/executable.rb +20 -15
  65. data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/config.rb +10 -7
  66. data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/host_ip.rb +1 -1
  67. data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/host_keys.rb +2 -2
  68. data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/platform_handlers.rb +4 -4
  69. data/lib/hybrid_platforms_conductor/hpc_plugins/connector/local.rb +2 -0
  70. data/lib/hybrid_platforms_conductor/hpc_plugins/connector/ssh.rb +45 -49
  71. data/lib/hybrid_platforms_conductor/hpc_plugins/log/my_log_plugin.rb.sample +100 -0
  72. data/lib/hybrid_platforms_conductor/hpc_plugins/log/remote_fs.rb +180 -0
  73. data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef.rb +68 -66
  74. data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef/dsl_parser.rb +13 -0
  75. data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef/recipes_tree_builder.rb +39 -38
  76. data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/yaml_inventory.rb +5 -4
  77. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/docker.rb +43 -45
  78. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/podman.rb +18 -20
  79. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox.rb +118 -117
  80. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox/proxmox_waiter.rb +39 -43
  81. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox/reserve_proxmox_container +9 -13
  82. data/lib/hybrid_platforms_conductor/hpc_plugins/report/confluence.rb +2 -2
  83. data/lib/hybrid_platforms_conductor/hpc_plugins/report/mediawiki.rb +28 -21
  84. data/lib/hybrid_platforms_conductor/hpc_plugins/report/stdout.rb +26 -22
  85. data/lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/cli.rb +77 -0
  86. data/lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample +46 -0
  87. data/lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/thycotic.rb +90 -0
  88. data/lib/hybrid_platforms_conductor/hpc_plugins/test/bitbucket_conf.rb +3 -3
  89. data/lib/hybrid_platforms_conductor/hpc_plugins/test/check_deploy_and_idempotence.rb +4 -2
  90. data/lib/hybrid_platforms_conductor/hpc_plugins/test/connection.rb +3 -1
  91. data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_freshness.rb +7 -21
  92. data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_removes_root_access.rb +21 -19
  93. data/lib/hybrid_platforms_conductor/hpc_plugins/test/divergence.rb +2 -2
  94. data/lib/hybrid_platforms_conductor/hpc_plugins/test/executables.rb +2 -2
  95. data/lib/hybrid_platforms_conductor/hpc_plugins/test/file_system.rb +21 -22
  96. data/lib/hybrid_platforms_conductor/hpc_plugins/test/file_system_hdfs.rb +19 -21
  97. data/lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb +2 -3
  98. data/lib/hybrid_platforms_conductor/hpc_plugins/test/hostname.rb +3 -1
  99. data/lib/hybrid_platforms_conductor/hpc_plugins/test/idempotence.rb +2 -2
  100. data/lib/hybrid_platforms_conductor/hpc_plugins/test/ip.rb +4 -2
  101. data/lib/hybrid_platforms_conductor/hpc_plugins/test/jenkins_ci_conf.rb +21 -22
  102. data/lib/hybrid_platforms_conductor/hpc_plugins/test/jenkins_ci_masters_ok.rb +10 -12
  103. data/lib/hybrid_platforms_conductor/hpc_plugins/test/linear_strategy.rb +9 -9
  104. data/lib/hybrid_platforms_conductor/hpc_plugins/test/local_users.rb +5 -3
  105. data/lib/hybrid_platforms_conductor/hpc_plugins/test/mounts.rb +5 -3
  106. data/lib/hybrid_platforms_conductor/hpc_plugins/test/orphan_files.rb +13 -10
  107. data/lib/hybrid_platforms_conductor/hpc_plugins/test/ports.rb +5 -3
  108. data/lib/hybrid_platforms_conductor/hpc_plugins/test/private_ips.rb +5 -5
  109. data/lib/hybrid_platforms_conductor/hpc_plugins/test/public_ips.rb +5 -5
  110. data/lib/hybrid_platforms_conductor/hpc_plugins/test/spectre.rb +7 -7
  111. data/lib/hybrid_platforms_conductor/hpc_plugins/test/veids.rb +3 -3
  112. data/lib/hybrid_platforms_conductor/hpc_plugins/test/vulnerabilities.rb +27 -25
  113. data/lib/hybrid_platforms_conductor/hpc_plugins/test_report/confluence.rb +2 -2
  114. data/lib/hybrid_platforms_conductor/hpc_plugins/test_report/stdout.rb +8 -6
  115. data/lib/hybrid_platforms_conductor/io_router.rb +14 -13
  116. data/lib/hybrid_platforms_conductor/json_dumper.rb +2 -2
  117. data/lib/hybrid_platforms_conductor/log.rb +31 -0
  118. data/lib/hybrid_platforms_conductor/logger_helpers.rb +19 -16
  119. data/lib/hybrid_platforms_conductor/nodes_handler.rb +89 -71
  120. data/lib/hybrid_platforms_conductor/parallel_threads.rb +7 -11
  121. data/lib/hybrid_platforms_conductor/platform_handler.rb +7 -7
  122. data/lib/hybrid_platforms_conductor/platforms_handler.rb +5 -3
  123. data/lib/hybrid_platforms_conductor/plugin.rb +2 -2
  124. data/lib/hybrid_platforms_conductor/plugins.rb +14 -8
  125. data/lib/hybrid_platforms_conductor/provisioner.rb +4 -4
  126. data/lib/hybrid_platforms_conductor/report.rb +2 -2
  127. data/lib/hybrid_platforms_conductor/reports_handler.rb +3 -2
  128. data/lib/hybrid_platforms_conductor/secrets_reader.rb +31 -0
  129. data/lib/hybrid_platforms_conductor/services_handler.rb +32 -29
  130. data/lib/hybrid_platforms_conductor/test_only_remote_node.rb +18 -0
  131. data/lib/hybrid_platforms_conductor/test_report.rb +15 -18
  132. data/lib/hybrid_platforms_conductor/tests_runner.rb +116 -118
  133. data/lib/hybrid_platforms_conductor/thycotic.rb +28 -19
  134. data/lib/hybrid_platforms_conductor/topographer.rb +200 -190
  135. data/lib/hybrid_platforms_conductor/topographer/plugins/graphviz.rb +8 -8
  136. data/lib/hybrid_platforms_conductor/topographer/plugins/json.rb +4 -4
  137. data/lib/hybrid_platforms_conductor/version.rb +1 -1
  138. data/spec/hybrid_platforms_conductor_test.rb +33 -12
  139. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/bash_spec.rb +18 -11
  140. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/interactive_spec.rb +2 -2
  141. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/remote_bash_spec.rb +32 -21
  142. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/ruby_spec.rb +75 -49
  143. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/scp_spec.rb +27 -15
  144. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions_spec.rb +90 -59
  145. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connection_spec.rb +46 -44
  146. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/connectable_nodes_spec.rb +12 -8
  147. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/remote_actions_spec.rb +4 -7
  148. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/cli_options_spec.rb +21 -22
  149. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/config_dsl_spec.rb +23 -24
  150. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/connectable_nodes_spec.rb +10 -6
  151. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/connections_spec.rb +106 -75
  152. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/global_helpers_spec.rb +145 -126
  153. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/node_helpers_spec.rb +3 -3
  154. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/remote_actions_spec.rb +29 -25
  155. data/spec/hybrid_platforms_conductor_test/api/actions_executor/logging_spec.rb +167 -142
  156. data/spec/hybrid_platforms_conductor_test/api/actions_executor/parallel_spec.rb +272 -244
  157. data/spec/hybrid_platforms_conductor_test/api/actions_executor/timeout_spec.rb +16 -16
  158. data/spec/hybrid_platforms_conductor_test/api/cmd_runner_spec.rb +36 -36
  159. data/spec/hybrid_platforms_conductor_test/api/config_spec.rb +24 -22
  160. data/spec/hybrid_platforms_conductor_test/api/deployer/check_spec.rb +4 -2
  161. data/spec/hybrid_platforms_conductor_test/api/deployer/config_dsl_spec.rb +43 -5
  162. data/spec/hybrid_platforms_conductor_test/api/deployer/deploy_spec.rb +199 -216
  163. data/spec/hybrid_platforms_conductor_test/api/deployer/log_plugins/remote_fs_spec.rb +223 -0
  164. data/spec/hybrid_platforms_conductor_test/api/deployer/parse_deploy_output_spec.rb +55 -59
  165. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioner_spec.rb +36 -62
  166. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/podman_spec.rb +17 -17
  167. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/config_dsl_spec.rb +4 -4
  168. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/create_spec.rb +44 -51
  169. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/destroy_spec.rb +3 -3
  170. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/ip_spec.rb +12 -16
  171. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/destroy_vm_spec.rb +31 -19
  172. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/expired_containers_spec.rb +324 -266
  173. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/ips_assignment_spec.rb +89 -61
  174. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/other_lxc_containers_resources_spec.rb +117 -93
  175. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/pve_node_resources_spec.rb +71 -54
  176. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb +10 -8
  177. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/vm_ids_assignment_spec.rb +80 -60
  178. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/start_spec.rb +1 -1
  179. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/state_spec.rb +1 -1
  180. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/stop_spec.rb +1 -1
  181. data/spec/hybrid_platforms_conductor_test/api/deployer/secrets_reader_plugins/cli_spec.rb +64 -0
  182. data/spec/hybrid_platforms_conductor_test/api/deployer/secrets_reader_plugins/thycotic_spec.rb +268 -0
  183. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/config_spec.rb +8 -10
  184. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/host_ip_spec.rb +33 -24
  185. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/host_keys_spec.rb +64 -51
  186. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/platform_handlers_spec.rb +3 -3
  187. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs_plugins_api_spec.rb +50 -51
  188. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/common_spec.rb +91 -81
  189. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/config_dsl_spec.rb +14 -16
  190. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/git_diff_impacts_spec.rb +51 -75
  191. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/nodes_selectors_spec.rb +35 -26
  192. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/platform_handlers_plugins_api_spec.rb +24 -16
  193. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/several_platforms_spec.rb +29 -19
  194. data/spec/hybrid_platforms_conductor_test/api/platform_handler_spec.rb +4 -4
  195. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/config_dsl_spec.rb +2 -2
  196. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/deploy_output_parsing_spec.rb +6 -6
  197. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/diff_impacts_spec.rb +57 -99
  198. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/inventory_spec.rb +4 -4
  199. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/packaging_spec.rb +32 -35
  200. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/services_deployment_spec.rb +10 -10
  201. data/spec/hybrid_platforms_conductor_test/api/platforms_handler_spec.rb +38 -27
  202. data/spec/hybrid_platforms_conductor_test/api/plugins_spec.rb +46 -52
  203. data/spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb +2 -2
  204. data/spec/hybrid_platforms_conductor_test/api/services_handler/actions_to_deploy_spec.rb +90 -58
  205. data/spec/hybrid_platforms_conductor_test/api/services_handler/deploy_allowed_spec.rb +38 -34
  206. data/spec/hybrid_platforms_conductor_test/api/services_handler/log_info_spec.rb +11 -9
  207. data/spec/hybrid_platforms_conductor_test/api/services_handler/package_spec.rb +193 -171
  208. data/spec/hybrid_platforms_conductor_test/api/services_handler/parse_deploy_output_spec.rb +66 -54
  209. data/spec/hybrid_platforms_conductor_test/api/services_handler/prepare_for_deploy_spec.rb +147 -133
  210. data/spec/hybrid_platforms_conductor_test/api/tests_runner/common_spec.rb +69 -49
  211. data/spec/hybrid_platforms_conductor_test/api/tests_runner/global_spec.rb +5 -4
  212. data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_check_spec.rb +8 -5
  213. data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_spec.rb +8 -5
  214. data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_ssh_spec.rb +30 -27
  215. data/spec/hybrid_platforms_conductor_test/api/tests_runner/platform_spec.rb +12 -9
  216. data/spec/hybrid_platforms_conductor_test/api/tests_runner/reports_spec.rb +48 -47
  217. data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_plugins/bitbucket_conf_spec.rb +5 -5
  218. data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_plugins/github_ci_spec.rb +5 -5
  219. data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_reports_plugins/confluence_spec.rb +5 -5
  220. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb.rb +9 -9
  221. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/{test_cmdb2.rb → test_cmdb_2.rb} +6 -6
  222. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb_others.rb +3 -3
  223. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/{test_cmdb_others2.rb → test_cmdb_others_2.rb} +2 -2
  224. data/spec/hybrid_platforms_conductor_test/docs_spec.rb +1 -1
  225. data/spec/hybrid_platforms_conductor_test/executables/{check-node_spec.rb → check_node_spec.rb} +4 -6
  226. data/spec/hybrid_platforms_conductor_test/executables/deploy_spec.rb +4 -6
  227. data/spec/hybrid_platforms_conductor_test/executables/get_impacted_nodes_spec.rb +76 -77
  228. data/spec/hybrid_platforms_conductor_test/executables/last_deploys_spec.rb +159 -113
  229. data/spec/hybrid_platforms_conductor_test/executables/nodes_to_deploy_spec.rb +299 -160
  230. data/spec/hybrid_platforms_conductor_test/executables/options/actions_executor_spec.rb +4 -6
  231. data/spec/hybrid_platforms_conductor_test/executables/options/cmd_runner_spec.rb +3 -5
  232. data/spec/hybrid_platforms_conductor_test/executables/options/common_spec.rb +8 -8
  233. data/spec/hybrid_platforms_conductor_test/executables/options/deployer_spec.rb +12 -196
  234. data/spec/hybrid_platforms_conductor_test/executables/options/nodes_handler_spec.rb +9 -10
  235. data/spec/hybrid_platforms_conductor_test/executables/options/nodes_selectors_spec.rb +9 -10
  236. data/spec/hybrid_platforms_conductor_test/executables/options/reports_handler_spec.rb +1 -1
  237. data/spec/hybrid_platforms_conductor_test/executables/options/tests_runner_spec.rb +22 -22
  238. data/spec/hybrid_platforms_conductor_test/executables/report_spec.rb +22 -16
  239. data/spec/hybrid_platforms_conductor_test/executables/run_spec.rb +32 -32
  240. data/spec/hybrid_platforms_conductor_test/executables/ssh_config_spec.rb +7 -9
  241. data/spec/hybrid_platforms_conductor_test/executables/test_spec.rb +3 -5
  242. data/spec/hybrid_platforms_conductor_test/helpers/actions_executor_helpers.rb +2 -2
  243. data/spec/hybrid_platforms_conductor_test/helpers/cmd_runner_helpers.rb +4 -3
  244. data/spec/hybrid_platforms_conductor_test/helpers/cmdb_helpers.rb +2 -2
  245. data/spec/hybrid_platforms_conductor_test/helpers/config_helpers.rb +1 -1
  246. data/spec/hybrid_platforms_conductor_test/helpers/connector_ssh_helpers.rb +12 -13
  247. data/spec/hybrid_platforms_conductor_test/helpers/deployer_helpers.rb +245 -56
  248. data/spec/hybrid_platforms_conductor_test/helpers/executables_helpers.rb +11 -11
  249. data/spec/hybrid_platforms_conductor_test/helpers/nodes_handler_helpers.rb +1 -1
  250. data/spec/hybrid_platforms_conductor_test/helpers/platforms_handler_helpers.rb +39 -28
  251. data/spec/hybrid_platforms_conductor_test/helpers/plugins_helpers.rb +1 -1
  252. data/spec/hybrid_platforms_conductor_test/helpers/provisioner_proxmox_helpers.rb +86 -111
  253. data/spec/hybrid_platforms_conductor_test/helpers/reports_handler_helpers.rb +1 -1
  254. data/spec/hybrid_platforms_conductor_test/helpers/serverless_chef_helpers.rb +3 -3
  255. data/spec/hybrid_platforms_conductor_test/helpers/services_handler_helpers.rb +1 -1
  256. data/spec/hybrid_platforms_conductor_test/helpers/tests_runner_helpers.rb +1 -1
  257. data/spec/hybrid_platforms_conductor_test/mocked_lib/my_test_gem/hpc_plugins/test_plugin_type/{test_plugin_id1.rb → test_plugin_id_1.rb} +0 -0
  258. data/spec/hybrid_platforms_conductor_test/mocked_lib/my_test_gem/hpc_plugins/test_plugin_type/{test_plugin_id2.rb → test_plugin_id_2.rb} +0 -0
  259. data/spec/hybrid_platforms_conductor_test/mocked_lib/my_test_gem2/sub_dir/hpc_plugins/test_plugin_type/{test_plugin_id3.rb → test_plugin_id_3.rb} +0 -0
  260. data/spec/hybrid_platforms_conductor_test/mocked_lib/my_test_gem2/sub_dir/hpc_plugins/{test_plugin_type2/test_plugin_id4.rb → test_plugin_type_2/test_plugin_id_4.rb} +0 -0
  261. data/spec/hybrid_platforms_conductor_test/platform_handler_plugins/test.rb +1 -1
  262. data/spec/hybrid_platforms_conductor_test/platform_handler_plugins/{test2.rb → test_2.rb} +0 -0
  263. data/spec/hybrid_platforms_conductor_test/rubocop_spec.rb +31 -0
  264. data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/1_node/nodes/node.json +3 -3
  265. data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/data_bags/nodes/node.json +3 -3
  266. data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/recipes/cookbooks/test_cookbook_2/libraries/default.rb +1 -0
  267. data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/several_cookbooks/other_cookbooks/test_cookbook_2/libraries/default.rb +1 -0
  268. data/spec/hybrid_platforms_conductor_test/shared_examples/deployer.rb +952 -0
  269. data/spec/hybrid_platforms_conductor_test/test_connector.rb +3 -3
  270. data/spec/hybrid_platforms_conductor_test/test_log_no_read_plugin.rb +84 -0
  271. data/spec/hybrid_platforms_conductor_test/test_log_plugin.rb +105 -0
  272. data/spec/hybrid_platforms_conductor_test/test_plugins/global.rb +1 -0
  273. data/spec/hybrid_platforms_conductor_test/test_plugins/node.rb +1 -0
  274. data/spec/hybrid_platforms_conductor_test/test_plugins/node_check.rb +1 -0
  275. data/spec/hybrid_platforms_conductor_test/test_plugins/platform.rb +1 -0
  276. data/spec/hybrid_platforms_conductor_test/test_plugins/several_checks.rb +2 -2
  277. data/spec/hybrid_platforms_conductor_test/test_secrets_reader_plugin.rb +45 -0
  278. data/spec/hybrid_platforms_conductor_test/tests_report_plugin.rb +5 -6
  279. data/spec/spec_helper.rb +17 -18
  280. data/tools/check_md +16 -20
  281. data/tools/generate_mermaid +1 -1
  282. metadata +195 -144
  283. data/spec/hybrid_platforms_conductor_test/helpers/deployer_test_helpers.rb +0 -916
@@ -1,6 +1,6 @@
1
1
  describe HybridPlatformsConductor::TestsRunner do
2
2
 
3
- context 'checking platform tests execution' do
3
+ context 'when checking platform tests execution' do
4
4
 
5
5
  # Prepare the test platform with test plugins
6
6
  #
@@ -8,10 +8,13 @@ describe HybridPlatformsConductor::TestsRunner do
8
8
  # * Proc: Code called with the platform setup
9
9
  def with_test_platform_for_platform_tests
10
10
  with_test_platforms(
11
- 'platform1' => { nodes: { 'node11' => {}, 'node12' => {}, 'node13' => {} } },
12
- 'platform2' => { nodes: { 'node21' => {}, 'node22' => {}, 'node23' => {} }, platform_type: :test2 }
11
+ {
12
+ 'platform1' => { nodes: { 'node11' => {}, 'node12' => {}, 'node13' => {} } },
13
+ 'platform2' => { nodes: { 'node21' => {}, 'node22' => {}, 'node23' => {} }, platform_type: :test_2 }
14
+ }
13
15
  ) do
14
- register_test_plugins(test_tests_runner,
16
+ register_test_plugins(
17
+ test_tests_runner,
15
18
  platform_test: HybridPlatformsConductorTest::TestPlugins::Platform,
16
19
  platform_test_2: HybridPlatformsConductorTest::TestPlugins::Platform
17
20
  )
@@ -29,7 +32,7 @@ describe HybridPlatformsConductor::TestsRunner do
29
32
 
30
33
  it 'executes several platform tests' do
31
34
  with_test_platform_for_platform_tests do
32
- test_tests_runner.tests = [:platform_test, :platform_test_2]
35
+ test_tests_runner.tests = %i[platform_test platform_test_2]
33
36
  expect(test_tests_runner.run_tests([{ all: true }])).to eq 0
34
37
  expect(HybridPlatformsConductorTest::TestPlugins::Platform.runs.sort).to eq [
35
38
  [:platform_test, 'platform1'],
@@ -42,8 +45,8 @@ describe HybridPlatformsConductor::TestsRunner do
42
45
 
43
46
  it 'executes platform tests only on valid platform types' do
44
47
  with_test_platform_for_platform_tests do
45
- test_tests_runner.tests = [:platform_test, :platform_test_2]
46
- HybridPlatformsConductorTest::TestPlugins::Platform.only_on_platform_types = %i[test2]
48
+ test_tests_runner.tests = %i[platform_test platform_test_2]
49
+ HybridPlatformsConductorTest::TestPlugins::Platform.only_on_platform_types = %i[test_2]
47
50
  expect(test_tests_runner.run_tests([{ all: true }])).to eq 0
48
51
  expect(HybridPlatformsConductorTest::TestPlugins::Platform.runs.sort).to eq [
49
52
  [:platform_test, 'platform2'],
@@ -54,7 +57,7 @@ describe HybridPlatformsConductor::TestsRunner do
54
57
 
55
58
  it 'executes several platform tests in parallel' do
56
59
  with_test_platform_for_platform_tests do
57
- test_tests_runner.tests = [:platform_test, :platform_test_2]
60
+ test_tests_runner.tests = %i[platform_test platform_test_2]
58
61
  test_tests_runner.max_threads_platforms = 4
59
62
  HybridPlatformsConductorTest::TestPlugins::Platform.sleeps = {
60
63
  platform_test: {
@@ -78,7 +81,7 @@ describe HybridPlatformsConductor::TestsRunner do
78
81
 
79
82
  it 'executes several platform tests in parallel with a limited number of threads' do
80
83
  with_test_platform_for_platform_tests do
81
- test_tests_runner.tests = [:platform_test, :platform_test_2]
84
+ test_tests_runner.tests = %i[platform_test platform_test_2]
82
85
  test_tests_runner.max_threads_platforms = 2
83
86
  HybridPlatformsConductorTest::TestPlugins::Platform.sleeps = {
84
87
  platform_test: {
@@ -1,6 +1,6 @@
1
1
  describe HybridPlatformsConductor::TestsRunner do
2
2
 
3
- context 'checking reporting results of tests execution' do
3
+ context 'when checking reporting results of tests execution' do
4
4
 
5
5
  # Setup a tests platform for the reports testing
6
6
  #
@@ -8,19 +8,24 @@ describe HybridPlatformsConductor::TestsRunner do
8
8
  # * Proc: Code called with the platform setup
9
9
  def with_test_platforms_for_reports_test
10
10
  with_test_platforms(
11
- 'platform1' => { nodes: { 'node11' => {}, 'node12' => {} } },
12
- 'platform2' => { nodes: { 'node21' => {}, 'node22' => {} } }
11
+ {
12
+ 'platform1' => { nodes: { 'node11' => {}, 'node12' => {} } },
13
+ 'platform2' => { nodes: { 'node21' => {}, 'node22' => {} } }
14
+ }
13
15
  ) do
14
16
  register_tests_report_plugins(test_tests_runner, report: HybridPlatformsConductorTest::TestsReportPlugin)
15
- register_test_plugins(test_tests_runner, {
16
- global_test: HybridPlatformsConductorTest::TestPlugins::Global,
17
- platform_test: HybridPlatformsConductorTest::TestPlugins::Platform,
18
- node_test: HybridPlatformsConductorTest::TestPlugins::Node,
19
- node_test_2: HybridPlatformsConductorTest::TestPlugins::Node,
20
- node_ssh_test: HybridPlatformsConductorTest::TestPlugins::NodeSsh,
21
- node_check_test: HybridPlatformsConductorTest::TestPlugins::NodeCheck,
22
- several_tests: HybridPlatformsConductorTest::TestPlugins::SeveralChecks
23
- })
17
+ register_test_plugins(
18
+ test_tests_runner,
19
+ {
20
+ global_test: HybridPlatformsConductorTest::TestPlugins::Global,
21
+ platform_test: HybridPlatformsConductorTest::TestPlugins::Platform,
22
+ node_test: HybridPlatformsConductorTest::TestPlugins::Node,
23
+ node_test_2: HybridPlatformsConductorTest::TestPlugins::Node,
24
+ node_ssh_test: HybridPlatformsConductorTest::TestPlugins::NodeSsh,
25
+ node_check_test: HybridPlatformsConductorTest::TestPlugins::NodeCheck,
26
+ several_tests: HybridPlatformsConductorTest::TestPlugins::SeveralChecks
27
+ }
28
+ )
24
29
  test_tests_runner.reports = [:report]
25
30
  yield
26
31
  end
@@ -110,7 +115,7 @@ describe HybridPlatformsConductor::TestsRunner do
110
115
  'node12' => { 'test_node12.sh' => proc {} },
111
116
  'node21' => { 'test_node21.sh' => proc {} },
112
117
  'node22' => { 'test_node22.sh' => proc {} }
113
- }}
118
+ } }
114
119
  expect_actions_executor_runs([proc do
115
120
  {
116
121
  'node11' => [0, "===== TEST COMMAND EXECUTION ===== Separator generated by Hybrid Platforms Conductor test framework =====\n0\n", ''],
@@ -138,7 +143,7 @@ describe HybridPlatformsConductor::TestsRunner do
138
143
  'node12' => { 'test_node12.sh' => proc {} },
139
144
  'node21' => { 'test_node21.sh' => proc {} },
140
145
  'node22' => { 'test_node22.sh' => proc {} }
141
- }}
146
+ } }
142
147
  expect_actions_executor_runs([proc do
143
148
  {
144
149
  'node11' => [0, "===== TEST COMMAND EXECUTION ===== Separator generated by Hybrid Platforms Conductor test framework =====\n0\n", ''],
@@ -161,14 +166,12 @@ describe HybridPlatformsConductor::TestsRunner do
161
166
 
162
167
  it 'reports correctly a node check test' do
163
168
  with_test_platforms_for_reports_test do
164
- expect(test_deployer).to receive(:deploy_on).with(%w[node11 node12 node21 node22]).once do
165
- {
166
- 'node11' => [0, 'node11 check ok', ''],
167
- 'node12' => [0, 'node12 check ok', ''],
168
- 'node21' => [0, 'node21 check ok', ''],
169
- 'node22' => [0, 'node22 check ok', '']
170
- }
171
- end
169
+ expect(test_deployer).to receive(:deploy_on).with(%w[node11 node12 node21 node22]).once.and_return(
170
+ 'node11' => [0, 'node11 check ok', ''],
171
+ 'node12' => [0, 'node12 check ok', ''],
172
+ 'node21' => [0, 'node21 check ok', ''],
173
+ 'node22' => [0, 'node22 check ok', '']
174
+ )
172
175
  test_tests_runner.tests = [:node_check_test]
173
176
  test_tests_runner.run_tests [{ all: true }]
174
177
  expect(HybridPlatformsConductorTest::TestsReportPlugin.reports.size).to eq 1
@@ -183,14 +186,12 @@ describe HybridPlatformsConductor::TestsRunner do
183
186
 
184
187
  it 'reports correctly a node check test that is failing' do
185
188
  with_test_platforms_for_reports_test do
186
- expect(test_deployer).to receive(:deploy_on).with(%w[node11 node12 node21 node22]).once do
187
- {
188
- 'node11' => [0, 'node11 check ok', ''],
189
- 'node12' => [1, 'node12 check ok', 'Error for node12'],
190
- 'node21' => [2, 'node21 check ok', 'Error for node21'],
191
- 'node22' => [0, 'node22 check ok', '']
192
- }
193
- end
189
+ expect(test_deployer).to receive(:deploy_on).with(%w[node11 node12 node21 node22]).once.and_return(
190
+ 'node11' => [0, 'node11 check ok', ''],
191
+ 'node12' => [1, 'node12 check ok', 'Error for node12'],
192
+ 'node21' => [2, 'node21 check ok', 'Error for node21'],
193
+ 'node22' => [0, 'node22 check ok', '']
194
+ )
194
195
  test_tests_runner.tests = [:node_check_test]
195
196
  test_tests_runner.run_tests [{ all: true }]
196
197
  expect(HybridPlatformsConductorTest::TestsReportPlugin.reports.size).to eq 1
@@ -229,23 +230,23 @@ describe HybridPlatformsConductor::TestsRunner do
229
230
  'echo "$?"'
230
231
  ]
231
232
  end
232
- Hash[node_suffixes.map do |node_suffix|
233
+ node_suffixes.map do |node_suffix|
233
234
  [
234
235
  "node#{node_suffix}",
235
236
  [
236
237
  0,
237
- <<~EOS,
238
+ <<~EO_STDOUT,
238
239
  ===== TEST COMMAND EXECUTION ===== Separator generated by Hybrid Platforms Conductor test framework =====
239
240
  stdout#{node_suffix}
240
241
  0
241
- EOS
242
- <<~EOS
242
+ EO_STDOUT
243
+ <<~EO_STDERR
243
244
  ===== TEST COMMAND EXECUTION ===== Separator generated by Hybrid Platforms Conductor test framework =====
244
245
  stderr#{node_suffix}
245
- EOS
246
+ EO_STDERR
246
247
  ]
247
248
  ]
248
- end]
249
+ end.to_h
249
250
  end])
250
251
  # Run everything
251
252
  test_tests_runner.tests = [:several_tests]
@@ -279,7 +280,7 @@ describe HybridPlatformsConductor::TestsRunner do
279
280
 
280
281
  it 'groups errors correctly by their attributes' do
281
282
  with_test_platforms_for_reports_test do
282
- test_tests_runner.tests = [:node_test, :node_test_2]
283
+ test_tests_runner.tests = %i[node_test node_test_2]
283
284
  HybridPlatformsConductorTest::TestPlugins::Node.fail_for = {
284
285
  node_test: %w[node12 node22],
285
286
  node_test_2: %w[node21 node22]
@@ -308,12 +309,11 @@ describe HybridPlatformsConductor::TestsRunner do
308
309
  'nodes_list2' => %w[node2 node3 node4]
309
310
  }
310
311
  },
311
- false,
312
- '
313
- for_nodes(\'node1\') do
314
- expect_tests_to_fail(:node_test, \'Expected failure\')
315
- end
316
- '
312
+ additional_config: <<~'EO_CONFIG'
313
+ for_nodes('node1') do
314
+ expect_tests_to_fail(:node_test, 'Expected failure')
315
+ end
316
+ EO_CONFIG
317
317
  ) do
318
318
  register_tests_report_plugins(test_tests_runner, report: HybridPlatformsConductorTest::TestsReportPlugin)
319
319
  register_test_plugins(test_tests_runner, node_test: HybridPlatformsConductorTest::TestPlugins::Node)
@@ -345,11 +345,12 @@ describe HybridPlatformsConductor::TestsRunner do
345
345
 
346
346
  it 'can report on several reports' do
347
347
  with_test_platforms_for_reports_test do
348
- register_tests_report_plugins(test_tests_runner,
349
- report1: HybridPlatformsConductorTest::TestsReportPlugin,
350
- report2: HybridPlatformsConductorTest::TestsReportPlugin
348
+ register_tests_report_plugins(
349
+ test_tests_runner,
350
+ report_1: HybridPlatformsConductorTest::TestsReportPlugin,
351
+ report_2: HybridPlatformsConductorTest::TestsReportPlugin
351
352
  )
352
- test_tests_runner.reports = %i[report1 report2]
353
+ test_tests_runner.reports = %i[report_1 report_2]
353
354
  test_tests_runner.tests = [:global_test]
354
355
  test_tests_runner.run_tests [{ all: true }]
355
356
  expect(HybridPlatformsConductorTest::TestsReportPlugin.reports.size).to eq 2
@@ -1,12 +1,12 @@
1
1
  describe HybridPlatformsConductor::TestsRunner do
2
2
 
3
- context 'checking test plugins' do
3
+ context 'when checking test plugins' do
4
4
 
5
- context 'checking bitbucket_conf' do
5
+ context 'with bitbucket_conf' do
6
6
 
7
7
  it 'iterates over defined Bitbucket repos' do
8
- with_repository do |repository|
9
- platforms = <<~EOS
8
+ with_repository do
9
+ platforms = <<~EO_CONFIG
10
10
  bitbucket_repos(
11
11
  url: 'https://my_bb1.my_domain.com',
12
12
  project: 'PR1',
@@ -33,7 +33,7 @@ describe HybridPlatformsConductor::TestsRunner do
33
33
  ]
34
34
  }
35
35
  )
36
- EOS
36
+ EO_CONFIG
37
37
  with_platforms platforms do
38
38
  repos = []
39
39
  test_config.for_each_bitbucket_repo do |bitbucket, repo_info|
@@ -1,12 +1,12 @@
1
1
  describe HybridPlatformsConductor::TestsRunner do
2
2
 
3
- context 'checking test plugins' do
3
+ context 'when checking test plugins' do
4
4
 
5
- context 'checking github_ci' do
5
+ context 'with github_ci' do
6
6
 
7
7
  it 'iterates over defined Github repos' do
8
- with_repository do |repository|
9
- platforms = <<~EOS
8
+ with_repository do
9
+ platforms = <<~EO_CONFIG
10
10
  github_repos(
11
11
  url: 'https://my_gh.my_domain.com',
12
12
  user: 'GH-User1',
@@ -22,7 +22,7 @@ describe HybridPlatformsConductor::TestsRunner do
22
22
  'repo4'
23
23
  ]
24
24
  )
25
- EOS
25
+ EO_CONFIG
26
26
  with_platforms platforms do
27
27
  repos = []
28
28
  test_config.for_each_github_repo do |github, repo_info|
@@ -1,17 +1,17 @@
1
1
  describe HybridPlatformsConductor::TestsRunner do
2
2
 
3
- context 'checking test reports plugins' do
3
+ context 'when checking test reports plugins' do
4
4
 
5
- context 'checking confluence' do
5
+ context 'with confluence' do
6
6
 
7
7
  it 'returns Confluence info' do
8
- with_repository do |repository|
9
- platforms = <<~EOS
8
+ with_repository do
9
+ platforms = <<~EO_CONFIG
10
10
  confluence(
11
11
  url: 'https://my_confluence.my_domain.com',
12
12
  inventory_report_page_id: '123456'
13
13
  )
14
- EOS
14
+ EO_CONFIG
15
15
  with_platforms platforms do
16
16
  expect(test_config.confluence_info).to eq(
17
17
  url: 'https://my_confluence.my_domain.com',
@@ -40,7 +40,7 @@ module HybridPlatformsConductorTest
40
40
  # Nodes for which the property can't be fetched can be ommitted.
41
41
  def get_upcase(nodes, metadata)
42
42
  record_call(:get_upcase, nodes, metadata)
43
- Hash[nodes.map { |node| [node, node.upcase] }]
43
+ nodes.map { |node| [node, node.upcase] }.to_h
44
44
  end
45
45
 
46
46
  # Get a specific property for a given set of nodes.
@@ -55,7 +55,7 @@ module HybridPlatformsConductorTest
55
55
  # Nodes for which the property can't be fetched can be ommitted.
56
56
  def get_double(nodes, metadata)
57
57
  record_call(:get_double, nodes, metadata)
58
- Hash[nodes.map { |node| [node, node * 2] }]
58
+ nodes.map { |node| [node, node * 2] }.to_h
59
59
  end
60
60
 
61
61
  # Get a specific property for a given set of nodes.
@@ -70,7 +70,7 @@ module HybridPlatformsConductorTest
70
70
  # Nodes for which the property can't be fetched can be ommitted.
71
71
  def get_reversed_double(nodes, metadata)
72
72
  record_call(:get_reversed_double, nodes, metadata)
73
- Hash[nodes.map { |node| [node, metadata[node][:double].reverse] }]
73
+ nodes.map { |node| [node, metadata[node][:double].reverse] }.to_h
74
74
  end
75
75
 
76
76
  # Get a specific property for a given set of nodes.
@@ -85,7 +85,7 @@ module HybridPlatformsConductorTest
85
85
  # Nodes for which the property can't be fetched can be ommitted.
86
86
  def get_reversed_downcase(nodes, metadata)
87
87
  record_call(:get_reversed_downcase, nodes, metadata)
88
- Hash[nodes.map { |node| [node, metadata[node][:downcase] ? metadata[node][:downcase].reverse : 'UNKNOWN'] }]
88
+ nodes.map { |node| [node, metadata[node][:downcase] ? metadata[node][:downcase].reverse : 'UNKNOWN'] }.to_h
89
89
  end
90
90
 
91
91
  # Get a specific property for a given set of nodes.
@@ -115,7 +115,7 @@ module HybridPlatformsConductorTest
115
115
  # Nodes for which the property can't be fetched can be ommitted.
116
116
  def get_same_comment(nodes, metadata)
117
117
  record_call(:get_same_comment, nodes, metadata)
118
- Hash[nodes.map { |node| [node, "Comment for #{node}"] }]
118
+ nodes.map { |node| [node, "Comment for #{node}"] }.to_h
119
119
  end
120
120
 
121
121
  # Get a specific property for a given set of nodes.
@@ -130,7 +130,7 @@ module HybridPlatformsConductorTest
130
130
  # Nodes for which the property can't be fetched can be ommitted.
131
131
  def get_different_comment(nodes, metadata)
132
132
  record_call(:get_different_comment, nodes, metadata)
133
- Hash[nodes.map { |node| [node, 'Comment from test_cmdb'] }]
133
+ nodes.map { |node| [node, 'Comment from test_cmdb'] }.to_h
134
134
  end
135
135
 
136
136
  # Get a specific property for a given set of nodes.
@@ -143,9 +143,9 @@ module HybridPlatformsConductorTest
143
143
  # Result::
144
144
  # * Hash<String, Object>: The corresponding property, per required node.
145
145
  # Nodes for which the property can't be fetched can be ommitted.
146
- def get_different_comment2(nodes, metadata)
147
- record_call(:get_different_comment2, nodes, metadata)
148
- Hash[nodes.map { |node| [node, 'Comment2 from test_cmdb'] }]
146
+ def get_different_comment_2(nodes, metadata)
147
+ record_call(:get_different_comment_2, nodes, metadata)
148
+ nodes.map { |node| [node, 'Comment2 from test_cmdb'] }.to_h
149
149
  end
150
150
 
151
151
  # Register a call to be checked by the tests later
@@ -27,7 +27,7 @@ module HybridPlatformsConductorTest
27
27
  def get_nothing(nodes, metadata)
28
28
  record_call(:get_nothing, nodes, metadata)
29
29
  # Here we return something to test that if the first one fails we have the second CMDB
30
- Hash[nodes.map { |node| [node, "#{node} has nothing"] }]
30
+ nodes.map { |node| [node, "#{node} has nothing"] }.to_h
31
31
  end
32
32
 
33
33
  # Get a specific property for a given set of nodes.
@@ -42,7 +42,7 @@ module HybridPlatformsConductorTest
42
42
  # Nodes for which the property can't be fetched can be ommitted.
43
43
  def get_same_comment(nodes, metadata)
44
44
  record_call(:get_same_comment, nodes, metadata)
45
- Hash[nodes.map { |node| [node, "Comment for #{node}"] }]
45
+ nodes.map { |node| [node, "Comment for #{node}"] }.to_h
46
46
  end
47
47
 
48
48
  # Get a specific property for a given set of nodes.
@@ -57,7 +57,7 @@ module HybridPlatformsConductorTest
57
57
  # Nodes for which the property can't be fetched can be ommitted.
58
58
  def get_different_comment(nodes, metadata)
59
59
  record_call(:get_different_comment, nodes, metadata)
60
- Hash[nodes.map { |node| [node, 'Comment from test_cmdb2'] }]
60
+ nodes.map { |node| [node, 'Comment from test_cmdb_2'] }.to_h
61
61
  end
62
62
 
63
63
  # Get a specific property for a given set of nodes.
@@ -70,9 +70,9 @@ module HybridPlatformsConductorTest
70
70
  # Result::
71
71
  # * Hash<String, Object>: The corresponding property, per required node.
72
72
  # Nodes for which the property can't be fetched can be ommitted.
73
- def get_different_comment2(nodes, metadata)
74
- record_call(:get_different_comment2, nodes, metadata)
75
- Hash[nodes.map { |node| [node, 'Comment2 from test_cmdb2'] }]
73
+ def get_different_comment_2(nodes, metadata)
74
+ record_call(:get_different_comment_2, nodes, metadata)
75
+ nodes.map { |node| [node, 'Comment2 from test_cmdb_2'] }.to_h
76
76
  end
77
77
 
78
78
  # Register a call to be checked by the tests later
@@ -30,16 +30,16 @@ module HybridPlatformsConductorTest
30
30
  # Nodes for which the property can't be fetched can be ommitted.
31
31
  def get_others(nodes, metadata)
32
32
  record_call(:get_others, nodes, metadata)
33
- Hash[nodes.map do |node|
33
+ nodes.map do |node|
34
34
  [
35
35
  node,
36
36
  {
37
37
  downcase: "_#{node}_",
38
- last_3: node[-3..-1],
38
+ last_3: node[-3..],
39
39
  nothing: "#{node} has another nothing"
40
40
  }
41
41
  ]
42
- end]
42
+ end.to_h
43
43
  end
44
44
 
45
45
  # Register a call to be checked by the tests later
@@ -30,14 +30,14 @@ module HybridPlatformsConductorTest
30
30
  # Nodes for which the property can't be fetched can be ommitted.
31
31
  def get_others(nodes, metadata)
32
32
  record_call(:get_others, nodes, metadata)
33
- Hash[nodes.map do |node|
33
+ nodes.map do |node|
34
34
  [
35
35
  node,
36
36
  {
37
37
  downcase: "__#{node}__"
38
38
  }
39
39
  ]
40
- end]
40
+ end.to_h
41
41
  end
42
42
 
43
43
  # Register a call to be checked by the tests later