puppet 6.0.7-universal-darwin → 6.0.8-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/Gemfile.lock +4 -8
- data/lib/puppet/application/device.rb +99 -83
- data/lib/puppet/application/filebucket.rb +4 -0
- data/lib/puppet/configurer.rb +5 -4
- data/lib/puppet/defaults.rb +31 -11
- data/lib/puppet/indirector/request.rb +26 -15
- data/lib/puppet/network/http/connection.rb +15 -7
- data/lib/puppet/transaction/event_manager.rb +1 -5
- data/lib/puppet/type/file/source.rb +0 -1
- data/lib/puppet/util/connection.rb +15 -6
- data/lib/puppet/util/http_proxy.rb +3 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +99 -40
- data/man/man5/puppet.conf.5 +8 -8
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/agent/logging_spec.rb +5 -7
- data/spec/integration/application/apply_spec.rb +18 -16
- data/spec/integration/application/doc_spec.rb +1 -2
- data/spec/integration/application/lookup_spec.rb +5 -5
- data/spec/integration/configurer_spec.rb +5 -6
- data/spec/integration/defaults_spec.rb +5 -6
- data/spec/integration/directory_environments_spec.rb +1 -1
- data/spec/integration/faces/config_spec.rb +3 -4
- data/spec/integration/faces/documentation_spec.rb +0 -1
- data/spec/integration/faces/plugin_spec.rb +1 -1
- data/spec/integration/file_bucket/file_spec.rb +2 -4
- data/spec/integration/file_serving/content_spec.rb +0 -1
- data/spec/integration/file_serving/fileset_spec.rb +0 -1
- data/spec/integration/file_serving/metadata_spec.rb +0 -1
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
- data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +4 -5
- data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
- data/spec/integration/network/authconfig_spec.rb +23 -24
- data/spec/integration/network/formats_spec.rb +0 -1
- data/spec/integration/node/environment_spec.rb +0 -1
- data/spec/integration/node/facts_spec.rb +9 -10
- data/spec/integration/node_spec.rb +6 -7
- data/spec/integration/parser/catalog_spec.rb +1 -5
- data/spec/integration/parser/collection_spec.rb +1 -2
- data/spec/integration/parser/compiler_spec.rb +6 -6
- data/spec/integration/parser/scope_spec.rb +1 -1
- data/spec/integration/parser/undef_param_spec.rb +1 -1
- data/spec/integration/provider/service/init_spec.rb +4 -5
- data/spec/integration/provider/service/systemd_spec.rb +0 -2
- data/spec/integration/provider/service/windows_spec.rb +1 -2
- data/spec/integration/reference/providers_spec.rb +1 -2
- data/spec/integration/reports_spec.rb +1 -2
- data/spec/integration/resource/catalog_spec.rb +14 -17
- data/spec/integration/resource/type_collection_spec.rb +4 -5
- data/spec/integration/ssl/certificate_request_spec.rb +0 -1
- data/spec/integration/ssl/host_spec.rb +1 -2
- data/spec/integration/ssl/key_spec.rb +0 -1
- data/spec/integration/test/test_helper_spec.rb +0 -1
- data/spec/integration/transaction/report_spec.rb +6 -11
- data/spec/integration/transaction_spec.rb +18 -19
- data/spec/integration/type/exec_spec.rb +0 -1
- data/spec/integration/type/file_spec.rb +13 -14
- data/spec/integration/type/package_spec.rb +19 -23
- data/spec/integration/type/tidy_spec.rb +1 -2
- data/spec/integration/type_spec.rb +0 -1
- data/spec/integration/util/autoload_spec.rb +1 -2
- data/spec/integration/util/rdoc/parser_spec.rb +0 -1
- data/spec/integration/util/settings_spec.rb +0 -1
- data/spec/integration/util/windows/adsi_spec.rb +3 -5
- data/spec/integration/util/windows/principal_spec.rb +0 -1
- data/spec/integration/util/windows/process_spec.rb +4 -6
- data/spec/integration/util/windows/registry_spec.rb +41 -51
- data/spec/integration/util/windows/security_spec.rb +2 -4
- data/spec/integration/util/windows/user_spec.rb +18 -20
- data/spec/integration/util_spec.rb +4 -7
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +0 -1
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +1 -2
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/file_server_terminus.rb +8 -9
- data/spec/shared_behaviours/file_serving.rb +6 -8
- data/spec/shared_behaviours/file_serving_model.rb +3 -5
- data/spec/shared_behaviours/hiera_indirections.rb +3 -4
- data/spec/shared_behaviours/iterative_functions.rb +0 -1
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_examples/rhel_package_provider.rb +112 -70
- data/spec/spec_helper.rb +10 -1
- data/spec/unit/agent/disabler_spec.rb +4 -5
- data/spec/unit/agent/locker_spec.rb +12 -13
- data/spec/unit/agent_spec.rb +80 -85
- data/spec/unit/application/agent_spec.rb +88 -93
- data/spec/unit/application/apply_spec.rb +82 -83
- data/spec/unit/application/config_spec.rb +0 -1
- data/spec/unit/application/describe_spec.rb +6 -7
- data/spec/unit/application/device_spec.rb +395 -419
- data/spec/unit/application/doc_spec.rb +44 -46
- data/spec/unit/application/face_base_spec.rb +61 -62
- data/spec/unit/application/facts_spec.rb +3 -4
- data/spec/unit/application/filebucket_spec.rb +66 -74
- data/spec/unit/application/indirection_base_spec.rb +8 -6
- data/spec/unit/application/lookup_spec.rb +26 -26
- data/spec/unit/application/resource_spec.rb +42 -48
- data/spec/unit/application/ssl_spec.rb +3 -3
- data/spec/unit/application_spec.rb +82 -92
- data/spec/unit/capability_spec.rb +6 -6
- data/spec/unit/certificate_factory_spec.rb +3 -5
- data/spec/unit/configurer/downloader_spec.rb +20 -21
- data/spec/unit/configurer/fact_handler_spec.rb +2 -3
- data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
- data/spec/unit/configurer_spec.rb +189 -192
- data/spec/unit/confine/exists_spec.rb +17 -15
- data/spec/unit/confine/false_spec.rb +5 -6
- data/spec/unit/confine/feature_spec.rb +7 -5
- data/spec/unit/confine/true_spec.rb +5 -6
- data/spec/unit/confine/variable_spec.rb +14 -15
- data/spec/unit/confine_collection_spec.rb +28 -29
- data/spec/unit/confine_spec.rb +13 -14
- data/spec/unit/confiner_spec.rb +10 -11
- data/spec/unit/context/trusted_information_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +35 -36
- data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
- data/spec/unit/datatypes_spec.rb +3 -4
- data/spec/unit/defaults_spec.rb +18 -13
- data/spec/unit/environments_spec.rb +7 -7
- data/spec/unit/etc_spec.rb +30 -32
- data/spec/unit/external/pson_spec.rb +0 -1
- data/spec/unit/face/catalog_spec.rb +0 -1
- data/spec/unit/face/config_spec.rb +31 -35
- data/spec/unit/face/epp_face_spec.rb +3 -4
- data/spec/unit/face/facts_spec.rb +5 -6
- data/spec/unit/face/generate_spec.rb +4 -5
- data/spec/unit/face/help_spec.rb +7 -8
- data/spec/unit/face/key_spec.rb +0 -1
- data/spec/unit/face/man_spec.rb +1 -2
- data/spec/unit/face/module/install_spec.rb +3 -5
- data/spec/unit/face/module/list_spec.rb +2 -12
- data/spec/unit/face/module/search_spec.rb +11 -9
- data/spec/unit/face/module/uninstall_spec.rb +4 -8
- data/spec/unit/face/node_spec.rb +23 -24
- data/spec/unit/face/parser_spec.rb +3 -3
- data/spec/unit/face/plugin_spec.rb +36 -9
- data/spec/unit/face/status_spec.rb +0 -1
- data/spec/unit/file_bucket/dipper_spec.rb +24 -20
- data/spec/unit/file_bucket/file_spec.rb +0 -2
- data/spec/unit/file_serving/base_spec.rb +14 -15
- data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
- data/spec/unit/file_serving/configuration_spec.rb +63 -66
- data/spec/unit/file_serving/content_spec.rb +10 -11
- data/spec/unit/file_serving/fileset_spec.rb +63 -58
- data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
- data/spec/unit/file_serving/metadata_spec.rb +36 -36
- data/spec/unit/file_serving/mount/file_spec.rb +31 -32
- data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
- data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
- data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
- data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
- data/spec/unit/file_serving/mount_spec.rb +0 -1
- data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
- data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
- data/spec/unit/file_system/uniquefile_spec.rb +4 -4
- data/spec/unit/file_system_spec.rb +2 -2
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/forge_spec.rb +13 -14
- data/spec/unit/forge/module_release_spec.rb +18 -18
- data/spec/unit/forge/repository_spec.rb +29 -30
- data/spec/unit/forge_spec.rb +15 -11
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/contain_spec.rb +0 -2
- data/spec/unit/functions/defined_spec.rb +0 -1
- data/spec/unit/functions/epp_spec.rb +2 -2
- data/spec/unit/functions/find_file_spec.rb +7 -7
- data/spec/unit/functions/include_spec.rb +0 -4
- data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +1 -2
- data/spec/unit/functions/module_directory_spec.rb +12 -12
- data/spec/unit/functions/require_spec.rb +0 -3
- data/spec/unit/functions/shared.rb +5 -8
- data/spec/unit/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/functions4_spec.rb +9 -10
- data/spec/unit/gettext/config_spec.rb +4 -4
- data/spec/unit/gettext/module_loading_spec.rb +7 -7
- data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
- data/spec/unit/graph/relationship_graph_spec.rb +1 -2
- data/spec/unit/graph/simple_graph_spec.rb +9 -10
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
- data/spec/unit/indirector/catalog/json_spec.rb +1 -2
- data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
- data/spec/unit/indirector/certificate/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
- data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
- data/spec/unit/indirector/envelope_spec.rb +1 -2
- data/spec/unit/indirector/exec_spec.rb +4 -5
- data/spec/unit/indirector/face_spec.rb +9 -9
- data/spec/unit/indirector/facts/facter_spec.rb +37 -43
- data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
- data/spec/unit/indirector/facts/rest_spec.rb +7 -8
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_content/file_spec.rb +0 -1
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_server_spec.rb +87 -87
- data/spec/unit/indirector/indirection_spec.rb +242 -226
- data/spec/unit/indirector/json_spec.rb +7 -9
- data/spec/unit/indirector/key/file_spec.rb +21 -22
- data/spec/unit/indirector/memory_spec.rb +6 -7
- data/spec/unit/indirector/msgpack_spec.rb +7 -9
- data/spec/unit/indirector/node/exec_spec.rb +2 -3
- data/spec/unit/indirector/node/memory_spec.rb +2 -4
- data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/node/plain_spec.rb +2 -4
- data/spec/unit/indirector/node/rest_spec.rb +0 -1
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/node/yaml_spec.rb +0 -1
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +7 -8
- data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/report/processor_spec.rb +21 -22
- data/spec/unit/indirector/report/rest_spec.rb +11 -12
- data/spec/unit/indirector/report/yaml_spec.rb +0 -1
- data/spec/unit/indirector/request_spec.rb +11 -12
- data/spec/unit/indirector/resource/ral_spec.rb +46 -54
- data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/rest_spec.rb +113 -110
- data/spec/unit/indirector/ssl_file_spec.rb +64 -65
- data/spec/unit/indirector/status/local_spec.rb +0 -1
- data/spec/unit/indirector/status/rest_spec.rb +0 -1
- data/spec/unit/indirector/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/terminus_spec.rb +27 -27
- data/spec/unit/indirector/yaml_spec.rb +5 -6
- data/spec/unit/indirector_spec.rb +1 -2
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/interface/action_builder_spec.rb +0 -1
- data/spec/unit/interface/action_manager_spec.rb +0 -1
- data/spec/unit/interface/action_spec.rb +2 -3
- data/spec/unit/interface/documentation_spec.rb +0 -1
- data/spec/unit/interface/face_collection_spec.rb +19 -12
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/man_spec.rb +3 -4
- data/spec/unit/module_spec.rb +46 -51
- data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
- data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
- data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
- data/spec/unit/module_tool/install_directory_spec.rb +8 -8
- data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
- data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
- data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
- data/spec/unit/module_tool/tar_spec.rb +12 -13
- data/spec/unit/module_tool_spec.rb +7 -12
- data/spec/unit/network/auth_config_parser_spec.rb +11 -13
- data/spec/unit/network/authconfig_spec.rb +17 -18
- data/spec/unit/network/authorization_spec.rb +4 -5
- data/spec/unit/network/authstore_spec.rb +0 -1
- data/spec/unit/network/format_handler_spec.rb +0 -1
- data/spec/unit/network/format_spec.rb +9 -10
- data/spec/unit/network/format_support_spec.rb +28 -29
- data/spec/unit/network/formats_spec.rb +4 -5
- data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
- data/spec/unit/network/http/api_spec.rb +0 -2
- data/spec/unit/network/http/compression_spec.rb +21 -22
- data/spec/unit/network/http/connection_spec.rb +41 -36
- data/spec/unit/network/http/factory_spec.rb +5 -6
- data/spec/unit/network/http/handler_spec.rb +9 -18
- data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
- data/spec/unit/network/http/pool_spec.rb +28 -29
- data/spec/unit/network/http/request_spec.rb +0 -2
- data/spec/unit/network/http/response_spec.rb +11 -13
- data/spec/unit/network/http/route_spec.rb +0 -1
- data/spec/unit/network/http/session_spec.rb +1 -2
- data/spec/unit/network/http/site_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +18 -9
- data/spec/unit/network/http_spec.rb +0 -1
- data/spec/unit/network/resolver_spec.rb +25 -26
- data/spec/unit/network/rights_spec.rb +52 -53
- data/spec/unit/node/environment_spec.rb +14 -15
- data/spec/unit/node/facts_spec.rb +5 -7
- data/spec/unit/node_spec.rb +4 -10
- data/spec/unit/other/selinux_spec.rb +0 -1
- data/spec/unit/parameter/boolean_spec.rb +1 -2
- data/spec/unit/parameter/package_options_spec.rb +1 -2
- data/spec/unit/parameter/path_spec.rb +0 -1
- data/spec/unit/parameter/value_collection_spec.rb +0 -1
- data/spec/unit/parameter/value_spec.rb +0 -1
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
- data/spec/unit/parser/ast/leaf_spec.rb +20 -21
- data/spec/unit/parser/compiler_spec.rb +84 -96
- data/spec/unit/parser/environment_compiler_spec.rb +7 -8
- data/spec/unit/parser/files_spec.rb +0 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/digest_spec.rb +0 -1
- data/spec/unit/parser/functions/fail_spec.rb +1 -2
- data/spec/unit/parser/functions/file_spec.rb +13 -14
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
- data/spec/unit/parser/functions/generate_spec.rb +7 -8
- data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
- data/spec/unit/parser/functions/scanf_spec.rb +0 -1
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
- data/spec/unit/parser/functions/split_spec.rb +0 -1
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
- data/spec/unit/parser/functions/tag_spec.rb +1 -2
- data/spec/unit/parser/functions/tagged_spec.rb +2 -3
- data/spec/unit/parser/functions/template_spec.rb +13 -13
- data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/parser/functions_spec.rb +6 -7
- data/spec/unit/parser/relationship_spec.rb +0 -1
- data/spec/unit/parser/resource_spec.rb +42 -42
- data/spec/unit/parser/scope_spec.rb +39 -35
- data/spec/unit/parser/templatewrapper_spec.rb +11 -12
- data/spec/unit/parser/type_loader_spec.rb +17 -19
- data/spec/unit/pops/adaptable_spec.rb +0 -1
- data/spec/unit/pops/benchmark_spec.rb +0 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
- data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
- data/spec/unit/pops/factory_spec.rb +3 -4
- data/spec/unit/pops/issues_spec.rb +19 -20
- data/spec/unit/pops/loaders/loader_spec.rb +8 -4
- data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
- data/spec/unit/pops/lookup/context_spec.rb +0 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
- data/spec/unit/pops/merge_strategy_spec.rb +0 -1
- data/spec/unit/pops/migration_spec.rb +3 -5
- data/spec/unit/pops/model/model_spec.rb +0 -1
- data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
- data/spec/unit/pops/parser/locator_spec.rb +3 -6
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
- data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
- data/spec/unit/pops/pn_spec.rb +0 -1
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
- data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
- data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
- data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
- data/spec/unit/pops/types/type_parser_spec.rb +13 -13
- data/spec/unit/pops/validator/validator_spec.rb +1 -2
- data/spec/unit/pops/visitor_spec.rb +0 -1
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +0 -1
- data/spec/unit/property/keyvalue_spec.rb +32 -34
- data/spec/unit/property/list_spec.rb +26 -27
- data/spec/unit/property/ordered_list_spec.rb +10 -14
- data/spec/unit/property_spec.rb +42 -43
- data/spec/unit/provider/aix_object_spec.rb +47 -45
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/exec/posix_spec.rb +6 -7
- data/spec/unit/provider/exec/shell_spec.rb +0 -1
- data/spec/unit/provider/exec/windows_spec.rb +2 -4
- data/spec/unit/provider/exec_spec.rb +0 -1
- data/spec/unit/provider/file/posix_spec.rb +22 -24
- data/spec/unit/provider/file/windows_spec.rb +15 -17
- data/spec/unit/provider/group/aix_spec.rb +3 -2
- data/spec/unit/provider/group/groupadd_spec.rb +30 -26
- data/spec/unit/provider/group/ldap_spec.rb +18 -18
- data/spec/unit/provider/group/pw_spec.rb +11 -11
- data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
- data/spec/unit/provider/ldap_spec.rb +61 -62
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
- data/spec/unit/provider/nameservice_spec.rb +38 -40
- data/spec/unit/provider/package/aix_spec.rb +15 -15
- data/spec/unit/provider/package/appdmg_spec.rb +13 -13
- data/spec/unit/provider/package/apt_spec.rb +44 -27
- data/spec/unit/provider/package/aptitude_spec.rb +6 -7
- data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
- data/spec/unit/provider/package/base_spec.rb +4 -4
- data/spec/unit/provider/package/dnf_spec.rb +18 -20
- data/spec/unit/provider/package/dpkg_spec.rb +52 -52
- data/spec/unit/provider/package/freebsd_spec.rb +11 -11
- data/spec/unit/provider/package/gem_spec.rb +51 -43
- data/spec/unit/provider/package/hpux_spec.rb +8 -8
- data/spec/unit/provider/package/macports_spec.rb +46 -42
- data/spec/unit/provider/package/nim_spec.rb +30 -39
- data/spec/unit/provider/package/openbsd_spec.rb +36 -39
- data/spec/unit/provider/package/opkg_spec.rb +23 -26
- data/spec/unit/provider/package/pacman_spec.rb +97 -118
- data/spec/unit/provider/package/pip_spec.rb +71 -72
- data/spec/unit/provider/package/pkg_spec.rb +109 -109
- data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
- data/spec/unit/provider/package/pkgin_spec.rb +10 -8
- data/spec/unit/provider/package/pkgng_spec.rb +17 -18
- data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
- data/spec/unit/provider/package/portage_spec.rb +70 -74
- data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
- data/spec/unit/provider/package/rpm_spec.rb +53 -64
- data/spec/unit/provider/package/sun_spec.rb +16 -18
- data/spec/unit/provider/package/tdnf_spec.rb +2 -2
- data/spec/unit/provider/package/up2date_spec.rb +2 -4
- data/spec/unit/provider/package/urpmi_spec.rb +15 -17
- data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
- data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
- data/spec/unit/provider/package/windows/package_spec.rb +37 -42
- data/spec/unit/provider/package/windows_spec.rb +36 -32
- data/spec/unit/provider/package/yum_spec.rb +7 -7
- data/spec/unit/provider/package/zypper_spec.rb +87 -87
- data/spec/unit/provider/parsedfile_spec.rb +44 -45
- data/spec/unit/provider/service/base_spec.rb +4 -5
- data/spec/unit/provider/service/bsd_spec.rb +27 -29
- data/spec/unit/provider/service/daemontools_spec.rb +35 -35
- data/spec/unit/provider/service/debian_spec.rb +38 -38
- data/spec/unit/provider/service/freebsd_spec.rb +18 -18
- data/spec/unit/provider/service/gentoo_spec.rb +50 -55
- data/spec/unit/provider/service/init_spec.rb +53 -52
- data/spec/unit/provider/service/launchd_spec.rb +138 -116
- data/spec/unit/provider/service/openbsd_spec.rb +50 -50
- data/spec/unit/provider/service/openrc_spec.rb +43 -45
- data/spec/unit/provider/service/openwrt_spec.rb +26 -31
- data/spec/unit/provider/service/rcng_spec.rb +14 -14
- data/spec/unit/provider/service/redhat_spec.rb +45 -43
- data/spec/unit/provider/service/runit_spec.rb +29 -27
- data/spec/unit/provider/service/smf_spec.rb +74 -66
- data/spec/unit/provider/service/src_spec.rb +46 -47
- data/spec/unit/provider/service/systemd_spec.rb +104 -113
- data/spec/unit/provider/service/upstart_spec.rb +74 -71
- data/spec/unit/provider/service/windows_spec.rb +33 -41
- data/spec/unit/provider/user/aix_spec.rb +31 -31
- data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
- data/spec/unit/provider/user/hpux_spec.rb +16 -16
- data/spec/unit/provider/user/ldap_spec.rb +57 -57
- data/spec/unit/provider/user/openbsd_spec.rb +10 -12
- data/spec/unit/provider/user/pw_spec.rb +37 -35
- data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
- data/spec/unit/provider/user/useradd_spec.rb +93 -92
- data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
- data/spec/unit/provider_spec.rb +35 -35
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/puppet_pal_spec.rb +0 -1
- data/spec/unit/puppet_spec.rb +6 -7
- data/spec/unit/relationship_spec.rb +0 -1
- data/spec/unit/reports/http_spec.rb +21 -23
- data/spec/unit/reports/store_spec.rb +3 -4
- data/spec/unit/reports_spec.rb +12 -14
- data/spec/unit/resource/capability_finder_spec.rb +15 -17
- data/spec/unit/resource/catalog_spec.rb +72 -68
- data/spec/unit/resource/status_spec.rb +6 -8
- data/spec/unit/resource/type_collection_spec.rb +17 -18
- data/spec/unit/resource/type_spec.rb +34 -35
- data/spec/unit/resource_spec.rb +36 -32
- data/spec/unit/rest/client_spec.rb +58 -27
- data/spec/unit/rest/route_spec.rb +5 -5
- data/spec/unit/scheduler/job_spec.rb +0 -1
- data/spec/unit/scheduler/scheduler_spec.rb +0 -1
- data/spec/unit/scheduler/splay_job_spec.rb +1 -2
- data/spec/unit/settings/array_setting_spec.rb +1 -1
- data/spec/unit/settings/autosign_setting_spec.rb +9 -9
- data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +0 -1
- data/spec/unit/settings/directory_setting_spec.rb +2 -7
- data/spec/unit/settings/duration_setting_spec.rb +1 -2
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +4 -6
- data/spec/unit/settings/file_setting_spec.rb +44 -46
- data/spec/unit/settings/path_setting_spec.rb +1 -2
- data/spec/unit/settings/priority_setting_spec.rb +1 -2
- data/spec/unit/settings/string_setting_spec.rb +14 -15
- data/spec/unit/settings/terminus_setting_spec.rb +1 -2
- data/spec/unit/settings/value_translator_spec.rb +0 -1
- data/spec/unit/settings_spec.rb +228 -235
- data/spec/unit/ssl/base_spec.rb +14 -15
- data/spec/unit/ssl/certificate_request_spec.rb +62 -58
- data/spec/unit/ssl/certificate_spec.rb +23 -25
- data/spec/unit/ssl/digest_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +166 -149
- data/spec/unit/ssl/key_spec.rb +30 -31
- data/spec/unit/ssl/validator_spec.rb +38 -39
- data/spec/unit/task_spec.rb +44 -45
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
- data/spec/unit/transaction/event_manager_spec.rb +87 -88
- data/spec/unit/transaction/event_spec.rb +16 -15
- data/spec/unit/transaction/persistence_spec.rb +16 -17
- data/spec/unit/transaction/report_spec.rb +11 -12
- data/spec/unit/transaction/resource_harness_spec.rb +28 -33
- data/spec/unit/transaction_spec.rb +100 -101
- data/spec/unit/type/component_spec.rb +0 -1
- data/spec/unit/type/exec_spec.rb +60 -56
- data/spec/unit/type/file/checksum_spec.rb +9 -10
- data/spec/unit/type/file/checksum_value_spec.rb +31 -32
- data/spec/unit/type/file/content_spec.rb +58 -61
- data/spec/unit/type/file/ctime_spec.rb +0 -1
- data/spec/unit/type/file/ensure_spec.rb +12 -13
- data/spec/unit/type/file/group_spec.rb +5 -7
- data/spec/unit/type/file/mode_spec.rb +4 -6
- data/spec/unit/type/file/mtime_spec.rb +0 -1
- data/spec/unit/type/file/owner_spec.rb +6 -8
- data/spec/unit/type/file/selinux_spec.rb +17 -19
- data/spec/unit/type/file/source_spec.rb +104 -101
- data/spec/unit/type/file/type_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +195 -185
- data/spec/unit/type/filebucket_spec.rb +4 -5
- data/spec/unit/type/group_spec.rb +6 -8
- data/spec/unit/type/noop_metaparam_spec.rb +1 -2
- data/spec/unit/type/package/package_settings_spec.rb +44 -23
- data/spec/unit/type/package_spec.rb +56 -57
- data/spec/unit/type/resources_spec.rb +72 -74
- data/spec/unit/type/schedule_spec.rb +24 -26
- data/spec/unit/type/service_spec.rb +48 -48
- data/spec/unit/type/stage_spec.rb +0 -1
- data/spec/unit/type/tidy_spec.rb +61 -62
- data/spec/unit/type/user_spec.rb +24 -25
- data/spec/unit/type/whit_spec.rb +0 -1
- data/spec/unit/type_spec.rb +55 -54
- data/spec/unit/util/at_fork_spec.rb +18 -19
- data/spec/unit/util/autoload_spec.rb +55 -56
- data/spec/unit/util/backups_spec.rb +34 -35
- data/spec/unit/util/character_encoding_spec.rb +5 -5
- data/spec/unit/util/checksums_spec.rb +38 -39
- data/spec/unit/util/colors_spec.rb +1 -2
- data/spec/unit/util/command_line_spec.rb +24 -25
- data/spec/unit/util/constant_inflector_spec.rb +0 -1
- data/spec/unit/util/diff_spec.rb +7 -8
- data/spec/unit/util/errors_spec.rb +0 -1
- data/spec/unit/util/execution_spec.rb +185 -161
- data/spec/unit/util/execution_stub_spec.rb +0 -1
- data/spec/unit/util/feature_spec.rb +21 -14
- data/spec/unit/util/filetype_spec.rb +49 -49
- data/spec/unit/util/http_proxy_spec.rb +12 -12
- data/spec/unit/util/inifile_spec.rb +26 -31
- data/spec/unit/util/json_lockfile_spec.rb +3 -5
- data/spec/unit/util/ldap/connection_spec.rb +26 -25
- data/spec/unit/util/ldap/generator_spec.rb +0 -1
- data/spec/unit/util/ldap/manager_spec.rb +102 -101
- data/spec/unit/util/lockfile_spec.rb +0 -1
- data/spec/unit/util/log/destinations_spec.rb +30 -33
- data/spec/unit/util/log_spec.rb +35 -36
- data/spec/unit/util/logging_spec.rb +58 -72
- data/spec/unit/util/metric_spec.rb +0 -1
- data/spec/unit/util/monkey_patches_spec.rb +7 -9
- data/spec/unit/util/multi_match_spec.rb +0 -1
- data/spec/unit/util/network_device/config_spec.rb +0 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
- data/spec/unit/util/network_device_spec.rb +7 -9
- data/spec/unit/util/package_spec.rb +0 -1
- data/spec/unit/util/pidlock_spec.rb +21 -22
- data/spec/unit/util/plist_spec.rb +40 -33
- data/spec/unit/util/posix_spec.rb +54 -51
- data/spec/unit/util/rdoc_spec.rb +9 -10
- data/spec/unit/util/reference_spec.rb +0 -1
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +7 -8
- data/spec/unit/util/rubygems_spec.rb +7 -8
- data/spec/unit/util/run_mode_spec.rb +3 -4
- data/spec/unit/util/selinux_spec.rb +79 -72
- data/spec/unit/util/splayer_spec.rb +8 -9
- data/spec/unit/util/ssl_spec.rb +0 -1
- data/spec/unit/util/storage_spec.rb +3 -4
- data/spec/unit/util/suidmanager_spec.rb +45 -54
- data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
- data/spec/unit/util/tag_set_spec.rb +0 -1
- data/spec/unit/util/tagging_spec.rb +0 -1
- data/spec/unit/util/terminal_spec.rb +9 -10
- data/spec/unit/util/user_attr_spec.rb +1 -2
- data/spec/unit/util/warnings_spec.rb +3 -4
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +51 -21
- data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
- data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
- data/spec/unit/util/windows/adsi_spec.rb +136 -138
- data/spec/unit/util/windows/api_types_spec.rb +0 -1
- data/spec/unit/util/windows/eventlog_spec.rb +9 -12
- data/spec/unit/util/windows/file_spec.rb +0 -1
- data/spec/unit/util/windows/root_certs_spec.rb +0 -1
- data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
- data/spec/unit/util/windows/service_spec.rb +66 -68
- data/spec/unit/util/windows/sid_spec.rb +11 -13
- data/spec/unit/util/windows/string_spec.rb +0 -1
- data/spec/unit/util_spec.rb +55 -57
- data/spec/unit/version_spec.rb +6 -6
- metadata +2 -2
@@ -1,8 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
|
-
#
|
3
|
-
# Unit testing for the Init service Provider
|
4
|
-
#
|
5
|
-
|
6
1
|
require 'spec_helper'
|
7
2
|
|
8
3
|
describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform.jruby? do
|
@@ -45,12 +40,12 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
45
40
|
|
46
41
|
describe "when getting all service instances" do
|
47
42
|
before :each do
|
48
|
-
provider_class.
|
43
|
+
allow(provider_class).to receive(:defpath).and_return('tmp')
|
49
44
|
|
50
45
|
@services = ['one', 'two', 'three', 'four', 'umountfs']
|
51
|
-
Dir.
|
52
|
-
FileTest.
|
53
|
-
FileTest.
|
46
|
+
allow(Dir).to receive(:entries).with('tmp').and_return(@services)
|
47
|
+
expect(FileTest).to receive(:directory?).with('tmp').and_return(true)
|
48
|
+
allow(FileTest).to receive(:executable?).and_return(true)
|
54
49
|
end
|
55
50
|
|
56
51
|
it "should return instances for all services" do
|
@@ -68,7 +63,7 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
68
63
|
end
|
69
64
|
|
70
65
|
it "should omit Yocto services on cisco-wrlinux" do
|
71
|
-
Facter.
|
66
|
+
allow(Facter).to receive(:value).with(:osfamily).and_return('cisco-wrlinux')
|
72
67
|
exclude = 'umountfs'
|
73
68
|
expect(provider_class.get_services(provider_class.defpath).map(&:name)).to eq(@services - [exclude])
|
74
69
|
end
|
@@ -88,33 +83,33 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
88
83
|
it "should discard upstart jobs", :if => Puppet.features.manages_symlinks? do
|
89
84
|
not_init_service, *valid_services = @services
|
90
85
|
path = "tmp/#{not_init_service}"
|
91
|
-
Puppet::FileSystem.
|
92
|
-
Puppet::FileSystem.
|
93
|
-
Puppet::FileSystem.
|
86
|
+
allow(Puppet::FileSystem).to receive(:symlink?).at_least(:once).and_return(false)
|
87
|
+
allow(Puppet::FileSystem).to receive(:symlink?).with(Puppet::FileSystem.pathname(path)).and_return(true)
|
88
|
+
allow(Puppet::FileSystem).to receive(:readlink).with(Puppet::FileSystem.pathname(path)).and_return("/lib/init/upstart-job")
|
94
89
|
expect(provider_class.instances.map(&:name)).to eq(valid_services)
|
95
90
|
end
|
96
91
|
|
97
92
|
it "should discard non-initscript scripts" do
|
98
93
|
valid_services = @services
|
99
94
|
all_services = valid_services + excludes
|
100
|
-
Dir.
|
95
|
+
expect(Dir).to receive(:entries).with('tmp').and_return(all_services)
|
101
96
|
expect(provider_class.instances.map(&:name)).to match_array(valid_services)
|
102
97
|
end
|
103
98
|
end
|
104
99
|
|
105
100
|
describe "when checking valid paths" do
|
106
101
|
it "should discard paths that do not exist" do
|
107
|
-
File.
|
108
|
-
Puppet::FileSystem.
|
109
|
-
File.
|
102
|
+
expect(File).to receive(:directory?).with(paths[0]).and_return(false)
|
103
|
+
expect(Puppet::FileSystem).to receive(:exist?).with(paths[0]).and_return(false)
|
104
|
+
expect(File).to receive(:directory?).with(paths[1]).and_return(true)
|
110
105
|
|
111
106
|
expect(provider.paths).to eq([paths[1]])
|
112
107
|
end
|
113
108
|
|
114
109
|
it "should discard paths that are not directories" do
|
115
110
|
paths.each do |path|
|
116
|
-
Puppet::FileSystem.
|
117
|
-
File.
|
111
|
+
expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
|
112
|
+
expect(File).to receive(:directory?).with(path).and_return(false)
|
118
113
|
end
|
119
114
|
expect(provider.paths).to be_empty
|
120
115
|
end
|
@@ -122,32 +117,32 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
122
117
|
|
123
118
|
describe "when searching for the init script" do
|
124
119
|
before :each do
|
125
|
-
paths.each {|path| File.
|
120
|
+
paths.each {|path| expect(File).to receive(:directory?).with(path).and_return(true) }
|
126
121
|
end
|
127
122
|
|
128
123
|
it "should be able to find the init script in the service path" do
|
129
|
-
Puppet::FileSystem.
|
130
|
-
Puppet::FileSystem.
|
124
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice").and_return(true)
|
125
|
+
expect(Puppet::FileSystem).not_to receive(:exist?).with("#{paths[1]}/myservice") # first one wins
|
131
126
|
expect(provider.initscript).to eq("/service/path/myservice")
|
132
127
|
end
|
133
128
|
|
134
129
|
it "should be able to find the init script in an alternate service path" do
|
135
|
-
Puppet::FileSystem.
|
136
|
-
Puppet::FileSystem.
|
130
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice").and_return(false)
|
131
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[1]}/myservice").and_return(true)
|
137
132
|
expect(provider.initscript).to eq("/alt/service/path/myservice")
|
138
133
|
end
|
139
134
|
|
140
135
|
it "should be able to find the init script if it ends with .sh" do
|
141
|
-
Puppet::FileSystem.
|
142
|
-
Puppet::FileSystem.
|
143
|
-
Puppet::FileSystem.
|
136
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice").and_return(false)
|
137
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[1]}/myservice").and_return(false)
|
138
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice.sh").and_return(true)
|
144
139
|
expect(provider.initscript).to eq("/service/path/myservice.sh")
|
145
140
|
end
|
146
141
|
|
147
142
|
it "should fail if the service isn't there" do
|
148
143
|
paths.each do |path|
|
149
|
-
Puppet::FileSystem.
|
150
|
-
Puppet::FileSystem.
|
144
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{path}/myservice").and_return(false)
|
145
|
+
expect(Puppet::FileSystem).to receive(:exist?).with("#{path}/myservice.sh").and_return(false)
|
151
146
|
end
|
152
147
|
expect { provider.initscript }.to raise_error(Puppet::Error, "Could not find init script for 'myservice'")
|
153
148
|
end
|
@@ -155,23 +150,24 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
155
150
|
|
156
151
|
describe "if the init script is present" do
|
157
152
|
before :each do
|
158
|
-
File.
|
159
|
-
File.
|
160
|
-
Puppet::FileSystem.
|
153
|
+
allow(File).to receive(:directory?).with("/service/path").and_return(true)
|
154
|
+
allow(File).to receive(:directory?).with("/alt/service/path").and_return(true)
|
155
|
+
allow(Puppet::FileSystem).to receive(:exist?).with("/service/path/myservice").and_return(true)
|
161
156
|
end
|
162
157
|
|
163
158
|
[:start, :stop, :status, :restart].each do |method|
|
164
159
|
it "should have a #{method} method" do
|
165
160
|
expect(provider).to respond_to(method)
|
166
161
|
end
|
162
|
+
|
167
163
|
describe "when running #{method}" do
|
168
164
|
before :each do
|
169
|
-
$CHILD_STATUS.
|
165
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
|
170
166
|
end
|
171
167
|
|
172
168
|
it "should use any provided explicit command" do
|
173
169
|
resource[method] = "/user/specified/command"
|
174
|
-
provider.
|
170
|
+
expect(provider).to receive(:execute).with(["/user/specified/command"], any_args)
|
175
171
|
|
176
172
|
provider.send(method)
|
177
173
|
end
|
@@ -179,7 +175,7 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
179
175
|
it "should pass #{method} to the init script when no explicit command is provided" do
|
180
176
|
resource[:hasrestart] = :true
|
181
177
|
resource[:hasstatus] = :true
|
182
|
-
provider.
|
178
|
+
expect(provider).to receive(:execute).with(["/service/path/myservice", method], any_args)
|
183
179
|
|
184
180
|
provider.send(method)
|
185
181
|
end
|
@@ -191,35 +187,40 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
191
187
|
before :each do
|
192
188
|
resource[:hasstatus] = :true
|
193
189
|
end
|
190
|
+
|
194
191
|
it "should execute the command" do
|
195
|
-
provider.
|
196
|
-
$CHILD_STATUS.
|
192
|
+
expect(provider).to receive(:texecute).with(:status, ['/service/path/myservice', :status], false).and_return("")
|
193
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
|
197
194
|
provider.status
|
198
195
|
end
|
196
|
+
|
199
197
|
it "should consider the process running if the command returns 0" do
|
200
|
-
provider.
|
201
|
-
$CHILD_STATUS.
|
198
|
+
expect(provider).to receive(:texecute).with(:status, ['/service/path/myservice', :status], false).and_return("")
|
199
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
|
202
200
|
expect(provider.status).to eq(:running)
|
203
201
|
end
|
202
|
+
|
204
203
|
[-10,-1,1,10].each { |ec|
|
205
204
|
it "should consider the process stopped if the command returns something non-0" do
|
206
|
-
provider.
|
207
|
-
$CHILD_STATUS.
|
205
|
+
expect(provider).to receive(:texecute).with(:status, ['/service/path/myservice', :status], false).and_return("")
|
206
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(ec)
|
208
207
|
expect(provider.status).to eq(:stopped)
|
209
208
|
end
|
210
209
|
}
|
211
210
|
end
|
211
|
+
|
212
212
|
describe "when hasstatus is not :true" do
|
213
213
|
before :each do
|
214
214
|
resource[:hasstatus] = :false
|
215
215
|
end
|
216
216
|
|
217
217
|
it "should consider the service :running if it has a pid" do
|
218
|
-
provider.
|
218
|
+
expect(provider).to receive(:getpid).and_return("1234")
|
219
219
|
expect(provider.status).to eq(:running)
|
220
220
|
end
|
221
|
+
|
221
222
|
it "should consider the service :stopped if it doesn't have a pid" do
|
222
|
-
provider.
|
223
|
+
expect(provider).to receive(:getpid).and_return(nil)
|
223
224
|
expect(provider.status).to eq(:stopped)
|
224
225
|
end
|
225
226
|
end
|
@@ -231,27 +232,27 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
|
|
231
232
|
end
|
232
233
|
|
233
234
|
it "should stop and restart the process" do
|
234
|
-
provider.
|
235
|
-
provider.
|
236
|
-
$CHILD_STATUS.
|
235
|
+
expect(provider).to receive(:texecute).with(:stop, ['/service/path/myservice', :stop ], true).and_return("")
|
236
|
+
expect(provider).to receive(:texecute).with(:start, ['/service/path/myservice', :start], true).and_return("")
|
237
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
|
237
238
|
provider.restart
|
238
239
|
end
|
239
240
|
end
|
240
241
|
|
241
242
|
describe "when starting a service on Solaris" do
|
242
243
|
it "should use ctrun" do
|
243
|
-
Facter.
|
244
|
-
provider.
|
245
|
-
$CHILD_STATUS.
|
244
|
+
allow(Facter).to receive(:value).with(:osfamily).and_return('Solaris')
|
245
|
+
expect(provider).to receive(:execute).with('/usr/bin/ctrun -l child /service/path/myservice start', {:failonfail => true, :override_locale => false, :squelch => false, :combine => true}).and_return("")
|
246
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
|
246
247
|
provider.start
|
247
248
|
end
|
248
249
|
end
|
249
250
|
|
250
251
|
describe "when starting a service on RedHat" do
|
251
252
|
it "should not use ctrun" do
|
252
|
-
Facter.
|
253
|
-
provider.
|
254
|
-
$CHILD_STATUS.
|
253
|
+
allow(Facter).to receive(:value).with(:osfamily).and_return('RedHat')
|
254
|
+
expect(provider).to receive(:execute).with(['/service/path/myservice', :start], {:failonfail => true, :override_locale => false, :squelch => false, :combine => true}).and_return("")
|
255
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
|
255
256
|
provider.start
|
256
257
|
end
|
257
258
|
end
|
@@ -1,6 +1,3 @@
|
|
1
|
-
# Spec Tests for the Launchd provider
|
2
|
-
#
|
3
|
-
|
4
1
|
require 'spec_helper'
|
5
2
|
|
6
3
|
describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platform.jruby? do
|
@@ -28,20 +25,23 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
28
25
|
|
29
26
|
describe 'the status of the services' do
|
30
27
|
it "should call the external command 'launchctl list' once" do
|
31
|
-
provider.
|
32
|
-
provider.
|
28
|
+
expect(provider).to receive(:launchctl).with(:list).and_return(joblabel)
|
29
|
+
expect(provider).to receive(:jobsearch).and_return({joblabel => "/Library/LaunchDaemons/#{joblabel}"})
|
33
30
|
provider.prefetch({})
|
34
31
|
end
|
32
|
+
|
35
33
|
it "should return stopped if not listed in launchctl list output" do
|
36
|
-
provider.
|
37
|
-
provider.
|
38
|
-
expect(provider.prefetch({}).last.status).to eq
|
34
|
+
expect(provider).to receive(:launchctl).with(:list).and_return('com.bar.is_running')
|
35
|
+
expect(provider).to receive(:jobsearch).and_return({'com.bar.is_not_running' => "/Library/LaunchDaemons/com.bar.is_not_running"})
|
36
|
+
expect(provider.prefetch({}).last.status).to eq(:stopped)
|
39
37
|
end
|
38
|
+
|
40
39
|
it "should return running if listed in launchctl list output" do
|
41
|
-
provider.
|
42
|
-
provider.
|
43
|
-
expect(provider.prefetch({}).last.status).to eq
|
40
|
+
expect(provider).to receive(:launchctl).with(:list).and_return('com.bar.is_running')
|
41
|
+
expect(provider).to receive(:jobsearch).and_return({'com.bar.is_running' => "/Library/LaunchDaemons/com.bar.is_running"})
|
42
|
+
expect(provider.prefetch({}).last.status).to eq(:running)
|
44
43
|
end
|
44
|
+
|
45
45
|
after :each do
|
46
46
|
provider.instance_variable_set(:@job_list, nil)
|
47
47
|
end
|
@@ -53,20 +53,20 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
53
53
|
|
54
54
|
it "should use the user-provided status command if present and return running if true" do
|
55
55
|
resource[:status] = '/bin/true'
|
56
|
-
subject.
|
57
|
-
$CHILD_STATUS.
|
56
|
+
expect(subject).to receive(:texecute).with(:status, ["/bin/true"], false).and_return(0)
|
57
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
|
58
58
|
expect(subject.status).to eq(:running)
|
59
59
|
end
|
60
60
|
|
61
61
|
it "should use the user-provided status command if present and return stopped if false" do
|
62
62
|
resource[:status] = '/bin/false'
|
63
|
-
subject.
|
64
|
-
$CHILD_STATUS.
|
63
|
+
expect(subject).to receive(:texecute).with(:status, ["/bin/false"], false).and_return(nil)
|
64
|
+
allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
|
65
65
|
expect(subject.status).to eq(:stopped)
|
66
66
|
end
|
67
67
|
|
68
68
|
it "should fall back to getpid if no status command is provided" do
|
69
|
-
subject.
|
69
|
+
expect(subject).to receive(:getpid).and_return(123)
|
70
70
|
expect(subject.status).to eq(:running)
|
71
71
|
end
|
72
72
|
end
|
@@ -75,24 +75,26 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
75
75
|
[[10, '10.6'], [13, '10.9']].each do |kernel, version|
|
76
76
|
describe "when checking whether the service is enabled on OS X #{version}" do
|
77
77
|
it "should return true if the job plist says disabled is true and the global overrides says disabled is false" do
|
78
|
-
provider.
|
79
|
-
subject.
|
80
|
-
plistlib.
|
81
|
-
FileTest.
|
78
|
+
expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
|
79
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => true}])
|
80
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({joblabel => {"Disabled" => false}})
|
81
|
+
expect(FileTest).to receive(:file?).with(launchd_overrides_6_9).and_return(true)
|
82
82
|
expect(subject.enabled?).to eq(:true)
|
83
83
|
end
|
84
|
+
|
84
85
|
it "should return false if the job plist says disabled is false and the global overrides says disabled is true" do
|
85
|
-
provider.
|
86
|
-
subject.
|
87
|
-
plistlib.
|
88
|
-
FileTest.
|
86
|
+
expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
|
87
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => false}])
|
88
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({joblabel => {"Disabled" => true}})
|
89
|
+
expect(FileTest).to receive(:file?).with(launchd_overrides_6_9).and_return(true)
|
89
90
|
expect(subject.enabled?).to eq(:false)
|
90
91
|
end
|
92
|
+
|
91
93
|
it "should return true if the job plist and the global overrides have no disabled keys" do
|
92
|
-
provider.
|
93
|
-
subject.
|
94
|
-
plistlib.
|
95
|
-
FileTest.
|
94
|
+
expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
|
95
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
|
96
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({})
|
97
|
+
expect(FileTest).to receive(:file?).with(launchd_overrides_6_9).and_return(true)
|
96
98
|
expect(subject.enabled?).to eq(:true)
|
97
99
|
end
|
98
100
|
end
|
@@ -100,24 +102,26 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
100
102
|
|
101
103
|
describe "when checking whether the service is enabled on OS X 10.10" do
|
102
104
|
it "should return true if the job plist says disabled is true and the global overrides says disabled is false" do
|
103
|
-
provider.
|
104
|
-
subject.
|
105
|
-
plistlib.
|
106
|
-
FileTest.
|
105
|
+
expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
|
106
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => true}])
|
107
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({joblabel => false})
|
108
|
+
expect(FileTest).to receive(:file?).with(launchd_overrides_10_).and_return(true)
|
107
109
|
expect(subject.enabled?).to eq(:true)
|
108
110
|
end
|
111
|
+
|
109
112
|
it "should return false if the job plist says disabled is false and the global overrides says disabled is true" do
|
110
|
-
provider.
|
111
|
-
subject.
|
112
|
-
plistlib.
|
113
|
-
FileTest.
|
113
|
+
expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
|
114
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => false}])
|
115
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({joblabel => true})
|
116
|
+
expect(FileTest).to receive(:file?).with(launchd_overrides_10_).and_return(true)
|
114
117
|
expect(subject.enabled?).to eq(:false)
|
115
118
|
end
|
119
|
+
|
116
120
|
it "should return true if the job plist and the global overrides have no disabled keys" do
|
117
|
-
provider.
|
118
|
-
subject.
|
119
|
-
plistlib.
|
120
|
-
FileTest.
|
121
|
+
expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
|
122
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
|
123
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({})
|
124
|
+
expect(FileTest).to receive(:file?).with(launchd_overrides_10_).and_return(true)
|
121
125
|
expect(subject.enabled?).to eq(:true)
|
122
126
|
end
|
123
127
|
end
|
@@ -125,47 +129,51 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
125
129
|
describe "when starting the service" do
|
126
130
|
it "should call any explicit 'start' command" do
|
127
131
|
resource[:start] = "/bin/false"
|
128
|
-
subject.
|
132
|
+
expect(subject).to receive(:texecute).with(:start, ["/bin/false"], true)
|
129
133
|
subject.start
|
130
134
|
end
|
131
135
|
|
132
136
|
it "should look for the relevant plist once" do
|
133
|
-
subject.
|
134
|
-
subject.
|
135
|
-
subject.
|
137
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
|
138
|
+
expect(subject).to receive(:enabled?).and_return(:true)
|
139
|
+
expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel])
|
136
140
|
subject.start
|
137
141
|
end
|
142
|
+
|
138
143
|
it "should execute 'launchctl load' once without writing to the plist if the job is enabled" do
|
139
|
-
subject.
|
140
|
-
subject.
|
141
|
-
subject.
|
144
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
|
145
|
+
expect(subject).to receive(:enabled?).and_return(:true)
|
146
|
+
expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel]).once
|
142
147
|
subject.start
|
143
148
|
end
|
149
|
+
|
144
150
|
it "should execute 'launchctl load' with writing to the plist once if the job is disabled" do
|
145
|
-
subject.
|
146
|
-
subject.
|
147
|
-
subject.
|
151
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
|
152
|
+
expect(subject).to receive(:enabled?).and_return(:false)
|
153
|
+
expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel]).once
|
148
154
|
subject.start
|
149
155
|
end
|
156
|
+
|
150
157
|
it "should disable the job once if the job is disabled and should be disabled at boot" do
|
151
158
|
resource[:enable] = false
|
152
|
-
subject.
|
153
|
-
subject.
|
154
|
-
subject.
|
155
|
-
subject.
|
159
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => true}])
|
160
|
+
expect(subject).to receive(:enabled?).and_return(:false)
|
161
|
+
expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel])
|
162
|
+
expect(subject).to receive(:disable).once
|
156
163
|
subject.start
|
157
164
|
end
|
165
|
+
|
158
166
|
it "(#2773) should execute 'launchctl load -w' if the job is enabled but stopped" do
|
159
|
-
subject.
|
160
|
-
subject.
|
161
|
-
subject.
|
162
|
-
subject.
|
167
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
|
168
|
+
expect(subject).to receive(:enabled?).and_return(:true)
|
169
|
+
expect(subject).to receive(:status).and_return(:stopped)
|
170
|
+
expect(subject).to receive(:execute).with([:launchctl, :load, '-w', joblabel])
|
163
171
|
subject.start
|
164
172
|
end
|
165
173
|
|
166
174
|
it "(#16271) Should stop and start the service when a restart is called" do
|
167
|
-
subject.
|
168
|
-
subject.
|
175
|
+
expect(subject).to receive(:stop)
|
176
|
+
expect(subject).to receive(:start)
|
169
177
|
subject.restart
|
170
178
|
end
|
171
179
|
end
|
@@ -173,34 +181,37 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
173
181
|
describe "when stopping the service" do
|
174
182
|
it "should call any explicit 'stop' command" do
|
175
183
|
resource[:stop] = "/bin/false"
|
176
|
-
subject.
|
184
|
+
expect(subject).to receive(:texecute).with(:stop, ["/bin/false"], true)
|
177
185
|
subject.stop
|
178
186
|
end
|
179
187
|
|
180
188
|
it "should look for the relevant plist once" do
|
181
|
-
subject.
|
182
|
-
subject.
|
183
|
-
subject.
|
189
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
|
190
|
+
expect(subject).to receive(:enabled?).and_return(:true)
|
191
|
+
expect(subject).to receive(:execute).with([:launchctl, :unload, '-w', joblabel])
|
184
192
|
subject.stop
|
185
193
|
end
|
194
|
+
|
186
195
|
it "should execute 'launchctl unload' once without writing to the plist if the job is disabled" do
|
187
|
-
subject.
|
188
|
-
subject.
|
189
|
-
subject.
|
196
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
|
197
|
+
expect(subject).to receive(:enabled?).and_return(:false)
|
198
|
+
expect(subject).to receive(:execute).with([:launchctl, :unload, joblabel]).once
|
190
199
|
subject.stop
|
191
200
|
end
|
201
|
+
|
192
202
|
it "should execute 'launchctl unload' with writing to the plist once if the job is enabled" do
|
193
|
-
subject.
|
194
|
-
subject.
|
195
|
-
subject.
|
203
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
|
204
|
+
expect(subject).to receive(:enabled?).and_return(:true)
|
205
|
+
expect(subject).to receive(:execute).with([:launchctl, :unload, '-w', joblabel]).once
|
196
206
|
subject.stop
|
197
207
|
end
|
208
|
+
|
198
209
|
it "should enable the job once if the job is enabled and should be enabled at boot" do
|
199
210
|
resource[:enable] = true
|
200
|
-
subject.
|
201
|
-
subject.
|
202
|
-
subject.
|
203
|
-
subject.
|
211
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => false}])
|
212
|
+
expect(subject).to receive(:enabled?).and_return(:true)
|
213
|
+
expect(subject).to receive(:execute).with([:launchctl, :unload, "-w", joblabel])
|
214
|
+
expect(subject).to receive(:enable).once
|
204
215
|
subject.stop
|
205
216
|
end
|
206
217
|
end
|
@@ -208,16 +219,17 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
208
219
|
describe "when enabling the service" do
|
209
220
|
it "should look for the relevant plist once" do ### Do we need this test? Differentiating it?
|
210
221
|
resource[:enable] = true
|
211
|
-
subject.
|
212
|
-
subject.
|
213
|
-
subject.
|
222
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
|
223
|
+
expect(subject).to receive(:enabled?).and_return(:false)
|
224
|
+
expect(subject).to receive(:execute).with([:launchctl, :unload, joblabel])
|
214
225
|
subject.stop
|
215
226
|
end
|
227
|
+
|
216
228
|
it "should check if the job is enabled once" do
|
217
229
|
resource[:enable] = true
|
218
|
-
subject.
|
219
|
-
subject.
|
220
|
-
subject.
|
230
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
|
231
|
+
expect(subject).to receive(:enabled?).once
|
232
|
+
expect(subject).to receive(:execute).with([:launchctl, :unload, joblabel])
|
221
233
|
subject.stop
|
222
234
|
end
|
223
235
|
end
|
@@ -225,9 +237,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
225
237
|
describe "when disabling the service" do
|
226
238
|
it "should look for the relevant plist once" do
|
227
239
|
resource[:enable] = false
|
228
|
-
subject.
|
229
|
-
subject.
|
230
|
-
subject.
|
240
|
+
expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
|
241
|
+
expect(subject).to receive(:enabled?).and_return(:true)
|
242
|
+
expect(subject).to receive(:execute).with([:launchctl, :unload, '-w', joblabel])
|
231
243
|
subject.stop
|
232
244
|
end
|
233
245
|
end
|
@@ -236,9 +248,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
236
248
|
describe "when enabling the service on OS X #{version}" do
|
237
249
|
it "should write to the global launchd overrides file once" do
|
238
250
|
resource[:enable] = true
|
239
|
-
provider.
|
240
|
-
plistlib.
|
241
|
-
plistlib.
|
251
|
+
expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
|
252
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({})
|
253
|
+
expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => {'Disabled' => false}), launchd_overrides_6_9).once
|
242
254
|
subject.enable
|
243
255
|
end
|
244
256
|
end
|
@@ -246,9 +258,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
246
258
|
describe "when disabling the service on OS X #{version}" do
|
247
259
|
it "should write to the global launchd overrides file once" do
|
248
260
|
resource[:enable] = false
|
249
|
-
provider.
|
250
|
-
plistlib.
|
251
|
-
plistlib.
|
261
|
+
expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
|
262
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({})
|
263
|
+
expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => {'Disabled' => true}), launchd_overrides_6_9).once
|
252
264
|
subject.disable
|
253
265
|
end
|
254
266
|
end
|
@@ -257,9 +269,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
257
269
|
describe "when enabling the service on OS X 10.10" do
|
258
270
|
it "should write to the global launchd overrides file once" do
|
259
271
|
resource[:enable] = true
|
260
|
-
provider.
|
261
|
-
plistlib.
|
262
|
-
plistlib.
|
272
|
+
expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
|
273
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({})
|
274
|
+
expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => false), launchd_overrides_10_).once
|
263
275
|
subject.enable
|
264
276
|
end
|
265
277
|
end
|
@@ -267,9 +279,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
267
279
|
describe "when disabling the service on OS X 10.10" do
|
268
280
|
it "should write to the global launchd overrides file once" do
|
269
281
|
resource[:enable] = false
|
270
|
-
provider.
|
271
|
-
plistlib.
|
272
|
-
plistlib.
|
282
|
+
expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
|
283
|
+
expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({})
|
284
|
+
expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => true), launchd_overrides_10_).once
|
273
285
|
subject.disable
|
274
286
|
end
|
275
287
|
end
|
@@ -281,6 +293,7 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
281
293
|
provider.send(:remove_instance_variable, :@label_to_path_map)
|
282
294
|
end
|
283
295
|
end
|
296
|
+
|
284
297
|
describe "when encountering malformed plists" do
|
285
298
|
let(:plist_without_label) do
|
286
299
|
{
|
@@ -291,31 +304,36 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
291
304
|
let(:binary_plist_path) { '/Library/LaunchAgents/org.binary.plist' }
|
292
305
|
|
293
306
|
it "[17624] should warn that the plist in question is being skipped" do
|
294
|
-
provider.
|
295
|
-
provider.
|
296
|
-
plistlib.
|
297
|
-
Puppet.
|
298
|
-
Puppet.
|
307
|
+
expect(provider).to receive(:launchd_paths).and_return(['/Library/LaunchAgents'])
|
308
|
+
expect(provider).to receive(:return_globbed_list_of_file_paths).with('/Library/LaunchAgents').and_return([busted_plist_path])
|
309
|
+
expect(plistlib).to receive(:read_plist_file).with(busted_plist_path).and_return(plist_without_label)
|
310
|
+
expect(Puppet).to receive(:debug).with("Reading launchd plist #{busted_plist_path}")
|
311
|
+
expect(Puppet).to receive(:debug).with("The #{busted_plist_path} plist does not contain a 'label' key; Puppet is skipping it")
|
299
312
|
provider.make_label_to_path_map
|
300
313
|
end
|
301
314
|
end
|
315
|
+
|
302
316
|
it "should return the cached value when available" do
|
303
317
|
provider.instance_variable_set(:@label_to_path_map, {'xx'=>'yy'})
|
304
318
|
expect(provider.make_label_to_path_map).to eq({'xx'=>'yy'})
|
305
319
|
end
|
320
|
+
|
306
321
|
describe "when successful" do
|
307
322
|
let(:launchd_dir) { '/Library/LaunchAgents' }
|
308
323
|
let(:plist) { launchd_dir + '/foo.bar.service.plist' }
|
309
324
|
let(:label) { 'foo.bar.service' }
|
325
|
+
|
310
326
|
before do
|
311
327
|
provider.instance_variable_set(:@label_to_path_map, nil)
|
312
|
-
provider.
|
313
|
-
provider.
|
314
|
-
plistlib.
|
328
|
+
expect(provider).to receive(:launchd_paths).and_return([launchd_dir])
|
329
|
+
expect(provider).to receive(:return_globbed_list_of_file_paths).with(launchd_dir).and_return([plist])
|
330
|
+
expect(plistlib).to receive(:read_plist_file).with(plist).and_return({'Label'=>'foo.bar.service'})
|
315
331
|
end
|
332
|
+
|
316
333
|
it "should read the plists and return their contents" do
|
317
334
|
expect(provider.make_label_to_path_map).to eq({label=>plist})
|
318
335
|
end
|
336
|
+
|
319
337
|
it "should re-read the plists and return their contents when refreshed" do
|
320
338
|
provider.instance_variable_set(:@label_to_path_map, {'xx'=>'yy'})
|
321
339
|
expect(provider.make_label_to_path_map(true)).to eq({label=>plist})
|
@@ -326,42 +344,46 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
|
|
326
344
|
describe "jobsearch" do
|
327
345
|
let(:map) { {"org.mozilla.puppet" => "/path/to/puppet.plist",
|
328
346
|
"org.mozilla.python" => "/path/to/python.plist"} }
|
329
|
-
|
330
|
-
|
347
|
+
|
348
|
+
it "returns the entire map with no args" do
|
349
|
+
expect(provider).to receive(:make_label_to_path_map).and_return(map)
|
331
350
|
expect(provider.jobsearch).to eq(map)
|
332
351
|
end
|
352
|
+
|
333
353
|
it "returns a singleton hash when given a label" do
|
334
|
-
provider.
|
354
|
+
expect(provider).to receive(:make_label_to_path_map).and_return(map)
|
335
355
|
expect(provider.jobsearch("org.mozilla.puppet")).to eq({ "org.mozilla.puppet" => "/path/to/puppet.plist" })
|
336
356
|
end
|
357
|
+
|
337
358
|
it "refreshes the label_to_path_map when label is not found" do
|
338
|
-
provider.
|
339
|
-
provider.expects(:make_label_to_path_map).with(true).returns(map)
|
359
|
+
expect(provider).to receive(:make_label_to_path_map).and_return(map)
|
340
360
|
expect(provider.jobsearch("org.mozilla.puppet")).to eq({ "org.mozilla.puppet" => "/path/to/puppet.plist" })
|
341
361
|
end
|
362
|
+
|
342
363
|
it "raises Puppet::Error when the label is still not found" do
|
343
|
-
provider.
|
344
|
-
provider.expects(:make_label_to_path_map).with(true).returns(map)
|
364
|
+
allow(provider).to receive(:make_label_to_path_map).and_return(map)
|
345
365
|
expect { provider.jobsearch("NOSUCH") }.to raise_error(Puppet::Error)
|
346
366
|
end
|
347
367
|
end
|
348
368
|
|
349
369
|
describe "read_overrides" do
|
350
370
|
before do
|
351
|
-
Kernel.
|
371
|
+
allow(Kernel).to receive(:sleep)
|
352
372
|
end
|
373
|
+
|
353
374
|
it "should read overrides" do
|
354
|
-
provider.
|
375
|
+
expect(provider).to receive(:read_plist).once.and_return({})
|
355
376
|
expect(provider.read_overrides).to eq({})
|
356
377
|
end
|
378
|
+
|
357
379
|
it "should retry if read_plist fails" do
|
358
|
-
provider.
|
359
|
-
provider.expects(:read_plist).once.returns(nil)
|
380
|
+
allow(provider).to receive(:read_plist).and_return({}, nil)
|
360
381
|
expect(provider.read_overrides).to eq({})
|
361
382
|
end
|
383
|
+
|
362
384
|
it "raises Puppet::Error after 20 attempts" do
|
363
|
-
provider.
|
385
|
+
expect(provider).to receive(:read_plist).exactly(20).times().and_return(nil)
|
364
386
|
expect { provider.read_overrides }.to raise_error(Puppet::Error)
|
365
387
|
end
|
366
|
-
|
388
|
+
end
|
367
389
|
end
|