puppet 6.21.1-x64-mingw32 → 7.4.1-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -4
- data/Gemfile.lock +5 -5
- data/README.md +1 -1
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -2
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/filebucket.rb +13 -9
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +27 -29
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +57 -162
- data/lib/puppet/environments.rb +8 -23
- data/lib/puppet/face/facts.rb +73 -49
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +8 -0
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +6 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -11
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -12
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/resolver/server_list.rb +6 -10
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -69
- data/lib/puppet/http/service/file_server.rb +18 -27
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/facts/facter.rb +25 -3
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +67 -0
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +3 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/factory.rb +0 -45
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/reference/configuration.rb +7 -5
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +45 -33
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/file.rb +5 -7
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/windows.rb +3 -8
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +521 -1226
- data/man/man5/puppet.conf.5 +34 -94
- data/man/man8/puppet-facts.8 +56 -35
- data/man/man8/puppet-filebucket.8 +3 -3
- data/man/man8/puppet-module.8 +0 -57
- data/man/man8/puppet.8 +1 -1
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/integration/application/agent_spec.rb +24 -11
- data/spec/integration/application/apply_spec.rb +1 -1
- data/spec/integration/application/filebucket_spec.rb +16 -16
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/plugin_spec.rb +23 -1
- data/spec/integration/defaults_spec.rb +7 -3
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -37
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/puppet_spec/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/facts_spec.rb +86 -0
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/ssl_spec.rb +2 -2
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +12 -9
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +22 -47
- data/spec/unit/environments_spec.rb +0 -3
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +14 -2
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +22 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -8
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -62
- data/spec/unit/http/service/file_server_spec.rb +3 -3
- data/spec/unit/http/service/puppetserver_spec.rb +34 -4
- data/spec/unit/http/service_spec.rb +0 -1
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/facts/facter_spec.rb +113 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/network/authconfig_spec.rb +2 -129
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +45 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -92
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/windows_spec.rb +0 -1
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +17 -0
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +19 -55
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/report_spec.rb +0 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +0 -18
- metadata +47 -218
- data/conf/auth.conf +0 -150
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/fact_dif.rb +0 -62
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -309
- data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -78
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -422
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -148
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -645
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/ssl_spec.rb +0 -91
@@ -26,7 +26,7 @@ describe Puppet::FileBucket::File, :uses_checksums => true do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should require contents to be a string" do
|
29
|
-
expect { Puppet::FileBucket::File.new(5) }.to raise_error(ArgumentError, /contents must be a String or Pathname, got a
|
29
|
+
expect { Puppet::FileBucket::File.new(5) }.to raise_error(ArgumentError, /contents must be a String or Pathname, got a Integer$/)
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should complain about options other than :bucket_path" do
|
@@ -49,7 +49,7 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
49
49
|
expect { @parser.parse }.to raise_error(ArgumentError)
|
50
50
|
end
|
51
51
|
|
52
|
-
it "should fail if the value for path
|
52
|
+
it "should fail if the value for path starts with an equals sign" do
|
53
53
|
write_config_file "[one]\npath = /testing"
|
54
54
|
expect { @parser.parse }.to raise_error(ArgumentError)
|
55
55
|
end
|
@@ -97,34 +97,38 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
97
97
|
end
|
98
98
|
|
99
99
|
[:allow,:deny].each { |acl_type|
|
100
|
-
it "should
|
100
|
+
it "should ignore inline comments in #{acl_type}" do
|
101
101
|
write_config_file "[one]\n#{acl_type} something \# will it work?\n"
|
102
102
|
|
103
|
-
|
104
|
-
expect(@mount).to receive(acl_type).with("something")
|
105
|
-
@parser.parse
|
103
|
+
expect(@parser.parse).to eq('one' => @mount)
|
106
104
|
end
|
107
105
|
|
108
|
-
it "should
|
106
|
+
it "should ignore #{acl_type} from ACLs with varying spacing around commas" do
|
109
107
|
write_config_file "[one]\n#{acl_type} someone,sometwo, somethree , somefour ,somefive\n"
|
110
108
|
|
111
|
-
expect(@
|
112
|
-
expect(@mount).to receive(acl_type).exactly(5).times.with(eq('someone').or eq('sometwo').or eq('somethree').or eq('somefour').or eq('somefive'))
|
113
|
-
@parser.parse
|
109
|
+
expect(@parser.parse).to eq('one' => @mount)
|
114
110
|
end
|
115
111
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
112
|
+
it "should log an error and print the location of the #{acl_type} rule" do
|
113
|
+
write_config_file(<<~CONFIG)
|
114
|
+
[one]
|
115
|
+
#{acl_type} one
|
116
|
+
CONFIG
|
117
|
+
|
118
|
+
expect(Puppet).to receive(:err).with(/Entry '#{acl_type} one' is unsupported and will be ignored at \(file: .*, line: 2\)/)
|
120
119
|
|
121
|
-
|
122
|
-
|
123
|
-
@parser.parse
|
124
|
-
end
|
125
|
-
}
|
120
|
+
@parser.parse
|
121
|
+
end
|
126
122
|
}
|
127
123
|
|
124
|
+
it "should not generate an error when parsing 'allow *'" do
|
125
|
+
write_config_file "[one]\nallow *\n"
|
126
|
+
|
127
|
+
expect(Puppet).to receive(:err).never
|
128
|
+
|
129
|
+
@parser.parse
|
130
|
+
end
|
131
|
+
|
128
132
|
it "should return comprehensible error message, if failed on invalid attribute" do
|
129
133
|
write_config_file "[one]\ndo something\n"
|
130
134
|
|
@@ -90,17 +90,14 @@ describe Puppet::FileServing::Configuration do
|
|
90
90
|
|
91
91
|
it "should allow all access to modules, plugins, and tasks if no fileserver.conf exists" do
|
92
92
|
expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
|
93
|
-
modules = double('modules'
|
93
|
+
modules = double('modules')
|
94
94
|
allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
|
95
|
-
expect(modules).to receive(:allow).with('*')
|
96
95
|
|
97
|
-
plugins = double('plugins'
|
96
|
+
plugins = double('plugins')
|
98
97
|
allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
|
99
|
-
expect(plugins).to receive(:allow).with('*')
|
100
98
|
|
101
|
-
tasks = double('tasks'
|
99
|
+
tasks = double('tasks')
|
102
100
|
allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
|
103
|
-
expect(tasks).to receive(:allow).with('*')
|
104
101
|
|
105
102
|
Puppet::FileServing::Configuration.configuration
|
106
103
|
end
|
@@ -108,17 +105,14 @@ describe Puppet::FileServing::Configuration do
|
|
108
105
|
it "should not allow access from all to modules, plugins, and tasks if the fileserver.conf provided some rules" do
|
109
106
|
expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
|
110
107
|
|
111
|
-
modules = double('modules'
|
108
|
+
modules = double('modules')
|
112
109
|
allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
|
113
|
-
expect(modules).not_to receive(:allow).with('*')
|
114
110
|
|
115
|
-
plugins = double('plugins'
|
111
|
+
plugins = double('plugins')
|
116
112
|
allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
|
117
|
-
expect(plugins).not_to receive(:allow).with('*')
|
118
113
|
|
119
|
-
tasks = double('tasks'
|
114
|
+
tasks = double('tasks')
|
120
115
|
allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
|
121
|
-
expect(tasks).not_to receive(:allow).with('*')
|
122
116
|
|
123
117
|
Puppet::FileServing::Configuration.configuration
|
124
118
|
end
|
@@ -15,7 +15,7 @@ describe 'the camelcase function' do
|
|
15
15
|
expect(compile_to_catalog("notify { String(42.camelcase == 42): }")).to have_resource('Notify[true]')
|
16
16
|
end
|
17
17
|
|
18
|
-
it 'performs
|
18
|
+
it 'performs camelcase of international UTF-8 characters' do
|
19
19
|
expect(compile_to_catalog("notify { 'åäö_äö'.camelcase: }")).to have_resource('Notify[ÅäöÄö]')
|
20
20
|
end
|
21
21
|
|
@@ -15,7 +15,7 @@ describe 'the capitalize function' do
|
|
15
15
|
expect(compile_to_catalog("notify { String(42.capitalize == 42): }")).to have_resource('Notify[true]')
|
16
16
|
end
|
17
17
|
|
18
|
-
it 'performs capitalize of international UTF-8 characters'
|
18
|
+
it 'performs capitalize of international UTF-8 characters' do
|
19
19
|
expect(compile_to_catalog("notify { 'åäö'.capitalize: }")).to have_resource('Notify[Åäö]')
|
20
20
|
end
|
21
21
|
|
@@ -15,7 +15,7 @@ describe 'the downcase function' do
|
|
15
15
|
expect(compile_to_catalog("notify { String(42.downcase == 42): }")).to have_resource('Notify[true]')
|
16
16
|
end
|
17
17
|
|
18
|
-
it 'performs
|
18
|
+
it 'performs downcase of international UTF-8 characters' do
|
19
19
|
expect(compile_to_catalog("notify { 'ÅÄÖ'.downcase: }")).to have_resource('Notify[åäö]')
|
20
20
|
end
|
21
21
|
|
@@ -15,7 +15,7 @@ describe 'the upcase function' do
|
|
15
15
|
expect(compile_to_catalog("notify { String(42.upcase == 42): }")).to have_resource('Notify[true]')
|
16
16
|
end
|
17
17
|
|
18
|
-
it 'performs
|
18
|
+
it 'performs upcase of international UTF-8 characters' do
|
19
19
|
expect(compile_to_catalog("notify { 'åäö'.upcase: }")).to have_resource('Notify[ÅÄÖ]')
|
20
20
|
end
|
21
21
|
|
@@ -154,7 +154,7 @@ describe Puppet::HTTP::Client do
|
|
154
154
|
stub_request(:get, uri)
|
155
155
|
|
156
156
|
response = client.get(uri)
|
157
|
-
expect(response).to
|
157
|
+
expect(response).to be_a(Puppet::HTTP::Response)
|
158
158
|
expect(response).to be_success
|
159
159
|
expect(response.code).to eq(200)
|
160
160
|
end
|
@@ -224,7 +224,7 @@ describe Puppet::HTTP::Client do
|
|
224
224
|
stub_request(:head, uri)
|
225
225
|
|
226
226
|
response = client.head(uri)
|
227
|
-
expect(response).to
|
227
|
+
expect(response).to be_a(Puppet::HTTP::Response)
|
228
228
|
expect(response).to be_success
|
229
229
|
expect(response.code).to eq(200)
|
230
230
|
end
|
@@ -284,7 +284,7 @@ describe Puppet::HTTP::Client do
|
|
284
284
|
stub_request(:put, uri)
|
285
285
|
|
286
286
|
response = client.put(uri, "", headers: {'Content-Type' => 'text/plain'})
|
287
|
-
expect(response).to
|
287
|
+
expect(response).to be_a(Puppet::HTTP::Response)
|
288
288
|
expect(response).to be_success
|
289
289
|
expect(response.code).to eq(200)
|
290
290
|
end
|
@@ -353,7 +353,7 @@ describe Puppet::HTTP::Client do
|
|
353
353
|
stub_request(:post, uri)
|
354
354
|
|
355
355
|
response = client.post(uri, "", headers: {'Content-Type' => 'text/plain'})
|
356
|
-
expect(response).to
|
356
|
+
expect(response).to be_a(Puppet::HTTP::Response)
|
357
357
|
expect(response).to be_success
|
358
358
|
expect(response.code).to eq(200)
|
359
359
|
end
|
@@ -435,7 +435,7 @@ describe Puppet::HTTP::Client do
|
|
435
435
|
stub_request(:delete, uri)
|
436
436
|
|
437
437
|
response = client.delete(uri)
|
438
|
-
expect(response).to
|
438
|
+
expect(response).to be_a(Puppet::HTTP::Response)
|
439
439
|
expect(response).to be_success
|
440
440
|
expect(response.code).to eq(200)
|
441
441
|
end
|
@@ -771,7 +771,7 @@ describe Puppet::HTTP::Client do
|
|
771
771
|
it "should close the connection before sleeping" do
|
772
772
|
retry_after('42')
|
773
773
|
|
774
|
-
site = Puppet::
|
774
|
+
site = Puppet::HTTP::Site.from_uri(uri)
|
775
775
|
|
776
776
|
http1 = Net::HTTP.new(site.host, site.port)
|
777
777
|
http1.use_ssl = true
|
@@ -781,8 +781,7 @@ describe Puppet::HTTP::Client do
|
|
781
781
|
http2.use_ssl = true
|
782
782
|
allow(http2).to receive(:started?).and_return(true)
|
783
783
|
|
784
|
-
|
785
|
-
pool = Puppet::Network::HTTP::Pool.new(15)
|
784
|
+
pool = Puppet::HTTP::Pool.new(15)
|
786
785
|
client = Puppet::HTTP::Client.new(pool: pool)
|
787
786
|
|
788
787
|
# The "with_connection" method is required to yield started connections
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'puppet/
|
2
|
+
require 'puppet/http'
|
3
3
|
|
4
|
-
describe Puppet::
|
4
|
+
describe Puppet::HTTP::DNS do
|
5
5
|
before do
|
6
6
|
@dns_mock_object = double('dns')
|
7
7
|
allow(Resolv::DNS).to receive(:new).and_return(@dns_mock_object)
|
@@ -26,7 +26,7 @@ describe Puppet::Network::Resolver do
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
let(:resolver) {
|
29
|
+
let(:resolver) { described_class.new }
|
30
30
|
|
31
31
|
describe 'when the domain is not known' do
|
32
32
|
before :each do
|
@@ -9,7 +9,7 @@ class Puppet::HTTP::TestExternal
|
|
9
9
|
@host = host
|
10
10
|
@port = port
|
11
11
|
@options = options
|
12
|
-
@factory = Puppet::
|
12
|
+
@factory = Puppet::HTTP::Factory.new
|
13
13
|
end
|
14
14
|
|
15
15
|
def get(path, headers = {}, options = {})
|
@@ -27,7 +27,7 @@ class Puppet::HTTP::TestExternal
|
|
27
27
|
request.basic_auth(options[:basic_auth][:user], options[:basic_auth][:password])
|
28
28
|
end
|
29
29
|
|
30
|
-
site = Puppet::
|
30
|
+
site = Puppet::HTTP::Site.new(@options[:use_ssl] ? 'https' : 'http', @host, @port)
|
31
31
|
http = @factory.create_connection(site)
|
32
32
|
http.start
|
33
33
|
begin
|
@@ -61,7 +61,7 @@ describe Puppet::HTTP::ExternalClient do
|
|
61
61
|
stub_request(:get, uri)
|
62
62
|
|
63
63
|
response = client.get(uri)
|
64
|
-
expect(response).to
|
64
|
+
expect(response).to be_a(Puppet::HTTP::Response)
|
65
65
|
expect(response).to be_success
|
66
66
|
expect(response.code).to eq(200)
|
67
67
|
end
|
@@ -113,7 +113,7 @@ describe Puppet::HTTP::ExternalClient do
|
|
113
113
|
stub_request(:post, uri)
|
114
114
|
|
115
115
|
response = client.post(uri, "", headers: {'Content-Type' => 'text/plain'})
|
116
|
-
expect(response).to
|
116
|
+
expect(response).to be_a(Puppet::HTTP::Response)
|
117
117
|
expect(response).to be_success
|
118
118
|
expect(response.code).to eq(200)
|
119
119
|
end
|
@@ -1,22 +1,16 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'puppet/
|
3
|
-
require 'puppet/util/http_proxy'
|
2
|
+
require 'puppet/http'
|
4
3
|
|
5
|
-
describe Puppet::
|
4
|
+
describe Puppet::HTTP::Factory do
|
6
5
|
before(:all) do
|
7
6
|
ENV['http_proxy'] = nil
|
8
7
|
ENV['HTTP_PROXY'] = nil
|
9
8
|
end
|
10
|
-
before :each do
|
11
|
-
Puppet::SSL::Key.indirection.terminus_class = :memory
|
12
|
-
Puppet::SSL::CertificateRequest.indirection.terminus_class = :memory
|
13
|
-
end
|
14
9
|
|
15
|
-
let(:site) { Puppet::
|
10
|
+
let(:site) { Puppet::HTTP::Site.new('https', 'www.example.com', 443) }
|
16
11
|
|
17
12
|
def create_connection(site)
|
18
|
-
factory =
|
19
|
-
|
13
|
+
factory = described_class.new
|
20
14
|
factory.create_connection(site)
|
21
15
|
end
|
22
16
|
|
@@ -124,7 +118,7 @@ describe Puppet::Network::HTTP::Factory do
|
|
124
118
|
expect(conn.keep_alive_timeout).to eq(2147483647)
|
125
119
|
end
|
126
120
|
|
127
|
-
it "disables ruby's max retry
|
121
|
+
it "disables ruby's max retry" do
|
128
122
|
conn = create_connection(site)
|
129
123
|
|
130
124
|
expect(conn.max_retries).to eq(0)
|
@@ -1,15 +1,15 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
require 'puppet/
|
3
|
+
require 'puppet/http'
|
4
4
|
|
5
|
-
describe Puppet::
|
5
|
+
describe Puppet::HTTP::PoolEntry do
|
6
6
|
let(:connection) { double('connection') }
|
7
7
|
let(:verifier) { double('verifier') }
|
8
8
|
|
9
9
|
def create_session(connection, expiration_time = nil)
|
10
10
|
expiration_time ||= Time.now + 60 * 60
|
11
11
|
|
12
|
-
|
12
|
+
described_class.new(connection, verifier, expiration_time)
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'provides access to its connection' do
|
@@ -4,18 +4,13 @@ require 'openssl'
|
|
4
4
|
require 'puppet/network/http'
|
5
5
|
require 'puppet/network/http_pool'
|
6
6
|
|
7
|
-
describe Puppet::
|
8
|
-
before :each do
|
9
|
-
Puppet::SSL::Key.indirection.terminus_class = :memory
|
10
|
-
Puppet::SSL::CertificateRequest.indirection.terminus_class = :memory
|
11
|
-
end
|
12
|
-
|
7
|
+
describe Puppet::HTTP::Pool do
|
13
8
|
let(:site) do
|
14
|
-
Puppet::
|
9
|
+
Puppet::HTTP::Site.new('https', 'rubygems.org', 443)
|
15
10
|
end
|
16
11
|
|
17
12
|
let(:different_site) do
|
18
|
-
Puppet::
|
13
|
+
Puppet::HTTP::Site.new('https', 'github.com', 443)
|
19
14
|
end
|
20
15
|
|
21
16
|
let(:ssl_context) { Puppet::SSL::SSLContext.new }
|
@@ -26,11 +21,11 @@ describe Puppet::Network::HTTP::Pool do
|
|
26
21
|
end
|
27
22
|
|
28
23
|
def create_pool
|
29
|
-
Puppet::
|
24
|
+
Puppet::HTTP::Pool.new(15)
|
30
25
|
end
|
31
26
|
|
32
27
|
def create_pool_with_connections(site, *connections)
|
33
|
-
pool = Puppet::
|
28
|
+
pool = Puppet::HTTP::Pool.new(15)
|
34
29
|
connections.each do |conn|
|
35
30
|
pool.release(site, verifier, conn)
|
36
31
|
end
|
@@ -38,7 +33,7 @@ describe Puppet::Network::HTTP::Pool do
|
|
38
33
|
end
|
39
34
|
|
40
35
|
def create_pool_with_http_connections(site, *connections)
|
41
|
-
pool = Puppet::
|
36
|
+
pool = Puppet::HTTP::Pool.new(15)
|
42
37
|
connections.each do |conn|
|
43
38
|
pool.release(site, nil, conn)
|
44
39
|
end
|
@@ -48,7 +43,7 @@ describe Puppet::Network::HTTP::Pool do
|
|
48
43
|
def create_pool_with_expired_connections(site, *connections)
|
49
44
|
# setting keepalive timeout to -1 ensures any newly added
|
50
45
|
# connections have already expired
|
51
|
-
pool = Puppet::
|
46
|
+
pool = Puppet::HTTP::Pool.new(-1)
|
52
47
|
connections.each do |conn|
|
53
48
|
pool.release(site, verifier, conn)
|
54
49
|
end
|
@@ -230,11 +225,11 @@ describe Puppet::Network::HTTP::Pool do
|
|
230
225
|
end
|
231
226
|
|
232
227
|
it 'returns a new HTTP connection if the cached connection is HTTPS' do
|
233
|
-
https_site = Puppet::
|
228
|
+
https_site = Puppet::HTTP::Site.new('https', 'www.example.com', 443)
|
234
229
|
old_conn = create_connection(https_site)
|
235
230
|
pool = create_pool_with_connections(https_site, old_conn)
|
236
231
|
|
237
|
-
http_site = Puppet::
|
232
|
+
http_site = Puppet::HTTP::Site.new('http', 'www.example.com', 443)
|
238
233
|
new_conn = create_http_connection(http_site)
|
239
234
|
allow(pool.factory).to receive(:create_connection).with(http_site).and_return(new_conn)
|
240
235
|
|
@@ -242,11 +237,11 @@ describe Puppet::Network::HTTP::Pool do
|
|
242
237
|
end
|
243
238
|
|
244
239
|
it 'returns a new HTTPS connection if the cached connection is HTTP' do
|
245
|
-
http_site = Puppet::
|
240
|
+
http_site = Puppet::HTTP::Site.new('http', 'www.example.com', 443)
|
246
241
|
old_conn = create_http_connection(http_site)
|
247
242
|
pool = create_pool_with_http_connections(http_site, old_conn)
|
248
243
|
|
249
|
-
https_site = Puppet::
|
244
|
+
https_site = Puppet::HTTP::Site.new('https', 'www.example.com', 443)
|
250
245
|
new_conn = create_connection(https_site)
|
251
246
|
allow(pool.factory).to receive(:create_connection).with(https_site).and_return(new_conn)
|
252
247
|
|
@@ -279,7 +274,7 @@ describe Puppet::Network::HTTP::Pool do
|
|
279
274
|
end
|
280
275
|
|
281
276
|
it 'returns a cached connection if both connections are http' do
|
282
|
-
http_site = Puppet::
|
277
|
+
http_site = Puppet::HTTP::Site.new('http', 'www.example.com', 80)
|
283
278
|
old_conn = create_http_connection(http_site)
|
284
279
|
pool = create_pool_with_http_connections(http_site, old_conn)
|
285
280
|
|
@@ -1,10 +1,8 @@
|
|
1
1
|
require 'uri'
|
2
2
|
require 'spec_helper'
|
3
|
-
require 'puppet/
|
4
|
-
|
5
|
-
describe Puppet::Util::HttpProxy do
|
6
|
-
include Puppet::Network::HTTP::Compression.module
|
3
|
+
require 'puppet/http'
|
7
4
|
|
5
|
+
describe Puppet::HTTP::Proxy do
|
8
6
|
before(:all) do
|
9
7
|
ENV['http_proxy'] = nil
|
10
8
|
ENV['HTTP_PROXY'] = nil
|
@@ -346,69 +344,4 @@ describe Puppet::Util::HttpProxy do
|
|
346
344
|
end
|
347
345
|
end
|
348
346
|
end
|
349
|
-
|
350
|
-
describe '.request_with_redirects' do
|
351
|
-
let(:dest) { URI.parse('http://mydomain.com/some/path') }
|
352
|
-
|
353
|
-
it 'generates accept and accept-encoding headers' do
|
354
|
-
stub_request(:head, dest)
|
355
|
-
|
356
|
-
headers = {
|
357
|
-
'Accept' => '*/*',
|
358
|
-
'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
|
359
|
-
'User-Agent' => /Puppet/
|
360
|
-
}
|
361
|
-
stub_request(:get, dest).with(headers: headers)
|
362
|
-
|
363
|
-
subject.request_with_redirects(dest, :get, 0)
|
364
|
-
end
|
365
|
-
|
366
|
-
it 'can return a compressed response body' do
|
367
|
-
stub_request(:head, dest)
|
368
|
-
|
369
|
-
compressed_body = [
|
370
|
-
0x1f, 0x8b, 0x08, 0x08, 0xe9, 0x08, 0x7a, 0x5a, 0x00, 0x03,
|
371
|
-
0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0xcb, 0xc8, 0xe4, 0x02,
|
372
|
-
0x00, 0x7a, 0x7a, 0x6f, 0xed, 0x03, 0x00, 0x00, 0x00
|
373
|
-
].pack('C*')
|
374
|
-
|
375
|
-
stub_request(:get, dest).to_return(status: 200, body: compressed_body, headers: { 'Content-Encoding' => 'gzip' })
|
376
|
-
|
377
|
-
expect(
|
378
|
-
uncompress_body(subject.request_with_redirects(dest, :get, 0))
|
379
|
-
).to eq("hi\n")
|
380
|
-
end
|
381
|
-
|
382
|
-
it 'generates accept and accept-encoding headers when a block is provided' do
|
383
|
-
stub_request(:head, dest)
|
384
|
-
|
385
|
-
headers = {
|
386
|
-
'Accept' => '*/*',
|
387
|
-
'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
|
388
|
-
'User-Agent' => /Puppet/
|
389
|
-
}
|
390
|
-
stub_request(:get, dest).with(headers: headers)
|
391
|
-
|
392
|
-
subject.request_with_redirects(dest, :get, 0) do
|
393
|
-
# unused
|
394
|
-
end
|
395
|
-
end
|
396
|
-
|
397
|
-
it 'only makes a single HEAD request' do
|
398
|
-
stub_request(:head, dest)
|
399
|
-
|
400
|
-
subject.request_with_redirects(dest, :head, 0)
|
401
|
-
end
|
402
|
-
|
403
|
-
it 'preserves query parameters' do
|
404
|
-
url = URI.parse('http://mydomain.com/some/path?foo=bar')
|
405
|
-
|
406
|
-
stub_request(:head, url)
|
407
|
-
stub_request(:get, url)
|
408
|
-
|
409
|
-
subject.request_with_redirects(url, :get, 0) do
|
410
|
-
# unused
|
411
|
-
end
|
412
|
-
end
|
413
|
-
end
|
414
347
|
end
|