puppet 6.0.7-x64-mingw32 → 6.0.8-x64-mingw32
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,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
3
|
require 'pathname'
|
@@ -16,7 +15,12 @@ shared_examples_for "a restorable file" do
|
|
16
15
|
it "should restore the file" do
|
17
16
|
request = nil
|
18
17
|
|
19
|
-
|
18
|
+
# With the *_any_instance_of form of using a block on receive, the
|
19
|
+
# first argument to the block is which instance is currently being
|
20
|
+
# dealt with, and the remaining arguments are the arguments to the
|
21
|
+
# method, instead of the block only getting the arguments to the
|
22
|
+
# method.
|
23
|
+
expect_any_instance_of(klass).to receive(:find) { |_,r| request = r }.and_return(Puppet::FileBucket::File.new(plaintext))
|
20
24
|
|
21
25
|
expect(dipper.restore(dest, checksum)).to eq(checksum)
|
22
26
|
expect(digest(Puppet::FileSystem.binread(dest))).to eq(checksum)
|
@@ -29,12 +33,12 @@ shared_examples_for "a restorable file" do
|
|
29
33
|
it "should skip restoring if existing file has the same checksum" do
|
30
34
|
File.open(dest, 'wb') {|f| f.print(plaintext) }
|
31
35
|
|
32
|
-
dipper.
|
36
|
+
expect(dipper).not_to receive(:getfile)
|
33
37
|
expect(dipper.restore(dest, checksum)).to be_nil
|
34
38
|
end
|
35
39
|
|
36
40
|
it "should overwrite existing file if it has different checksum" do
|
37
|
-
klass.
|
41
|
+
expect_any_instance_of(klass).to receive(:find).and_return(Puppet::FileBucket::File.new(plaintext))
|
38
42
|
|
39
43
|
File.open(dest, 'wb') {|f| f.print('other contents') }
|
40
44
|
|
@@ -57,7 +61,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
57
61
|
@dipper = Puppet::FileBucket::Dipper.new(:Path => make_absolute("/my/bucket"))
|
58
62
|
|
59
63
|
file = make_tmp_file('contents')
|
60
|
-
Puppet::FileBucket::File.indirection.
|
64
|
+
expect(Puppet::FileBucket::File.indirection).to receive(:head).and_raise(ArgumentError)
|
61
65
|
|
62
66
|
expect { @dipper.backup(file) }.to raise_error(Puppet::Error)
|
63
67
|
end
|
@@ -66,8 +70,8 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
66
70
|
@dipper = Puppet::FileBucket::Dipper.new(:Path => make_absolute("/my/bucket"))
|
67
71
|
|
68
72
|
file = make_tmp_file('contents')
|
69
|
-
Puppet::FileBucket::File.indirection.
|
70
|
-
Puppet::FileBucket::File.indirection.
|
73
|
+
expect(Puppet::FileBucket::File.indirection).to receive(:head).and_return(false)
|
74
|
+
expect(Puppet::FileBucket::File.indirection).to receive(:save).and_raise(ArgumentError)
|
71
75
|
|
72
76
|
expect { @dipper.backup(file) }.to raise_error(Puppet::Error)
|
73
77
|
end
|
@@ -118,9 +122,9 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
118
122
|
expect(@dipper.diff(checksum2, nil, nil, file1)).to include(diff21)
|
119
123
|
expect(@dipper.diff(nil, checksum1, file2, nil)).to include(diff21)
|
120
124
|
expect(@dipper.diff(nil, nil, file2, file1)).to include(diff21)
|
121
|
-
|
122
125
|
end
|
123
126
|
end
|
127
|
+
|
124
128
|
describe "in windows environment", :if => Puppet::Util::Platform.windows? do
|
125
129
|
it "should fail in an informative way when trying to diff" do
|
126
130
|
@dipper = Puppet::FileBucket::Dipper.new(:Path => tmpdir("bucket"))
|
@@ -135,9 +139,10 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
135
139
|
end
|
136
140
|
end
|
137
141
|
end
|
142
|
+
|
138
143
|
it "should fail in an informative way when there are failures listing files on the server" do
|
139
144
|
@dipper = Puppet::FileBucket::Dipper.new(:Path => "/unexistent/bucket")
|
140
|
-
Puppet::FileBucket::File.indirection.
|
145
|
+
expect(Puppet::FileBucket::File.indirection).to receive(:find).and_return(nil)
|
141
146
|
|
142
147
|
expect { @dipper.list(nil, nil) }.to raise_error(Puppet::Error)
|
143
148
|
end
|
@@ -256,7 +261,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
256
261
|
@dipper = Puppet::FileBucket::Dipper.new(:Server => "puppetmaster", :Port => "31337")
|
257
262
|
wrong_checksum = "DEADBEEF"
|
258
263
|
|
259
|
-
Puppet::FileBucketFile::Rest.
|
264
|
+
expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:find).and_return(nil)
|
260
265
|
expect { @dipper.diff(wrong_checksum, "WEIRDCKSM", nil, nil) }.to raise_error(Puppet::Error, "Failed to diff files")
|
261
266
|
|
262
267
|
end
|
@@ -264,7 +269,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
264
269
|
it "should properly diff files on the filebucket" do
|
265
270
|
@dipper = Puppet::FileBucket::Dipper.new(:Server => "puppetmaster", :Port => "31337")
|
266
271
|
|
267
|
-
Puppet::FileBucketFile::Rest.
|
272
|
+
expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:find).and_return("Probably valid diff")
|
268
273
|
|
269
274
|
expect(@dipper.diff("checksum1", "checksum2", nil, nil)).to eq("Probably valid diff")
|
270
275
|
end
|
@@ -316,10 +321,10 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
316
321
|
|
317
322
|
file = make_tmp_file(plaintext)
|
318
323
|
|
319
|
-
Puppet::FileBucket::File.indirection.
|
320
|
-
|
321
|
-
).
|
322
|
-
Puppet::FileBucket::File.indirection.
|
324
|
+
expect(Puppet::FileBucket::File.indirection).to receive(:head).with(
|
325
|
+
%r{#{digest_algorithm}/#{checksum}}, :bucket_path => "/my/bucket"
|
326
|
+
).and_return(true)
|
327
|
+
expect(Puppet::FileBucket::File.indirection).not_to receive(:save)
|
323
328
|
expect(@dipper.backup(file)).to eq(checksum)
|
324
329
|
end
|
325
330
|
|
@@ -328,7 +333,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
328
333
|
|
329
334
|
request = nil
|
330
335
|
|
331
|
-
Puppet::FileBucketFile::File.
|
336
|
+
expect_any_instance_of(Puppet::FileBucketFile::File).to receive(:find) { |_,r| request = r }.once.and_return(Puppet::FileBucket::File.new(plaintext))
|
332
337
|
|
333
338
|
expect(@dipper.getfile(checksum)).to eq(plaintext)
|
334
339
|
|
@@ -349,8 +354,8 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
349
354
|
request1 = nil
|
350
355
|
request2 = nil
|
351
356
|
|
352
|
-
Puppet::FileBucketFile::Rest.
|
353
|
-
Puppet::FileBucketFile::Rest.
|
357
|
+
expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:head) { |_,r| request1 = r }.once.and_return(nil)
|
358
|
+
expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:save) { |_,r| request2 = r }.once
|
354
359
|
|
355
360
|
expect(@dipper.backup(file)).to eq(checksum)
|
356
361
|
[request1, request2].each do |r|
|
@@ -365,7 +370,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
365
370
|
|
366
371
|
request = nil
|
367
372
|
|
368
|
-
Puppet::FileBucketFile::Rest.
|
373
|
+
expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:find) { |_,r| request = r }.and_return(Puppet::FileBucket::File.new(plaintext))
|
369
374
|
|
370
375
|
expect(@dipper.getfile(checksum)).to eq(plaintext)
|
371
376
|
|
@@ -377,7 +382,6 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
|
|
377
382
|
end
|
378
383
|
|
379
384
|
describe "#restore" do
|
380
|
-
|
381
385
|
describe "when restoring from a remote server" do
|
382
386
|
let(:klass) { Puppet::FileBucketFile::Rest }
|
383
387
|
let(:server) { "puppetmaster" }
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
3
|
require 'puppet/file_serving/base'
|
@@ -42,7 +41,7 @@ describe Puppet::FileServing::Base do
|
|
42
41
|
end
|
43
42
|
|
44
43
|
it "should allow specification of a relative path" do
|
45
|
-
Puppet::FileSystem.
|
44
|
+
allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
|
46
45
|
expect(Puppet::FileServing::Base.new(path, :relative_path => "my/file").relative_path).to eq("my/file")
|
47
46
|
end
|
48
47
|
|
@@ -51,19 +50,19 @@ describe Puppet::FileServing::Base do
|
|
51
50
|
end
|
52
51
|
|
53
52
|
it "should correctly indicate if the file is present" do
|
54
|
-
Puppet::FileSystem.
|
53
|
+
expect(Puppet::FileSystem).to receive(:lstat).with(file).and_return(double('stat'))
|
55
54
|
expect(Puppet::FileServing::Base.new(file).exist?).to be_truthy
|
56
55
|
end
|
57
56
|
|
58
57
|
it "should correctly indicate if the file is absent" do
|
59
|
-
Puppet::FileSystem.
|
58
|
+
expect(Puppet::FileSystem).to receive(:lstat).with(file).and_raise(RuntimeError)
|
60
59
|
expect(Puppet::FileServing::Base.new(file).exist?).to be_falsey
|
61
60
|
end
|
62
61
|
|
63
62
|
describe "when setting the relative path" do
|
64
63
|
it "should require that the relative path be unqualified" do
|
65
64
|
@file = Puppet::FileServing::Base.new(path)
|
66
|
-
Puppet::FileSystem.
|
65
|
+
allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
|
67
66
|
expect { @file.relative_path = File.expand_path("/qualified/file") }.to raise_error(ArgumentError)
|
68
67
|
end
|
69
68
|
end
|
@@ -102,7 +101,7 @@ describe Puppet::FileServing::Base do
|
|
102
101
|
let(:file) { Puppet::FileServing::Base.new(path) }
|
103
102
|
|
104
103
|
before :each do
|
105
|
-
Puppet::Util::Platform.
|
104
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
|
106
105
|
end
|
107
106
|
|
108
107
|
it "should preserve double slashes at the beginning of the path" do
|
@@ -119,26 +118,26 @@ describe Puppet::FileServing::Base do
|
|
119
118
|
describe "when stat'ing files" do
|
120
119
|
let(:path) { File.expand_path('/this/file') }
|
121
120
|
let(:file) { Puppet::FileServing::Base.new(path) }
|
122
|
-
let(:stat) {
|
123
|
-
let(:stubbed_file) {
|
121
|
+
let(:stat) { double('stat', :ftype => 'file' ) }
|
122
|
+
let(:stubbed_file) { double(path, :stat => stat, :lstat => stat)}
|
124
123
|
|
125
124
|
it "should stat the file's full path" do
|
126
|
-
Puppet::FileSystem.
|
125
|
+
expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stat)
|
127
126
|
file.stat
|
128
127
|
end
|
129
128
|
|
130
129
|
it "should fail if the file does not exist" do
|
131
|
-
Puppet::FileSystem.
|
130
|
+
expect(Puppet::FileSystem).to receive(:lstat).with(path).and_raise(Errno::ENOENT)
|
132
131
|
expect { file.stat }.to raise_error(Errno::ENOENT)
|
133
132
|
end
|
134
133
|
|
135
134
|
it "should use :lstat if :links is set to :manage" do
|
136
|
-
Puppet::FileSystem.
|
135
|
+
expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stubbed_file)
|
137
136
|
file.stat
|
138
137
|
end
|
139
138
|
|
140
139
|
it "should use :stat if :links is set to :follow" do
|
141
|
-
Puppet::FileSystem.
|
140
|
+
expect(Puppet::FileSystem).to receive(:stat).with(path).and_return(stubbed_file)
|
142
141
|
file.links = :follow
|
143
142
|
file.stat
|
144
143
|
end
|
@@ -150,14 +149,14 @@ describe Puppet::FileServing::Base do
|
|
150
149
|
end
|
151
150
|
|
152
151
|
it "should accept Windows paths on Windows" do
|
153
|
-
Puppet::Util::Platform.
|
154
|
-
Puppet.features.
|
152
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
|
153
|
+
allow(Puppet.features).to receive(:posix?).and_return(false)
|
155
154
|
|
156
155
|
expect(Puppet::FileServing::Base).to be_absolute('c:/foo')
|
157
156
|
end
|
158
157
|
|
159
158
|
it "should reject Windows paths on POSIX" do
|
160
|
-
Puppet::Util::Platform.
|
159
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
161
160
|
|
162
161
|
expect(Puppet::FileServing::Base).not_to be_absolute('c:/foo')
|
163
162
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
3
|
require 'puppet/file_serving/configuration/parser'
|
@@ -34,10 +33,10 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
34
33
|
end
|
35
34
|
|
36
35
|
it "should return a hash of the created mounts" do
|
37
|
-
mount1 =
|
38
|
-
mount2 =
|
39
|
-
Puppet::FileServing::Mount::File.
|
40
|
-
Puppet::FileServing::Mount::File.
|
36
|
+
mount1 = double('one', :validate => true)
|
37
|
+
mount2 = double('two', :validate => true)
|
38
|
+
expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(mount1)
|
39
|
+
expect(Puppet::FileServing::Mount::File).to receive(:new).with("two").and_return(mount2)
|
41
40
|
write_config_file "[one]\n[two]\n"
|
42
41
|
|
43
42
|
result = @parser.parse
|
@@ -56,21 +55,21 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
56
55
|
end
|
57
56
|
|
58
57
|
it "should validate each created mount" do
|
59
|
-
mount1 =
|
60
|
-
Puppet::FileServing::Mount::File.
|
58
|
+
mount1 = double('one')
|
59
|
+
expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(mount1)
|
61
60
|
write_config_file "[one]\n"
|
62
61
|
|
63
|
-
mount1.
|
62
|
+
expect(mount1).to receive(:validate)
|
64
63
|
|
65
64
|
@parser.parse
|
66
65
|
end
|
67
66
|
|
68
67
|
it "should fail if any mount does not pass validation" do
|
69
|
-
mount1 =
|
70
|
-
Puppet::FileServing::Mount::File.
|
68
|
+
mount1 = double('one')
|
69
|
+
expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(mount1)
|
71
70
|
write_config_file "[one]\n"
|
72
71
|
|
73
|
-
mount1.
|
72
|
+
expect(mount1).to receive(:validate).and_raise(RuntimeError)
|
74
73
|
|
75
74
|
expect { @parser.parse }.to raise_error(RuntimeError)
|
76
75
|
end
|
@@ -86,15 +85,15 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
86
85
|
include FSConfigurationParserTesting
|
87
86
|
|
88
87
|
before do
|
89
|
-
@mount =
|
90
|
-
Puppet::FileServing::Mount::File.
|
91
|
-
@parser.
|
88
|
+
@mount = double('testmount', :name => "one", :validate => true)
|
89
|
+
expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(@mount)
|
90
|
+
allow(@parser).to receive(:add_modules_mount)
|
92
91
|
end
|
93
92
|
|
94
93
|
it "should set the mount path to the path attribute from that section" do
|
95
94
|
write_config_file "[one]\npath /some/path\n"
|
96
95
|
|
97
|
-
@mount.
|
96
|
+
expect(@mount).to receive(:path=).with("/some/path")
|
98
97
|
@parser.parse
|
99
98
|
end
|
100
99
|
|
@@ -102,16 +101,16 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
102
101
|
it "should support inline comments in #{acl_type}" do
|
103
102
|
write_config_file "[one]\n#{acl_type} something \# will it work?\n"
|
104
103
|
|
105
|
-
@mount.
|
106
|
-
@mount.
|
104
|
+
expect(@mount).to receive(:info)
|
105
|
+
expect(@mount).to receive(acl_type).with("something")
|
107
106
|
@parser.parse
|
108
107
|
end
|
109
108
|
|
110
109
|
it "should tell the mount to #{acl_type} from ACLs with varying spacing around commas" do
|
111
110
|
write_config_file "[one]\n#{acl_type} someone,sometwo, somethree , somefour ,somefive\n"
|
112
111
|
|
113
|
-
@mount.
|
114
|
-
@mount.
|
112
|
+
expect(@mount).to receive(:info).exactly(5).times
|
113
|
+
expect(@mount).to receive(acl_type).exactly(5).times.with(eq('someone').or eq('sometwo').or eq('somethree').or eq('somefour').or eq('somefive'))
|
115
114
|
@parser.parse
|
116
115
|
end
|
117
116
|
|
@@ -120,8 +119,8 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
120
119
|
it "should tell the mount to #{acl_type} from ACLs with glob at #{ip_pattern}" do
|
121
120
|
write_config_file "[one]\n#{acl_type} #{ip_pattern}\n"
|
122
121
|
|
123
|
-
@mount.
|
124
|
-
@mount.
|
122
|
+
expect(@mount).to receive(:info)
|
123
|
+
expect(@mount).to receive(acl_type).with(ip_pattern)
|
125
124
|
@parser.parse
|
126
125
|
end
|
127
126
|
}
|
@@ -138,21 +137,21 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
138
137
|
include FSConfigurationParserTesting
|
139
138
|
|
140
139
|
before do
|
141
|
-
@mount =
|
140
|
+
@mount = double('modulesmount', :name => "modules", :validate => true)
|
142
141
|
end
|
143
142
|
|
144
143
|
it "should create an instance of the Modules Mount class" do
|
145
144
|
write_config_file "[modules]\n"
|
146
145
|
|
147
|
-
Puppet::FileServing::Mount::Modules.
|
146
|
+
expect(Puppet::FileServing::Mount::Modules).to receive(:new).with("modules").and_return(@mount)
|
148
147
|
@parser.parse
|
149
148
|
end
|
150
149
|
|
151
150
|
it "should warn if a path is set" do
|
152
151
|
write_config_file "[modules]\npath /some/path\n"
|
153
|
-
Puppet::FileServing::Mount::Modules.
|
152
|
+
expect(Puppet::FileServing::Mount::Modules).to receive(:new).with("modules").and_return(@mount)
|
154
153
|
|
155
|
-
Puppet.
|
154
|
+
expect(Puppet).to receive(:warning)
|
156
155
|
@parser.parse
|
157
156
|
end
|
158
157
|
end
|
@@ -161,20 +160,20 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
161
160
|
include FSConfigurationParserTesting
|
162
161
|
|
163
162
|
before do
|
164
|
-
@mount =
|
163
|
+
@mount = double('pluginsmount', :name => "plugins", :validate => true)
|
165
164
|
end
|
166
165
|
|
167
166
|
it "should create an instance of the Plugins Mount class" do
|
168
167
|
write_config_file "[plugins]\n"
|
169
168
|
|
170
|
-
Puppet::FileServing::Mount::Plugins.
|
169
|
+
expect(Puppet::FileServing::Mount::Plugins).to receive(:new).with("plugins").and_return(@mount)
|
171
170
|
@parser.parse
|
172
171
|
end
|
173
172
|
|
174
173
|
it "should warn if a path is set" do
|
175
174
|
write_config_file "[plugins]\npath /some/path\n"
|
176
175
|
|
177
|
-
Puppet.
|
176
|
+
expect(Puppet).to receive(:warning)
|
178
177
|
@parser.parse
|
179
178
|
end
|
180
179
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
3
|
require 'puppet/file_serving/configuration'
|
@@ -25,17 +24,16 @@ describe Puppet::FileServing::Configuration do
|
|
25
24
|
end
|
26
25
|
|
27
26
|
describe "when initializing" do
|
28
|
-
|
29
27
|
it "should work without a configuration file" do
|
30
|
-
Puppet::FileSystem.
|
28
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(@path).and_return(false)
|
31
29
|
expect { Puppet::FileServing::Configuration.configuration }.to_not raise_error
|
32
30
|
end
|
33
31
|
|
34
32
|
it "should parse the configuration file if present" do
|
35
|
-
Puppet::FileSystem.
|
36
|
-
@parser =
|
37
|
-
@parser.
|
38
|
-
Puppet::FileServing::Configuration::Parser.
|
33
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(@path).and_return(true)
|
34
|
+
@parser = double('parser')
|
35
|
+
expect(@parser).to receive(:parse).and_return({})
|
36
|
+
allow(Puppet::FileServing::Configuration::Parser).to receive(:new).and_return(@parser)
|
39
37
|
Puppet::FileServing::Configuration.configuration
|
40
38
|
end
|
41
39
|
|
@@ -45,38 +43,37 @@ describe Puppet::FileServing::Configuration do
|
|
45
43
|
end
|
46
44
|
|
47
45
|
describe "when parsing the configuration file" do
|
48
|
-
|
49
46
|
before do
|
50
|
-
Puppet::FileSystem.
|
51
|
-
@parser =
|
52
|
-
Puppet::FileServing::Configuration::Parser.
|
47
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(@path).and_return(true)
|
48
|
+
@parser = double('parser')
|
49
|
+
allow(Puppet::FileServing::Configuration::Parser).to receive(:new).and_return(@parser)
|
53
50
|
end
|
54
51
|
|
55
52
|
it "should set the mount list to the results of parsing" do
|
56
|
-
@parser.
|
53
|
+
expect(@parser).to receive(:parse).and_return("one" => double("mount"))
|
57
54
|
config = Puppet::FileServing::Configuration.configuration
|
58
55
|
expect(config.mounted?("one")).to be_truthy
|
59
56
|
end
|
60
57
|
|
61
58
|
it "should not raise exceptions" do
|
62
|
-
@parser.
|
59
|
+
expect(@parser).to receive(:parse).and_raise(ArgumentError)
|
63
60
|
expect { Puppet::FileServing::Configuration.configuration }.to_not raise_error
|
64
61
|
end
|
65
62
|
|
66
63
|
it "should replace the existing mount list with the results of reparsing" do
|
67
|
-
@parser.
|
64
|
+
expect(@parser).to receive(:parse).and_return("one" => double("mount"))
|
68
65
|
config = Puppet::FileServing::Configuration.configuration
|
69
66
|
expect(config.mounted?("one")).to be_truthy
|
70
67
|
# Now parse again
|
71
|
-
@parser.
|
68
|
+
expect(@parser).to receive(:parse).and_return("two" => double('other'))
|
72
69
|
config.send(:readconfig, false)
|
73
70
|
expect(config.mounted?("one")).to be_falsey
|
74
71
|
expect(config.mounted?("two")).to be_truthy
|
75
72
|
end
|
76
73
|
|
77
74
|
it "should not replace the mount list until the file is entirely parsed successfully" do
|
78
|
-
@parser.
|
79
|
-
@parser.
|
75
|
+
expect(@parser).to receive(:parse).and_return("one" => double("mount"))
|
76
|
+
expect(@parser).to receive(:parse).and_raise(ArgumentError)
|
80
77
|
config = Puppet::FileServing::Configuration.configuration
|
81
78
|
# Now parse again, so the exception gets thrown
|
82
79
|
config.send(:readconfig, false)
|
@@ -84,7 +81,7 @@ describe Puppet::FileServing::Configuration do
|
|
84
81
|
end
|
85
82
|
|
86
83
|
it "should add modules, plugins, and tasks mounts even if the file does not exist" do
|
87
|
-
Puppet::FileSystem.
|
84
|
+
expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
|
88
85
|
config = Puppet::FileServing::Configuration.configuration
|
89
86
|
expect(config.mounted?("modules")).to be_truthy
|
90
87
|
expect(config.mounted?("plugins")).to be_truthy
|
@@ -92,43 +89,43 @@ describe Puppet::FileServing::Configuration do
|
|
92
89
|
end
|
93
90
|
|
94
91
|
it "should allow all access to modules, plugins, and tasks if no fileserver.conf exists" do
|
95
|
-
Puppet::FileSystem.
|
96
|
-
modules =
|
97
|
-
Puppet::FileServing::Mount::Modules.
|
98
|
-
modules.
|
92
|
+
expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
|
93
|
+
modules = double('modules', :empty? => true)
|
94
|
+
allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
|
95
|
+
expect(modules).to receive(:allow).with('*')
|
99
96
|
|
100
|
-
plugins =
|
101
|
-
Puppet::FileServing::Mount::Plugins.
|
102
|
-
plugins.
|
97
|
+
plugins = double('plugins', :empty? => true)
|
98
|
+
allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
|
99
|
+
expect(plugins).to receive(:allow).with('*')
|
103
100
|
|
104
|
-
tasks =
|
105
|
-
Puppet::FileServing::Mount::Tasks.
|
106
|
-
tasks.
|
101
|
+
tasks = double('tasks', :empty? => true)
|
102
|
+
allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
|
103
|
+
expect(tasks).to receive(:allow).with('*')
|
107
104
|
|
108
105
|
Puppet::FileServing::Configuration.configuration
|
109
106
|
end
|
110
107
|
|
111
108
|
it "should not allow access from all to modules, plugins, and tasks if the fileserver.conf provided some rules" do
|
112
|
-
Puppet::FileSystem.
|
109
|
+
expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
|
113
110
|
|
114
|
-
modules =
|
115
|
-
Puppet::FileServing::Mount::Modules.
|
116
|
-
modules.
|
111
|
+
modules = double('modules', :empty? => false)
|
112
|
+
allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
|
113
|
+
expect(modules).not_to receive(:allow).with('*')
|
117
114
|
|
118
|
-
plugins =
|
119
|
-
Puppet::FileServing::Mount::Plugins.
|
120
|
-
plugins.
|
115
|
+
plugins = double('plugins', :empty? => false)
|
116
|
+
allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
|
117
|
+
expect(plugins).not_to receive(:allow).with('*')
|
121
118
|
|
122
|
-
tasks =
|
123
|
-
Puppet::FileServing::Mount::Tasks.
|
124
|
-
tasks.
|
119
|
+
tasks = double('tasks', :empty? => false)
|
120
|
+
allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
|
121
|
+
expect(tasks).not_to receive(:allow).with('*')
|
125
122
|
|
126
123
|
Puppet::FileServing::Configuration.configuration
|
127
124
|
end
|
128
125
|
|
129
126
|
it "should add modules, plugins, and tasks mounts even if they are not returned by the parser" do
|
130
|
-
@parser.
|
131
|
-
Puppet::FileSystem.
|
127
|
+
expect(@parser).to receive(:parse).and_return("one" => double("mount"))
|
128
|
+
expect(Puppet::FileSystem).to receive(:exist?).and_return(true) # the file doesn't exist
|
132
129
|
config = Puppet::FileServing::Configuration.configuration
|
133
130
|
expect(config.mounted?("modules")).to be_truthy
|
134
131
|
expect(config.mounted?("plugins")).to be_truthy
|
@@ -139,16 +136,16 @@ describe Puppet::FileServing::Configuration do
|
|
139
136
|
describe "when finding the specified mount" do
|
140
137
|
it "should choose the named mount if one exists" do
|
141
138
|
config = Puppet::FileServing::Configuration.configuration
|
142
|
-
config.
|
143
|
-
expect(config.find_mount("one",
|
139
|
+
expect(config).to receive(:mounts).and_return("one" => "foo")
|
140
|
+
expect(config.find_mount("one", double('env'))).to eq("foo")
|
144
141
|
end
|
145
142
|
|
146
143
|
it "should return nil if there is no such named mount" do
|
147
144
|
config = Puppet::FileServing::Configuration.configuration
|
148
145
|
|
149
|
-
env =
|
150
|
-
mount =
|
151
|
-
config.
|
146
|
+
env = double('environment')
|
147
|
+
mount = double('mount')
|
148
|
+
allow(config).to receive(:mounts).and_return("modules" => mount)
|
152
149
|
|
153
150
|
expect(config.find_mount("foo", env)).to be_nil
|
154
151
|
end
|
@@ -156,66 +153,66 @@ describe Puppet::FileServing::Configuration do
|
|
156
153
|
|
157
154
|
describe "#split_path" do
|
158
155
|
let(:config) { Puppet::FileServing::Configuration.configuration }
|
159
|
-
let(:request) {
|
156
|
+
let(:request) { double('request', :key => "foo/bar/baz", :options => {}, :node => nil, :environment => double("env")) }
|
160
157
|
|
161
158
|
before do
|
162
|
-
config.
|
159
|
+
allow(config).to receive(:find_mount)
|
163
160
|
end
|
164
161
|
|
165
162
|
it "should reread the configuration" do
|
166
|
-
config.
|
163
|
+
expect(config).to receive(:readconfig)
|
167
164
|
|
168
165
|
config.split_path(request)
|
169
166
|
end
|
170
167
|
|
171
168
|
it "should treat the first field of the URI path as the mount name" do
|
172
|
-
config.
|
169
|
+
expect(config).to receive(:find_mount).with("foo", anything)
|
173
170
|
|
174
171
|
config.split_path(request)
|
175
172
|
end
|
176
173
|
|
177
174
|
it "should fail if the mount name is not alpha-numeric" do
|
178
|
-
request.
|
175
|
+
expect(request).to receive(:key).and_return("foo&bar/asdf")
|
179
176
|
|
180
177
|
expect { config.split_path(request) }.to raise_error(ArgumentError)
|
181
178
|
end
|
182
179
|
|
183
180
|
it "should support dashes in the mount name" do
|
184
|
-
request.
|
181
|
+
expect(request).to receive(:key).and_return("foo-bar/asdf")
|
185
182
|
|
186
183
|
expect { config.split_path(request) }.to_not raise_error
|
187
184
|
end
|
188
185
|
|
189
186
|
it "should use the mount name and environment to find the mount" do
|
190
|
-
config.
|
191
|
-
request.
|
187
|
+
expect(config).to receive(:find_mount).with("foo", request.environment)
|
188
|
+
allow(request).to receive(:node).and_return("mynode")
|
192
189
|
|
193
190
|
config.split_path(request)
|
194
191
|
end
|
195
192
|
|
196
193
|
it "should return nil if the mount cannot be found" do
|
197
|
-
config.
|
194
|
+
expect(config).to receive(:find_mount).and_return(nil)
|
198
195
|
|
199
196
|
expect(config.split_path(request)).to be_nil
|
200
197
|
end
|
201
198
|
|
202
199
|
it "should return the mount and the relative path if the mount is found" do
|
203
|
-
mount =
|
204
|
-
config.
|
200
|
+
mount = double('mount', :name => "foo")
|
201
|
+
expect(config).to receive(:find_mount).and_return(mount)
|
205
202
|
|
206
203
|
expect(config.split_path(request)).to eq([mount, "bar/baz"])
|
207
204
|
end
|
208
205
|
|
209
206
|
it "should remove any double slashes" do
|
210
|
-
request.
|
211
|
-
mount =
|
212
|
-
config.
|
207
|
+
allow(request).to receive(:key).and_return("foo/bar//baz")
|
208
|
+
mount = double('mount', :name => "foo")
|
209
|
+
expect(config).to receive(:find_mount).and_return(mount)
|
213
210
|
|
214
211
|
expect(config.split_path(request)).to eq([mount, "bar/baz"])
|
215
212
|
end
|
216
213
|
|
217
214
|
it "should fail if the path contains .." do
|
218
|
-
request.
|
215
|
+
allow(request).to receive(:key).and_return('module/foo/../../bar')
|
219
216
|
|
220
217
|
expect do
|
221
218
|
config.split_path(request)
|
@@ -223,17 +220,17 @@ describe Puppet::FileServing::Configuration do
|
|
223
220
|
end
|
224
221
|
|
225
222
|
it "should return the relative path as nil if it is an empty string" do
|
226
|
-
request.
|
227
|
-
mount =
|
228
|
-
config.
|
223
|
+
expect(request).to receive(:key).and_return("foo")
|
224
|
+
mount = double('mount', :name => "foo")
|
225
|
+
expect(config).to receive(:find_mount).and_return(mount)
|
229
226
|
|
230
227
|
expect(config.split_path(request)).to eq([mount, nil])
|
231
228
|
end
|
232
229
|
|
233
230
|
it "should add 'modules/' to the relative path if the modules mount is used but not specified, for backward compatibility" do
|
234
|
-
request.
|
235
|
-
mount =
|
236
|
-
config.
|
231
|
+
expect(request).to receive(:key).and_return("foo/bar")
|
232
|
+
mount = double('mount', :name => "modules")
|
233
|
+
expect(config).to receive(:find_mount).and_return(mount)
|
237
234
|
|
238
235
|
expect(config.split_path(request)).to eq([mount, "foo/bar"])
|
239
236
|
end
|