puppet 6.14.0-universal-darwin → 6.19.0-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CODEOWNERS +2 -7
- data/Gemfile +4 -2
- data/Gemfile.lock +36 -34
- data/README.md +3 -4
- data/Rakefile +4 -12
- data/ext/windows/service/daemon.rb +3 -3
- data/lib/puppet.rb +33 -9
- data/lib/puppet/agent.rb +20 -14
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application/agent.rb +25 -9
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +1 -1
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +5 -14
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/configurer.rb +68 -24
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/context/trusted_information.rb +14 -8
- data/lib/puppet/daemon.rb +13 -27
- data/lib/puppet/defaults.rb +141 -41
- data/lib/puppet/environments.rb +55 -15
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +46 -16
- data/lib/puppet/face/facts.rb +1 -1
- data/lib/puppet/face/help.rb +29 -3
- data/lib/puppet/face/module/search.rb +5 -0
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/plugin.rb +2 -2
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/http_metadata.rb +14 -2
- data/lib/puppet/file_serving/metadata.rb +4 -1
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_serving/terminus_selector.rb +7 -8
- data/lib/puppet/file_system/file_impl.rb +17 -13
- data/lib/puppet/file_system/uniquefile.rb +12 -16
- data/lib/puppet/forge.rb +1 -1
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/repository.rb +4 -7
- data/lib/puppet/functions/call.rb +1 -1
- data/lib/puppet/functions/filter.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reduce.rb +2 -4
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +3 -0
- data/lib/puppet/http/client.rb +215 -60
- data/lib/puppet/http/external_client.rb +90 -0
- data/lib/puppet/http/redirector.rb +43 -7
- data/lib/puppet/http/resolver.rb +43 -3
- data/lib/puppet/http/resolver/server_list.rb +66 -24
- data/lib/puppet/http/resolver/settings.rb +21 -1
- data/lib/puppet/http/resolver/srv.rb +28 -2
- data/lib/puppet/http/response.rb +82 -1
- data/lib/puppet/http/retry_after_handler.rb +39 -0
- data/lib/puppet/http/service.rb +70 -2
- data/lib/puppet/http/service/ca.rb +71 -9
- data/lib/puppet/http/service/compiler.rb +214 -12
- data/lib/puppet/http/service/file_server.rb +106 -5
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/service/report.rb +36 -3
- data/lib/puppet/http/session.rb +60 -8
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -1
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +3 -3
- data/lib/puppet/indirector/facts/rest.rb +2 -1
- data/lib/puppet/indirector/facts/yaml.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/rest.rb +48 -0
- data/lib/puppet/indirector/file_content/http.rb +5 -0
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/http.rb +28 -8
- data/lib/puppet/indirector/file_metadata/rest.rb +6 -4
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -1
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/yaml.rb +23 -0
- data/lib/puppet/indirector/request.rb +5 -5
- data/lib/puppet/indirector/rest.rb +7 -1
- data/lib/puppet/indirector/status/rest.rb +2 -1
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/metatype/manager.rb +80 -80
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environment.rb +3 -0
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/base_pool.rb +6 -1
- data/lib/puppet/network/http/compression.rb +7 -0
- data/lib/puppet/network/http/connection.rb +2 -0
- data/lib/puppet/network/http/connection_adapter.rb +184 -0
- data/lib/puppet/network/http/nocache_pool.rb +1 -0
- data/lib/puppet/network/http/pool.rb +2 -4
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +2 -1
- data/lib/puppet/node/environment.rb +22 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/catalog_compiler.rb +5 -0
- data/lib/puppet/pal/pal_impl.rb +30 -31
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/leaf.rb +5 -5
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -4
- data/lib/puppet/parser/compiler.rb +43 -33
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -0
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
- data/lib/puppet/parser/environment_compiler.rb +4 -1
- data/lib/puppet/parser/functions.rb +18 -9
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/functions/filter.rb +1 -0
- data/lib/puppet/parser/resource.rb +3 -2
- data/lib/puppet/parser/resource/param.rb +6 -0
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -5
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/issues.rb +5 -0
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +24 -15
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -0
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/validation/checker4_0.rb +29 -15
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +3 -3
- data/lib/puppet/provider/package/aix.rb +17 -2
- data/lib/puppet/provider/package/apt.rb +98 -1
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dnfmodule.rb +61 -14
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +45 -9
- data/lib/puppet/provider/package/pacman.rb +2 -5
- data/lib/puppet/provider/package/pip.rb +143 -48
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pip3.rb +0 -2
- data/lib/puppet/provider/package/pkgdmg.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +16 -4
- data/lib/puppet/provider/package/portage.rb +2 -2
- data/lib/puppet/provider/package/puppet_gem.rb +11 -2
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/rpm.rb +6 -213
- data/lib/puppet/provider/package/yum.rb +101 -20
- data/lib/puppet/provider/package/zypper.rb +62 -1
- data/lib/puppet/provider/service/systemd.rb +22 -4
- data/lib/puppet/provider/service/windows.rb +23 -7
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +16 -5
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reports/http.rb +15 -9
- data/lib/puppet/resource.rb +2 -1
- data/lib/puppet/resource/type.rb +10 -1
- data/lib/puppet/resource/type_collection.rb +20 -16
- data/lib/puppet/rest/route.rb +2 -2
- data/lib/puppet/runtime.rb +25 -2
- data/lib/puppet/settings.rb +20 -6
- data/lib/puppet/ssl.rb +1 -0
- data/lib/puppet/ssl/host.rb +4 -4
- data/lib/puppet/ssl/oids.rb +1 -0
- data/lib/puppet/ssl/ssl_context.rb +2 -2
- data/lib/puppet/ssl/ssl_provider.rb +20 -1
- data/lib/puppet/ssl/state_machine.rb +79 -37
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/ssl/verifier_adapter.rb +9 -1
- data/lib/puppet/test/test_helper.rb +19 -14
- data/lib/puppet/transaction.rb +2 -2
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +14 -10
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +21 -8
- data/lib/puppet/type/file.rb +40 -15
- data/lib/puppet/type/file/checksum.rb +4 -4
- data/lib/puppet/type/file/source.rb +35 -13
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +41 -3
- data/lib/puppet/type/service.rb +59 -8
- data/lib/puppet/type/user.rb +19 -29
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/at_fork.rb +1 -1
- data/lib/puppet/util/autoload.rb +13 -25
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/checksums.rb +19 -4
- data/lib/puppet/util/connection.rb +8 -8
- data/lib/puppet/util/execution.rb +2 -2
- data/lib/puppet/util/fileparsing.rb +2 -2
- data/lib/puppet/util/instance_loader.rb +14 -10
- data/lib/puppet/util/log/destinations.rb +1 -10
- data/lib/puppet/util/package/version/debian.rb +175 -0
- data/lib/puppet/util/package/version/gem.rb +15 -0
- data/lib/puppet/util/package/version/pip.rb +167 -0
- data/lib/puppet/util/package/version/range.rb +53 -0
- data/lib/puppet/util/package/version/range/eq.rb +14 -0
- data/lib/puppet/util/package/version/range/gt.rb +14 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/lt.rb +14 -0
- data/lib/puppet/util/package/version/range/lt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/min_max.rb +21 -0
- data/lib/puppet/util/package/version/range/simple.rb +11 -0
- data/lib/puppet/util/package/version/rpm.rb +73 -0
- data/lib/puppet/util/pidlock.rb +13 -7
- data/lib/puppet/util/platform.rb +5 -0
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +193 -0
- data/lib/puppet/util/run_mode.rb +5 -1
- data/lib/puppet/util/windows.rb +1 -0
- data/lib/puppet/util/windows/adsi.rb +2 -2
- data/lib/puppet/util/windows/api_types.rb +60 -33
- data/lib/puppet/util/windows/eventlog.rb +1 -6
- data/lib/puppet/util/windows/monkey_patches/dir.rb +40 -0
- data/lib/puppet/util/windows/principal.rb +8 -6
- data/lib/puppet/util/windows/process.rb +15 -14
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/security.rb +5 -4
- data/lib/puppet/util/windows/service.rb +43 -26
- data/lib/puppet/util/windows/sid.rb +3 -3
- data/lib/puppet/util/windows/user.rb +242 -8
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +627 -507
- data/man/man5/puppet.conf.5 +93 -20
- data/man/man8/puppet-agent.8 +7 -4
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- 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 +6 -3
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +4 -1
- data/man/man8/puppet-node.8 +4 -4
- 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 +2 -2
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +67 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +48 -0
- data/spec/fixtures/ssl/unknown-ca-key.pem +67 -0
- data/spec/fixtures/ssl/unknown-ca.pem +59 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/dnfmodule/{dnf-module-list-installed.txt → dnf-module-list.txt} +8 -0
- data/spec/fixtures/unit/provider/package/pkgng/pkg.version +2 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +9 -0
- data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +9 -0
- data/spec/integration/application/agent_spec.rb +479 -0
- data/spec/integration/application/apply_spec.rb +279 -150
- data/spec/integration/application/config_spec.rb +74 -0
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +239 -0
- data/spec/integration/application/help_spec.rb +42 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +123 -0
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +27 -3
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/http/client_spec.rb +39 -40
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/indirector/report/yaml.rb +83 -0
- data/spec/integration/network/http_pool_spec.rb +84 -19
- data/spec/integration/node/environment_spec.rb +15 -0
- data/spec/integration/parser/compiler_spec.rb +11 -0
- data/spec/integration/type/file_spec.rb +1 -1
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +8 -3
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +11 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/registry_spec.rb +7 -7
- data/spec/integration/util/windows/user_spec.rb +47 -5
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet/test_ca.rb +2 -2
- data/spec/lib/puppet_spec/https.rb +16 -7
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +127 -0
- data/spec/shared_contexts/https.rb +29 -0
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/agent_spec.rb +80 -26
- data/spec/unit/application/agent_spec.rb +12 -9
- data/spec/unit/application/device_spec.rb +2 -2
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +41 -10
- data/spec/unit/application/filebucket_spec.rb +22 -2
- data/spec/unit/application/man_spec.rb +52 -0
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +15 -2
- data/spec/unit/application_spec.rb +9 -4
- data/spec/unit/configurer/downloader_spec.rb +10 -0
- data/spec/unit/configurer/fact_handler_spec.rb +4 -4
- data/spec/unit/configurer_spec.rb +87 -38
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +25 -2
- data/spec/unit/daemon_spec.rb +5 -64
- data/spec/unit/defaults_spec.rb +24 -1
- data/spec/unit/environments_spec.rb +107 -32
- data/spec/unit/face/config_spec.rb +59 -1
- data/spec/unit/face/module/search_spec.rb +17 -0
- data/spec/unit/face/node_spec.rb +2 -2
- data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
- data/spec/unit/file_system/uniquefile_spec.rb +29 -0
- data/spec/unit/file_system_spec.rb +11 -2
- data/spec/unit/http/client_spec.rb +173 -59
- data/spec/unit/http/external_client_spec.rb +201 -0
- data/spec/unit/http/resolver_spec.rb +44 -5
- data/spec/unit/http/response_spec.rb +6 -0
- data/spec/unit/http/service/ca_spec.rb +27 -5
- data/spec/unit/http/service/compiler_spec.rb +186 -9
- data/spec/unit/http/service/file_server_spec.rb +37 -6
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +5 -4
- data/spec/unit/http/service_spec.rb +3 -4
- data/spec/unit/http/session_spec.rb +48 -12
- data/spec/unit/indirector/catalog/compiler_spec.rb +1 -0
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +82 -2
- data/spec/unit/indirector/file_metadata/http_spec.rb +194 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +15 -14
- data/spec/unit/indirector/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/unit/indirector/request_spec.rb +5 -5
- data/spec/unit/indirector/rest_spec.rb +14 -1
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -1
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/network/http/connection_spec.rb +552 -190
- data/spec/unit/network/http/nocache_pool_spec.rb +22 -0
- data/spec/unit/network/http/pool_spec.rb +3 -3
- data/spec/unit/network/http_pool_spec.rb +63 -57
- data/spec/unit/network/http_spec.rb +1 -1
- data/spec/unit/node/environment_spec.rb +33 -0
- data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +7 -0
- data/spec/unit/parser/scope_spec.rb +1 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +15 -1
- data/spec/unit/pops/loaders/loaders_spec.rb +71 -1
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +1 -11
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/group/windows_adsi_spec.rb +43 -10
- data/spec/unit/provider/package/aix_spec.rb +29 -0
- data/spec/unit/provider/package/apt_spec.rb +107 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +54 -15
- data/spec/unit/provider/package/dpkg_spec.rb +22 -7
- data/spec/unit/provider/package/gem_spec.rb +40 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pacman_spec.rb +6 -21
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip_spec.rb +68 -19
- data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
- data/spec/unit/provider/package/pkgng_spec.rb +38 -0
- data/spec/unit/provider/package/portage_spec.rb +5 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +12 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/rpm_spec.rb +0 -212
- data/spec/unit/provider/package/yum_spec.rb +274 -1
- data/spec/unit/provider/package/zypper_spec.rb +98 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +46 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openbsd_spec.rb +9 -0
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +2 -1
- data/spec/unit/provider/service/redhat_spec.rb +10 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +1 -1
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +95 -18
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +50 -14
- data/spec/unit/provider/user/openbsd_spec.rb +1 -0
- data/spec/unit/provider/user/useradd_spec.rb +30 -16
- data/spec/unit/provider/user/windows_adsi_spec.rb +85 -3
- data/spec/unit/puppet_pal_2pec.rb +11 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +43 -0
- data/spec/unit/puppet_spec.rb +33 -0
- data/spec/unit/reports/http_spec.rb +70 -52
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource_spec.rb +3 -3
- data/spec/unit/rest/route_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +44 -22
- data/spec/unit/ssl/host_spec.rb +4 -2
- data/spec/unit/ssl/oids_spec.rb +1 -0
- data/spec/unit/ssl/ssl_provider_spec.rb +69 -43
- data/spec/unit/ssl/state_machine_spec.rb +90 -14
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +7 -1
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/file_spec.rb +122 -96
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +218 -8
- data/spec/unit/type/user_spec.rb +32 -3
- data/spec/unit/type_spec.rb +50 -0
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +2 -1
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/checksums_spec.rb +16 -0
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/log/destinations_spec.rb +1 -29
- data/spec/unit/util/package/version/debian_spec.rb +83 -0
- data/spec/unit/util/package/version/pip_spec.rb +464 -0
- data/spec/unit/util/package/version/range_spec.rb +175 -0
- data/spec/unit/util/package/version/rpm_spec.rb +121 -0
- data/spec/unit/util/pidlock_spec.rb +83 -47
- data/spec/unit/util/rpm_compare_spec.rb +196 -0
- data/spec/unit/util/run_mode_spec.rb +6 -6
- data/spec/unit/util/windows/adsi_spec.rb +4 -4
- data/spec/unit/util/windows/api_types_spec.rb +104 -40
- data/spec/unit/util/windows/service_spec.rb +4 -4
- data/spec/unit/util/windows/sid_spec.rb +2 -2
- data/spec/unit/util_spec.rb +3 -3
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- data/tasks/generate_cert_fixtures.rake +15 -1
- data/tasks/manpages.rake +5 -35
- metadata +90 -51
- data/spec/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/faces/plugin_spec.rb +0 -63
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -64
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/integration/test/test_helper_spec.rb +0 -31
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/man_spec.rb +0 -31
@@ -1,91 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet/face'
|
3
|
-
|
4
|
-
describe Puppet::Face[:config, '0.0.1'] do
|
5
|
-
include PuppetSpec::Files
|
6
|
-
|
7
|
-
# different UTF-8 widths
|
8
|
-
# 1-byte A
|
9
|
-
# 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
|
10
|
-
# 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
|
11
|
-
# 4-byte 𠜎 - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
|
12
|
-
MIXED_UTF8 = "A\u06FF\u16A0\u{2070E}" # Aۿᚠ𠜎
|
13
|
-
let (:tmp_environment_path) { tmpdir('envpath') }
|
14
|
-
let (:tmp_config) { tmpfile('puppet.conf') }
|
15
|
-
|
16
|
-
def load_settings(path)
|
17
|
-
test_settings = Puppet::Settings.new
|
18
|
-
|
19
|
-
test_settings.define_settings(:main,
|
20
|
-
:config => {
|
21
|
-
:type => :file,
|
22
|
-
:default => path,
|
23
|
-
:desc => '',
|
24
|
-
},
|
25
|
-
:environmentpath => {
|
26
|
-
:default => tmp_environment_path,
|
27
|
-
:desc => '',
|
28
|
-
},
|
29
|
-
:basemodulepath => {
|
30
|
-
:default => '',
|
31
|
-
:desc => '',
|
32
|
-
},
|
33
|
-
# definition required to use the value
|
34
|
-
:rando_key => {
|
35
|
-
:default => '',
|
36
|
-
:desc => ''
|
37
|
-
},
|
38
|
-
MIXED_UTF8.to_sym => {
|
39
|
-
:default => '',
|
40
|
-
:desc => ''
|
41
|
-
},
|
42
|
-
)
|
43
|
-
|
44
|
-
test_settings.initialize_global_settings
|
45
|
-
test_settings
|
46
|
-
end
|
47
|
-
|
48
|
-
before :each do
|
49
|
-
File.open(tmp_config, 'w', :encoding => 'UTF-8') do |file|
|
50
|
-
file.puts <<-EOF
|
51
|
-
[main]
|
52
|
-
rando_key=foobar
|
53
|
-
#{MIXED_UTF8}=foobar
|
54
|
-
EOF
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
context 'when getting / setting UTF8 values' do
|
59
|
-
|
60
|
-
let(:config) { described_class }
|
61
|
-
|
62
|
-
def render(action, result)
|
63
|
-
config.get_action(action).when_rendering(:console).call(result)
|
64
|
-
end
|
65
|
-
|
66
|
-
before :each do
|
67
|
-
allow(subject).to receive(:report_section_and_environment)
|
68
|
-
end
|
69
|
-
|
70
|
-
# key must be a defined setting
|
71
|
-
['rando_key', MIXED_UTF8].each do |key|
|
72
|
-
it "can change '#{key}' keyed ASCII value to a UTF-8 value and read it back" do
|
73
|
-
value = "value#{key.reverse}value"
|
74
|
-
|
75
|
-
# needed for the subject.set to write to correct file
|
76
|
-
allow(Puppet.settings).to receive(:which_configuration_file).and_return(tmp_config)
|
77
|
-
subject.set(key, value)
|
78
|
-
|
79
|
-
# make sure subject.print looks at the newly modified settings
|
80
|
-
test_settings = load_settings(tmp_config)
|
81
|
-
# instead of the default Puppet.settings (implementation detail)
|
82
|
-
allow(Puppet).to receive(:settings).and_return(test_settings)
|
83
|
-
|
84
|
-
result = subject.print()
|
85
|
-
expect(render(:print, result)).to match(/^#{key} = #{value}$/)
|
86
|
-
result = subject.print(key, :section => 'main')
|
87
|
-
expect(render(:print, result)).to eq("#{value}\n")
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet/face'
|
3
|
-
|
4
|
-
describe "documentation of faces" do
|
5
|
-
it "should generate global help" do
|
6
|
-
help = nil
|
7
|
-
expect { help = Puppet::Face[:help, :current].help }.not_to raise_error
|
8
|
-
expect(help).to be_an_instance_of String
|
9
|
-
expect(help.length).to be > 200
|
10
|
-
end
|
11
|
-
|
12
|
-
########################################################################
|
13
|
-
# Can we actually generate documentation for the face, and the actions it
|
14
|
-
# has? This avoids situations where the ERB template turns out to have a
|
15
|
-
# bug in it, triggered in something the user might do.
|
16
|
-
|
17
|
-
context "face help messages" do
|
18
|
-
Puppet::Face.faces.sort.each do |face_name|
|
19
|
-
# REVISIT: We should walk all versions of the face here...
|
20
|
-
let :help do Puppet::Face[:help, :current] end
|
21
|
-
|
22
|
-
context "generating help" do
|
23
|
-
it "for #{face_name}" do
|
24
|
-
expect {
|
25
|
-
text = help.help(face_name)
|
26
|
-
expect(text).to be_an_instance_of String
|
27
|
-
expect(text.length).to be > 100
|
28
|
-
}.not_to raise_error
|
29
|
-
end
|
30
|
-
|
31
|
-
Puppet::Face[face_name, :current].actions.sort.each do |action_name|
|
32
|
-
it "for #{face_name}.#{action_name}" do
|
33
|
-
expect {
|
34
|
-
text = help.help(face_name, action_name)
|
35
|
-
expect(text).to be_an_instance_of String
|
36
|
-
expect(text.length).to be > 100
|
37
|
-
}.not_to raise_error
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
########################################################################
|
43
|
-
# Ensure that we have authorship and copyright information in *our* faces;
|
44
|
-
# if you apply this to third party faces you might well be disappointed.
|
45
|
-
context "licensing of Puppet Inc. face '#{face_name}'" do
|
46
|
-
subject { Puppet::Face[face_name, :current] }
|
47
|
-
its :license do should =~ /Apache\s*2/ end
|
48
|
-
its :copyright do should =~ /Puppet Inc\./ end
|
49
|
-
|
50
|
-
# REVISIT: This is less that ideal, I think, but right now I am more
|
51
|
-
# comfortable watching us ship with some copyright than without any; we
|
52
|
-
# can redress that when it becomes appropriate. --daniel 2011-04-27
|
53
|
-
its :copyright do should =~ /20\d{2}/ end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet/face'
|
3
|
-
require 'puppet/file_serving/metadata'
|
4
|
-
require 'puppet/file_serving/content'
|
5
|
-
require 'puppet/indirector/memory'
|
6
|
-
require 'puppet/indirector/file_metadata'
|
7
|
-
require 'puppet/indirector/file_content'
|
8
|
-
|
9
|
-
module PuppetFaceIntegrationSpecs
|
10
|
-
describe "Puppet plugin face" do
|
11
|
-
INDIRECTORS = [
|
12
|
-
Puppet::Indirector::FileMetadata,
|
13
|
-
Puppet::Indirector::FileContent,
|
14
|
-
]
|
15
|
-
|
16
|
-
INDIRECTED_CLASSES = [
|
17
|
-
Puppet::FileServing::Metadata,
|
18
|
-
Puppet::FileServing::Content,
|
19
|
-
Puppet::Node::Facts,
|
20
|
-
]
|
21
|
-
|
22
|
-
INDIRECTORS.each do |indirector|
|
23
|
-
class indirector::Memory < Puppet::Indirector::Memory
|
24
|
-
def find(request)
|
25
|
-
model.new('/dev/null', { 'type' => 'directory' })
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
before do
|
31
|
-
FileUtils.mkdir(File.join(Puppet[:vardir], 'lib'))
|
32
|
-
FileUtils.mkdir(File.join(Puppet[:vardir], 'facts.d'))
|
33
|
-
FileUtils.mkdir(File.join(Puppet[:vardir], 'locales'))
|
34
|
-
@termini_classes = {}
|
35
|
-
INDIRECTED_CLASSES.each do |indirected|
|
36
|
-
@termini_classes[indirected] = indirected.indirection.terminus_class
|
37
|
-
indirected.indirection.terminus_class = :memory
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
after do
|
42
|
-
INDIRECTED_CLASSES.each do |indirected|
|
43
|
-
indirected.indirection.terminus_class = @termini_classes[indirected]
|
44
|
-
indirected.indirection.termini.clear
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def init_cli_args_and_apply_app(args = ["download"])
|
49
|
-
Puppet::Application.find(:plugin).new(double('command_line', :subcommand_name => :plugin, :args => args))
|
50
|
-
end
|
51
|
-
|
52
|
-
it "processes a download request" do
|
53
|
-
app = init_cli_args_and_apply_app
|
54
|
-
expect do
|
55
|
-
expect {
|
56
|
-
Puppet.override(server_agent_version: '6.13.0') do
|
57
|
-
app.run
|
58
|
-
end
|
59
|
-
}.to exit_with(0)
|
60
|
-
end.to have_printed(/No plugins downloaded/)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
require 'puppet/file_bucket/file'
|
4
|
-
|
5
|
-
describe Puppet::FileBucket::File do
|
6
|
-
describe "#indirection" do
|
7
|
-
before :each do
|
8
|
-
# Never connect to the network, no matter what
|
9
|
-
allow_any_instance_of(described_class.indirection.terminus(:rest).class).to receive(:find)
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "when running another application" do
|
13
|
-
{
|
14
|
-
"md5/d41d8cd98f00b204e9800998ecf8427e" => :file,
|
15
|
-
"filebucket://puppetmaster:8140/md5/d41d8cd98f00b204e9800998ecf8427e" => :rest,
|
16
|
-
}.each do |key, terminus|
|
17
|
-
it "should use the #{terminus} terminus when requesting #{key.inspect}" do
|
18
|
-
expect_any_instance_of(described_class.indirection.terminus(terminus).class).to receive(:find)
|
19
|
-
|
20
|
-
described_class.indirection.find(key)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
describe "saving binary files" do
|
27
|
-
context "given multiple backups of identical files" do
|
28
|
-
it "does not error given content with binary external encoding" do
|
29
|
-
binary = "\xD1\xF2\r\n\x81NuSc\x00".force_encoding(Encoding::ASCII_8BIT)
|
30
|
-
bucket_file = Puppet::FileBucket::File.new(binary)
|
31
|
-
Puppet::FileBucket::File.indirection.save(bucket_file, bucket_file.name)
|
32
|
-
Puppet::FileBucket::File.indirection.save(bucket_file, bucket_file.name)
|
33
|
-
end
|
34
|
-
|
35
|
-
it "also does not error if the content is reported with UTF-8 external encoding" do
|
36
|
-
# PUP-7951 - ensure accurate size comparison across encodings If binary
|
37
|
-
# content arrives as a string with UTF-8 default external encoding, its
|
38
|
-
# character count might be different than the same bytes with binary
|
39
|
-
# external encoding. Ensure our equality comparison does not fail due to this.
|
40
|
-
# As would be the case with our friend snowman:
|
41
|
-
# Unicode snowman \u2603 - \xE2 \x98 \x83
|
42
|
-
# character size 1, if interpreted as UTF-8, 3 "characters" if interpreted as binary
|
43
|
-
utf8 = "\u2603".force_encoding(Encoding::UTF_8)
|
44
|
-
bucket_file = Puppet::FileBucket::File.new(utf8)
|
45
|
-
Puppet::FileBucket::File.indirection.save(bucket_file, bucket_file.name)
|
46
|
-
Puppet::FileBucket::File.indirection.save(bucket_file, bucket_file.name)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
require 'puppet/file_serving/fileset'
|
4
|
-
|
5
|
-
describe Puppet::FileServing::Fileset do
|
6
|
-
it "should be able to recurse on a single file" do
|
7
|
-
@path = Tempfile.new("fileset_integration")
|
8
|
-
|
9
|
-
fileset = Puppet::FileServing::Fileset.new(@path.path)
|
10
|
-
expect { fileset.files }.not_to raise_error
|
11
|
-
end
|
12
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
require 'puppet/file_serving/terminus_helper'
|
4
|
-
|
5
|
-
class TerminusHelperIntegrationTester
|
6
|
-
include Puppet::FileServing::TerminusHelper
|
7
|
-
def model
|
8
|
-
Puppet::FileServing::Metadata
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe Puppet::FileServing::TerminusHelper do
|
13
|
-
it "should be able to recurse on a single file" do
|
14
|
-
@path = Tempfile.new("fileset_integration")
|
15
|
-
request = Puppet::Indirector::Request.new(:metadata, :find, @path.path, nil, :recurse => true)
|
16
|
-
|
17
|
-
tester = TerminusHelperIntegrationTester.new
|
18
|
-
expect { tester.path2instances(request, @path.path) }.not_to raise_error
|
19
|
-
end
|
20
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Puppet::FileSystem::Uniquefile do
|
4
|
-
describe "#open_tmp on Windows", :if => Puppet::Util::Platform.windows? do
|
5
|
-
describe "with UTF8 characters" do
|
6
|
-
include PuppetSpec::Files
|
7
|
-
|
8
|
-
let(:rune_utf8) { "\u16A0\u16C7\u16BB\u16EB\u16D2\u16E6\u16A6\u16EB\u16A0\u16B1\u16A9\u16A0\u16A2\u16B1\u16EB\u16A0\u16C1\u16B1\u16AA\u16EB\u16B7\u16D6\u16BB\u16B9\u16E6\u16DA\u16B3\u16A2\u16D7" }
|
9
|
-
let(:temp_rune_utf8) { tmpdir(rune_utf8) }
|
10
|
-
|
11
|
-
it "should use UTF8 characters in TMP,TEMP,TMPDIR environment variable" do
|
12
|
-
# Set the temporary environment variables to the UTF8 temp path
|
13
|
-
Puppet::Util::Windows::Process.set_environment_variable('TMPDIR', temp_rune_utf8)
|
14
|
-
Puppet::Util::Windows::Process.set_environment_variable('TMP', temp_rune_utf8)
|
15
|
-
Puppet::Util::Windows::Process.set_environment_variable('TEMP', temp_rune_utf8)
|
16
|
-
|
17
|
-
# Create a unique file
|
18
|
-
filename = Puppet::FileSystem::Uniquefile.open_tmp('foo') do |file|
|
19
|
-
File.dirname(file.path)
|
20
|
-
end
|
21
|
-
|
22
|
-
expect(filename).to eq(temp_rune_utf8)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet/forge'
|
3
|
-
require 'puppet_spec/https'
|
4
|
-
|
5
|
-
describe Puppet::Forge, unless: Puppet::Util::Platform.jruby? do
|
6
|
-
include PuppetSpec::Files
|
7
|
-
|
8
|
-
before :all do
|
9
|
-
WebMock.disable!
|
10
|
-
end
|
11
|
-
|
12
|
-
after :all do
|
13
|
-
WebMock.enable!
|
14
|
-
end
|
15
|
-
|
16
|
-
before :each do
|
17
|
-
# make sure we don't take too long
|
18
|
-
Puppet[:http_connect_timeout] = '5s'
|
19
|
-
end
|
20
|
-
|
21
|
-
let(:hostname) { '127.0.0.1' }
|
22
|
-
let(:wrong_hostname) { 'localhost' }
|
23
|
-
let(:server) { PuppetSpec::HTTPSServer.new }
|
24
|
-
let(:ssl_provider) { Puppet::SSL::SSLProvider.new }
|
25
|
-
|
26
|
-
let(:http_response) do
|
27
|
-
File.read(fixtures('unit/forge/bacula.json'))
|
28
|
-
end
|
29
|
-
|
30
|
-
let(:release_response) do
|
31
|
-
releases = JSON.parse(http_response)
|
32
|
-
releases['results'] = []
|
33
|
-
JSON.dump(releases)
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'fetching module release entries' do
|
37
|
-
# create a temp cacert bundle
|
38
|
-
ssl_file = tmpfile('systemstore')
|
39
|
-
File.write(ssl_file, server.ca_cert)
|
40
|
-
|
41
|
-
# override path to system cacert bundle, this must be done before
|
42
|
-
# the SSLContext is created and the call to X509::Store.set_default_paths
|
43
|
-
Puppet::Util.withenv("SSL_CERT_FILE" => ssl_file) do
|
44
|
-
response_proc = -> res {
|
45
|
-
res.status = 200
|
46
|
-
res.body = release_response
|
47
|
-
}
|
48
|
-
|
49
|
-
server.start_server(response_proc: response_proc) do |port|
|
50
|
-
forge = described_class.new("https://127.0.0.1:#{port}")
|
51
|
-
forge.fetch('bacula')
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
it 'returns a valid exception when there is an SSL verification problem' do
|
57
|
-
server.start_server do |port|
|
58
|
-
forge = described_class.new("https://#{wrong_hostname}:#{port}")
|
59
|
-
expect {
|
60
|
-
forge.fetch('mymodule')
|
61
|
-
}.to raise_error Puppet::Forge::Errors::SSLVerifyError, %r{^Unable to verify the SSL certificate at https://#{wrong_hostname}}
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet/module_tool'
|
3
|
-
require 'puppet_spec/files'
|
4
|
-
|
5
|
-
describe Puppet::ModuleTool::Tar::Mini, :if => (Puppet.features.minitar? && Puppet.features.zlib?) do
|
6
|
-
let(:minitar) { described_class.new }
|
7
|
-
|
8
|
-
describe "Extracts tars with long and short pathnames" do
|
9
|
-
let (:sourcetar) { File.expand_path('../../../../fixtures/module.tar.gz', __FILE__) }
|
10
|
-
|
11
|
-
let (:longfilepath) { "puppetlabs-dsc-1.0.0/lib/puppet_x/dsc_resources/xWebAdministration/DSCResources/MSFT_xWebAppPoolDefaults/MSFT_xWebAppPoolDefaults.schema.mof" }
|
12
|
-
let (:shortfilepath) { "puppetlabs-dsc-1.0.0/README.md" }
|
13
|
-
|
14
|
-
it "unpacks a tar with a short path length" do
|
15
|
-
extractdir = PuppetSpec::Files.tmpdir('minitar')
|
16
|
-
|
17
|
-
minitar.unpack(sourcetar,extractdir,'module')
|
18
|
-
expect(File).to exist(File.expand_path("#{extractdir}/#{shortfilepath}"))
|
19
|
-
end
|
20
|
-
|
21
|
-
it "unpacks a tar with a long path length" do
|
22
|
-
extractdir = PuppetSpec::Files.tmpdir('minitar')
|
23
|
-
|
24
|
-
minitar.unpack(sourcetar,extractdir,'module')
|
25
|
-
expect(File).to exist(File.expand_path("#{extractdir}/#{longfilepath}"))
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
test_title = 'Integration Tests for Puppet::Type::Service::Provider::Init'
|
4
|
-
|
5
|
-
describe test_title, unless: Puppet::Util::Platform.jruby? do
|
6
|
-
let(:provider) { Puppet::Type.type(:service).provider(:init) }
|
7
|
-
|
8
|
-
describe "when running on FreeBSD" do
|
9
|
-
before :each do
|
10
|
-
allow(Facter).to receive(:value).with(:operatingsystem).and_return('FreeBSD')
|
11
|
-
allow(Facter).to receive(:value).with(:osfamily).and_return('FreeBSD')
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should set its default path to include /etc/rc.d and /usr/local/etc/rc.d" do
|
15
|
-
expect(provider.defpath).to eq(["/etc/rc.d", "/usr/local/etc/rc.d"])
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "when running on HP-UX" do
|
20
|
-
before :each do
|
21
|
-
allow(Facter).to receive(:value).with(:operatingsystem).and_return('HP-UX')
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should set its default path to include /sbin/init.d" do
|
25
|
-
expect(provider.defpath).to eq("/sbin/init.d")
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe "when running on Archlinux" do
|
30
|
-
before :each do
|
31
|
-
allow(Facter).to receive(:value).with(:operatingsystem).and_return('Archlinux')
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should set its default path to include /etc/rc.d" do
|
35
|
-
expect(provider.defpath).to eq("/etc/rc.d")
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
describe "when not running on FreeBSD, HP-UX or Archlinux" do
|
40
|
-
before :each do
|
41
|
-
allow(Facter).to receive(:value).with(:operatingsystem).and_return('RedHat')
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should set its default path to include /etc/init.d" do
|
45
|
-
expect(provider.defpath).to eq("/etc/init.d")
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|