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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +36 -0
- data/README.md +6 -3
- data/bin/check-node +0 -1
- data/bin/deploy +0 -1
- data/bin/get_impacted_nodes +0 -1
- data/bin/last_deploys +12 -8
- data/bin/nodes_to_deploy +6 -6
- data/bin/setup +6 -6
- data/bin/topograph +1 -1
- data/docs/config_dsl.md +45 -1
- data/docs/executables.md +6 -7
- data/docs/executables/check-node.md +3 -3
- data/docs/executables/deploy.md +3 -3
- data/docs/executables/dump_nodes_json.md +3 -3
- data/docs/executables/test.md +3 -3
- data/docs/executables/topograph.md +3 -3
- data/docs/gen/mermaid/README.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/check-node.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/deploy.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/free_ips.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/last_deploys.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/report.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/run.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/ssh_config.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/test.md-0.png +0 -0
- data/docs/plugins.md +46 -0
- data/docs/plugins/connector/ssh.md +1 -1
- data/docs/plugins/log/remote_fs.md +26 -0
- data/docs/plugins/secrets_reader/cli.md +31 -0
- data/docs/plugins/secrets_reader/thycotic.md +46 -0
- data/docs/plugins/test/check_deploy_and_idempotence.md +1 -1
- data/docs/plugins/test/connection.md +1 -0
- data/docs/plugins/test/deploy_removes_root_access.md +1 -1
- data/docs/plugins/test/file_system.md +1 -0
- data/docs/plugins/test/hostname.md +1 -0
- data/docs/plugins/test/ip.md +1 -0
- data/docs/plugins/test/local_users.md +1 -0
- data/docs/plugins/test/mounts.md +1 -0
- data/docs/plugins/test/orphan_files.md +1 -0
- data/docs/plugins/test/ports.md +1 -0
- data/docs/plugins/test/spectre.md +1 -0
- data/docs/plugins/test/vulnerabilities.md +1 -0
- data/lib/hybrid_platforms_conductor/action.rb +4 -4
- data/lib/hybrid_platforms_conductor/actions_executor.rb +45 -43
- data/lib/hybrid_platforms_conductor/bitbucket.rb +5 -4
- data/lib/hybrid_platforms_conductor/cmd_runner.rb +13 -12
- data/lib/hybrid_platforms_conductor/cmdb.rb +2 -2
- data/lib/hybrid_platforms_conductor/common_config_dsl/bitbucket.rb +2 -1
- data/lib/hybrid_platforms_conductor/common_config_dsl/confluence.rb +2 -1
- data/lib/hybrid_platforms_conductor/common_config_dsl/file_system_tests.rb +5 -4
- data/lib/hybrid_platforms_conductor/common_config_dsl/github.rb +4 -3
- data/lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb +2 -2
- data/lib/hybrid_platforms_conductor/config.rb +8 -4
- data/lib/hybrid_platforms_conductor/confluence.rb +1 -1
- data/lib/hybrid_platforms_conductor/connector.rb +5 -2
- data/lib/hybrid_platforms_conductor/core_extensions/cleanroom/fix_kwargs.rb +116 -0
- data/lib/hybrid_platforms_conductor/core_extensions/symbol/zero.rb +24 -0
- data/lib/hybrid_platforms_conductor/credentials.rb +39 -36
- data/lib/hybrid_platforms_conductor/current_dir_monitor.rb +4 -1
- data/lib/hybrid_platforms_conductor/deployer.rb +275 -224
- data/lib/hybrid_platforms_conductor/executable.rb +20 -15
- data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/config.rb +10 -7
- data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/host_ip.rb +1 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/host_keys.rb +2 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/platform_handlers.rb +4 -4
- data/lib/hybrid_platforms_conductor/hpc_plugins/connector/local.rb +2 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/connector/ssh.rb +45 -49
- data/lib/hybrid_platforms_conductor/hpc_plugins/log/my_log_plugin.rb.sample +100 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/log/remote_fs.rb +180 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef.rb +68 -66
- data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef/dsl_parser.rb +13 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef/recipes_tree_builder.rb +39 -38
- data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/yaml_inventory.rb +5 -4
- data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/docker.rb +43 -45
- data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/podman.rb +18 -20
- data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox.rb +118 -117
- data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox/proxmox_waiter.rb +39 -43
- data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox/reserve_proxmox_container +9 -13
- data/lib/hybrid_platforms_conductor/hpc_plugins/report/confluence.rb +2 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/report/mediawiki.rb +28 -21
- data/lib/hybrid_platforms_conductor/hpc_plugins/report/stdout.rb +26 -22
- data/lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/cli.rb +77 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample +46 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/thycotic.rb +90 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/bitbucket_conf.rb +3 -3
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/check_deploy_and_idempotence.rb +4 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/connection.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_freshness.rb +7 -21
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_removes_root_access.rb +21 -19
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/divergence.rb +2 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/executables.rb +2 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/file_system.rb +21 -22
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/file_system_hdfs.rb +19 -21
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb +2 -3
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/hostname.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/idempotence.rb +2 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/ip.rb +4 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/jenkins_ci_conf.rb +21 -22
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/jenkins_ci_masters_ok.rb +10 -12
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/linear_strategy.rb +9 -9
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/local_users.rb +5 -3
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/mounts.rb +5 -3
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/orphan_files.rb +13 -10
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/ports.rb +5 -3
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/private_ips.rb +5 -5
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/public_ips.rb +5 -5
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/spectre.rb +7 -7
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/veids.rb +3 -3
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/vulnerabilities.rb +27 -25
- data/lib/hybrid_platforms_conductor/hpc_plugins/test_report/confluence.rb +2 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/test_report/stdout.rb +8 -6
- data/lib/hybrid_platforms_conductor/io_router.rb +14 -13
- data/lib/hybrid_platforms_conductor/json_dumper.rb +2 -2
- data/lib/hybrid_platforms_conductor/log.rb +31 -0
- data/lib/hybrid_platforms_conductor/logger_helpers.rb +19 -16
- data/lib/hybrid_platforms_conductor/nodes_handler.rb +89 -71
- data/lib/hybrid_platforms_conductor/parallel_threads.rb +7 -11
- data/lib/hybrid_platforms_conductor/platform_handler.rb +7 -7
- data/lib/hybrid_platforms_conductor/platforms_handler.rb +5 -3
- data/lib/hybrid_platforms_conductor/plugin.rb +2 -2
- data/lib/hybrid_platforms_conductor/plugins.rb +14 -8
- data/lib/hybrid_platforms_conductor/provisioner.rb +4 -4
- data/lib/hybrid_platforms_conductor/report.rb +2 -2
- data/lib/hybrid_platforms_conductor/reports_handler.rb +3 -2
- data/lib/hybrid_platforms_conductor/secrets_reader.rb +31 -0
- data/lib/hybrid_platforms_conductor/services_handler.rb +32 -29
- data/lib/hybrid_platforms_conductor/test_only_remote_node.rb +18 -0
- data/lib/hybrid_platforms_conductor/test_report.rb +15 -18
- data/lib/hybrid_platforms_conductor/tests_runner.rb +116 -118
- data/lib/hybrid_platforms_conductor/thycotic.rb +28 -19
- data/lib/hybrid_platforms_conductor/topographer.rb +200 -190
- data/lib/hybrid_platforms_conductor/topographer/plugins/graphviz.rb +8 -8
- data/lib/hybrid_platforms_conductor/topographer/plugins/json.rb +4 -4
- data/lib/hybrid_platforms_conductor/version.rb +1 -1
- data/spec/hybrid_platforms_conductor_test.rb +33 -12
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/bash_spec.rb +18 -11
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/interactive_spec.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/remote_bash_spec.rb +32 -21
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/ruby_spec.rb +75 -49
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/scp_spec.rb +27 -15
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions_spec.rb +90 -59
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connection_spec.rb +46 -44
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/connectable_nodes_spec.rb +12 -8
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/local/remote_actions_spec.rb +4 -7
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/cli_options_spec.rb +21 -22
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/config_dsl_spec.rb +23 -24
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/connectable_nodes_spec.rb +10 -6
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/connections_spec.rb +106 -75
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/global_helpers_spec.rb +145 -126
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/node_helpers_spec.rb +3 -3
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/remote_actions_spec.rb +29 -25
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/logging_spec.rb +167 -142
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/parallel_spec.rb +272 -244
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/timeout_spec.rb +16 -16
- data/spec/hybrid_platforms_conductor_test/api/cmd_runner_spec.rb +36 -36
- data/spec/hybrid_platforms_conductor_test/api/config_spec.rb +24 -22
- data/spec/hybrid_platforms_conductor_test/api/deployer/check_spec.rb +4 -2
- data/spec/hybrid_platforms_conductor_test/api/deployer/config_dsl_spec.rb +43 -5
- data/spec/hybrid_platforms_conductor_test/api/deployer/deploy_spec.rb +199 -216
- data/spec/hybrid_platforms_conductor_test/api/deployer/log_plugins/remote_fs_spec.rb +223 -0
- data/spec/hybrid_platforms_conductor_test/api/deployer/parse_deploy_output_spec.rb +55 -59
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioner_spec.rb +36 -62
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/podman_spec.rb +17 -17
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/config_dsl_spec.rb +4 -4
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/create_spec.rb +44 -51
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/destroy_spec.rb +3 -3
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/ip_spec.rb +12 -16
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/destroy_vm_spec.rb +31 -19
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/expired_containers_spec.rb +324 -266
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/ips_assignment_spec.rb +89 -61
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/other_lxc_containers_resources_spec.rb +117 -93
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/pve_node_resources_spec.rb +71 -54
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb +10 -8
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/vm_ids_assignment_spec.rb +80 -60
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/start_spec.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/state_spec.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/stop_spec.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/api/deployer/secrets_reader_plugins/cli_spec.rb +64 -0
- data/spec/hybrid_platforms_conductor_test/api/deployer/secrets_reader_plugins/thycotic_spec.rb +268 -0
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/config_spec.rb +8 -10
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/host_ip_spec.rb +33 -24
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/host_keys_spec.rb +64 -51
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/platform_handlers_spec.rb +3 -3
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs_plugins_api_spec.rb +50 -51
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/common_spec.rb +91 -81
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/config_dsl_spec.rb +14 -16
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/git_diff_impacts_spec.rb +51 -75
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/nodes_selectors_spec.rb +35 -26
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/platform_handlers_plugins_api_spec.rb +24 -16
- data/spec/hybrid_platforms_conductor_test/api/nodes_handler/several_platforms_spec.rb +29 -19
- data/spec/hybrid_platforms_conductor_test/api/platform_handler_spec.rb +4 -4
- data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/config_dsl_spec.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/deploy_output_parsing_spec.rb +6 -6
- data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/diff_impacts_spec.rb +57 -99
- data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/inventory_spec.rb +4 -4
- data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/packaging_spec.rb +32 -35
- data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/services_deployment_spec.rb +10 -10
- data/spec/hybrid_platforms_conductor_test/api/platforms_handler_spec.rb +38 -27
- data/spec/hybrid_platforms_conductor_test/api/plugins_spec.rb +46 -52
- data/spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/api/services_handler/actions_to_deploy_spec.rb +90 -58
- data/spec/hybrid_platforms_conductor_test/api/services_handler/deploy_allowed_spec.rb +38 -34
- data/spec/hybrid_platforms_conductor_test/api/services_handler/log_info_spec.rb +11 -9
- data/spec/hybrid_platforms_conductor_test/api/services_handler/package_spec.rb +193 -171
- data/spec/hybrid_platforms_conductor_test/api/services_handler/parse_deploy_output_spec.rb +66 -54
- data/spec/hybrid_platforms_conductor_test/api/services_handler/prepare_for_deploy_spec.rb +147 -133
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/common_spec.rb +69 -49
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/global_spec.rb +5 -4
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_check_spec.rb +8 -5
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_spec.rb +8 -5
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_ssh_spec.rb +30 -27
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/platform_spec.rb +12 -9
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/reports_spec.rb +48 -47
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_plugins/bitbucket_conf_spec.rb +5 -5
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_plugins/github_ci_spec.rb +5 -5
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_reports_plugins/confluence_spec.rb +5 -5
- data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb.rb +9 -9
- data/spec/hybrid_platforms_conductor_test/cmdb_plugins/{test_cmdb2.rb → test_cmdb_2.rb} +6 -6
- data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb_others.rb +3 -3
- data/spec/hybrid_platforms_conductor_test/cmdb_plugins/{test_cmdb_others2.rb → test_cmdb_others_2.rb} +2 -2
- data/spec/hybrid_platforms_conductor_test/docs_spec.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/executables/{check-node_spec.rb → check_node_spec.rb} +4 -6
- data/spec/hybrid_platforms_conductor_test/executables/deploy_spec.rb +4 -6
- data/spec/hybrid_platforms_conductor_test/executables/get_impacted_nodes_spec.rb +76 -77
- data/spec/hybrid_platforms_conductor_test/executables/last_deploys_spec.rb +159 -113
- data/spec/hybrid_platforms_conductor_test/executables/nodes_to_deploy_spec.rb +299 -160
- data/spec/hybrid_platforms_conductor_test/executables/options/actions_executor_spec.rb +4 -6
- data/spec/hybrid_platforms_conductor_test/executables/options/cmd_runner_spec.rb +3 -5
- data/spec/hybrid_platforms_conductor_test/executables/options/common_spec.rb +8 -8
- data/spec/hybrid_platforms_conductor_test/executables/options/deployer_spec.rb +12 -196
- data/spec/hybrid_platforms_conductor_test/executables/options/nodes_handler_spec.rb +9 -10
- data/spec/hybrid_platforms_conductor_test/executables/options/nodes_selectors_spec.rb +9 -10
- data/spec/hybrid_platforms_conductor_test/executables/options/reports_handler_spec.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/executables/options/tests_runner_spec.rb +22 -22
- data/spec/hybrid_platforms_conductor_test/executables/report_spec.rb +22 -16
- data/spec/hybrid_platforms_conductor_test/executables/run_spec.rb +32 -32
- data/spec/hybrid_platforms_conductor_test/executables/ssh_config_spec.rb +7 -9
- data/spec/hybrid_platforms_conductor_test/executables/test_spec.rb +3 -5
- data/spec/hybrid_platforms_conductor_test/helpers/actions_executor_helpers.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/helpers/cmd_runner_helpers.rb +4 -3
- data/spec/hybrid_platforms_conductor_test/helpers/cmdb_helpers.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/helpers/config_helpers.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/helpers/connector_ssh_helpers.rb +12 -13
- data/spec/hybrid_platforms_conductor_test/helpers/deployer_helpers.rb +245 -56
- data/spec/hybrid_platforms_conductor_test/helpers/executables_helpers.rb +11 -11
- data/spec/hybrid_platforms_conductor_test/helpers/nodes_handler_helpers.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/helpers/platforms_handler_helpers.rb +39 -28
- data/spec/hybrid_platforms_conductor_test/helpers/plugins_helpers.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/helpers/provisioner_proxmox_helpers.rb +86 -111
- data/spec/hybrid_platforms_conductor_test/helpers/reports_handler_helpers.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/helpers/serverless_chef_helpers.rb +3 -3
- data/spec/hybrid_platforms_conductor_test/helpers/services_handler_helpers.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/helpers/tests_runner_helpers.rb +1 -1
- 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
- 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
- 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
- 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
- data/spec/hybrid_platforms_conductor_test/platform_handler_plugins/test.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/platform_handler_plugins/{test2.rb → test_2.rb} +0 -0
- data/spec/hybrid_platforms_conductor_test/rubocop_spec.rb +31 -0
- data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/1_node/nodes/node.json +3 -3
- data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/data_bags/nodes/node.json +3 -3
- data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/recipes/cookbooks/test_cookbook_2/libraries/default.rb +1 -0
- data/spec/hybrid_platforms_conductor_test/serverless_chef_repositories/several_cookbooks/other_cookbooks/test_cookbook_2/libraries/default.rb +1 -0
- data/spec/hybrid_platforms_conductor_test/shared_examples/deployer.rb +952 -0
- data/spec/hybrid_platforms_conductor_test/test_connector.rb +3 -3
- data/spec/hybrid_platforms_conductor_test/test_log_no_read_plugin.rb +84 -0
- data/spec/hybrid_platforms_conductor_test/test_log_plugin.rb +105 -0
- data/spec/hybrid_platforms_conductor_test/test_plugins/global.rb +1 -0
- data/spec/hybrid_platforms_conductor_test/test_plugins/node.rb +1 -0
- data/spec/hybrid_platforms_conductor_test/test_plugins/node_check.rb +1 -0
- data/spec/hybrid_platforms_conductor_test/test_plugins/platform.rb +1 -0
- data/spec/hybrid_platforms_conductor_test/test_plugins/several_checks.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/test_secrets_reader_plugin.rb +45 -0
- data/spec/hybrid_platforms_conductor_test/tests_report_plugin.rb +5 -6
- data/spec/spec_helper.rb +17 -18
- data/tools/check_md +16 -20
- data/tools/generate_mermaid +1 -1
- metadata +195 -144
- 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
|
-
|
|
12
|
-
|
|
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(
|
|
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 = [
|
|
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 = [
|
|
46
|
-
HybridPlatformsConductorTest::TestPlugins::Platform.only_on_platform_types = %i[
|
|
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 = [
|
|
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 = [
|
|
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
|
-
|
|
12
|
-
|
|
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(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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
|
-
|
|
233
|
+
node_suffixes.map do |node_suffix|
|
|
233
234
|
[
|
|
234
235
|
"node#{node_suffix}",
|
|
235
236
|
[
|
|
236
237
|
0,
|
|
237
|
-
<<~
|
|
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
|
-
|
|
242
|
-
<<~
|
|
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
|
-
|
|
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 = [
|
|
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
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
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(
|
|
349
|
-
|
|
350
|
-
|
|
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[
|
|
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
|
data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_plugins/bitbucket_conf_spec.rb
CHANGED
|
@@ -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 '
|
|
5
|
+
context 'with bitbucket_conf' do
|
|
6
6
|
|
|
7
7
|
it 'iterates over defined Bitbucket repos' do
|
|
8
|
-
with_repository do
|
|
9
|
-
platforms = <<~
|
|
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
|
-
|
|
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 '
|
|
5
|
+
context 'with github_ci' do
|
|
6
6
|
|
|
7
7
|
it 'iterates over defined Github repos' do
|
|
8
|
-
with_repository do
|
|
9
|
-
platforms = <<~
|
|
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
|
-
|
|
25
|
+
EO_CONFIG
|
|
26
26
|
with_platforms platforms do
|
|
27
27
|
repos = []
|
|
28
28
|
test_config.for_each_github_repo do |github, repo_info|
|
data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_reports_plugins/confluence_spec.rb
CHANGED
|
@@ -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 '
|
|
5
|
+
context 'with confluence' do
|
|
6
6
|
|
|
7
7
|
it 'returns Confluence info' do
|
|
8
|
-
with_repository do
|
|
9
|
-
platforms = <<~
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
147
|
-
record_call(:
|
|
148
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
74
|
-
record_call(:
|
|
75
|
-
|
|
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
|
-
|
|
33
|
+
nodes.map do |node|
|
|
34
34
|
[
|
|
35
35
|
node,
|
|
36
36
|
{
|
|
37
37
|
downcase: "_#{node}_",
|
|
38
|
-
last_3: node[-3
|
|
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
|
-
|
|
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
|