puppet 6.16.0-x86-mingw32 → 6.20.0-x86-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/CODEOWNERS +2 -16
- data/Gemfile +6 -2
- data/Gemfile.lock +40 -36
- data/README.md +3 -4
- data/Rakefile +4 -12
- data/lib/puppet/agent.rb +2 -2
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +10 -6
- data/lib/puppet/application/agent.rb +23 -6
- data/lib/puppet/application/apply.rb +20 -21
- data/lib/puppet/application/device.rb +1 -0
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +2 -2
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/script.rb +1 -0
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +70 -20
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/defaults.rb +113 -46
- data/lib/puppet/environments.rb +84 -59
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +56 -16
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +60 -0
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/ffi/posix.rb +10 -0
- data/lib/puppet/ffi/posix/constants.rb +14 -0
- data/lib/puppet/ffi/posix/functions.rb +24 -0
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/http_metadata.rb +13 -1
- 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 +4 -4
- data/lib/puppet/file_system/uniquefile.rb +8 -16
- data/lib/puppet/forge.rb +1 -1
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/repository.rb +3 -7
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- 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 +1 -0
- data/lib/puppet/http/client.rb +6 -1
- data/lib/puppet/http/redirector.rb +9 -7
- data/lib/puppet/http/resolver.rb +5 -8
- data/lib/puppet/http/resolver/server_list.rb +18 -36
- data/lib/puppet/http/resolver/settings.rb +4 -4
- data/lib/puppet/http/resolver/srv.rb +5 -5
- data/lib/puppet/http/response.rb +19 -0
- data/lib/puppet/http/service.rb +3 -1
- data/lib/puppet/http/service/compiler.rb +1 -1
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/session.rb +5 -4
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +3 -3
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/yaml.rb +4 -59
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/http.rb +25 -5
- data/lib/puppet/indirector/file_metadata/rest.rb +2 -2
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/request.rb +5 -5
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/module_tool/applications/installer.rb +48 -2
- data/lib/puppet/module_tool/errors/shared.rb +17 -2
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/formats.rb +2 -1
- 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/connection_adapter.rb +6 -4
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/node/environment.rb +12 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/pal_impl.rb +90 -13
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/leaf.rb +7 -6
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -4
- data/lib/puppet/parser/compiler.rb +1 -1
- 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 +21 -17
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/resource.rb +3 -2
- data/lib/puppet/parser/resource/param.rb +6 -0
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- 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/deferred_resolver.rb +5 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +27 -8
- 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 +18 -11
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- data/lib/puppet/pops/model/ast_transformer.rb +1 -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/package/apt.rb +38 -0
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +4 -2
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/puppet_gem.rb +5 -0
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +2 -1
- data/lib/puppet/provider/package/zypper.rb +3 -0
- data/lib/puppet/provider/service/windows.rb +23 -7
- data/lib/puppet/provider/user/aix.rb +3 -3
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +11 -4
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reference/configuration.rb +6 -5
- data/lib/puppet/reports/http.rb +2 -0
- data/lib/puppet/resource.rb +2 -1
- data/lib/puppet/resource/type.rb +10 -1
- data/lib/puppet/rest/route.rb +2 -2
- data/lib/puppet/settings.rb +63 -21
- data/lib/puppet/settings/alias_setting.rb +37 -0
- data/lib/puppet/settings/base_setting.rb +26 -2
- data/lib/puppet/ssl/ssl_context.rb +2 -2
- data/lib/puppet/ssl/ssl_provider.rb +20 -1
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/test/test_helper.rb +18 -13
- data/lib/puppet/transaction.rb +2 -2
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +12 -8
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +15 -7
- data/lib/puppet/type/file.rb +40 -15
- data/lib/puppet/type/file/checksum.rb +4 -4
- data/lib/puppet/type/file/source.rb +32 -12
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/service.rb +53 -0
- data/lib/puppet/type/user.rb +18 -3
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/autoload.rb +10 -15
- 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/fact_dif.rb +62 -0
- data/lib/puppet/util/fileparsing.rb +2 -2
- data/lib/puppet/util/posix.rb +54 -5
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +5 -1
- data/lib/puppet/util/windows.rb +1 -0
- 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/registry.rb +11 -11
- data/lib/puppet/util/windows/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +43 -26
- data/lib/puppet/util/windows/user.rb +242 -8
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +501 -443
- data/man/man5/puppet.conf.5 +70 -24
- data/man/man8/puppet-agent.8 +8 -5
- data/man/man8/puppet-apply.8 +2 -2
- 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 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +32 -1
- data/man/man8/puppet-filebucket.8 +3 -3
- 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 +2 -2
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +7 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- 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/agent/cached_deferred_catalog.json +91 -0
- 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/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
- data/spec/integration/application/agent_spec.rb +263 -54
- data/spec/integration/application/apply_spec.rb +168 -149
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +70 -21
- 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 +53 -3
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +20 -3
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +26 -9
- data/spec/integration/node/environment_spec.rb +1 -1
- data/spec/integration/parser/compiler_spec.rb +11 -0
- data/spec/integration/resource/type_collection_spec.rb +2 -6
- data/spec/integration/transaction_spec.rb +4 -9
- 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 +5 -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 -17
- data/spec/integration/util/windows/user_spec.rb +47 -5
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +8 -0
- data/spec/lib/puppet_spec/settings.rb +6 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +1 -4
- data/spec/unit/agent_spec.rb +8 -6
- data/spec/unit/application/agent_spec.rb +3 -5
- data/spec/unit/application/config_spec.rb +224 -4
- 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 +0 -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 +60 -13
- 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 +86 -37
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +10 -3
- data/spec/unit/context/trusted_information_spec.rb +10 -4
- data/spec/unit/defaults_spec.rb +20 -1
- data/spec/unit/environments_spec.rb +176 -32
- data/spec/unit/face/config_spec.rb +65 -12
- data/spec/unit/face/node_spec.rb +2 -13
- data/spec/unit/file_serving/configuration/parser_spec.rb +0 -1
- data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- 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_helper_spec.rb +11 -4
- data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
- data/spec/unit/file_system/uniquefile_spec.rb +18 -0
- data/spec/unit/file_system_spec.rb +1 -2
- data/spec/unit/forge/module_release_spec.rb +2 -7
- data/spec/unit/functions/inline_epp_spec.rb +26 -1
- data/spec/unit/http/client_spec.rb +64 -9
- data/spec/unit/http/resolver_spec.rb +24 -5
- data/spec/unit/http/response_spec.rb +6 -0
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +51 -3
- data/spec/unit/http/service/file_server_spec.rb +2 -3
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +1 -2
- data/spec/unit/http/session_spec.rb +8 -21
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/face_spec.rb +0 -1
- data/spec/unit/indirector/facts/facter_spec.rb +0 -1
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -8
- data/spec/unit/indirector/file_metadata/http_spec.rb +27 -0
- data/spec/unit/indirector/indirection_spec.rb +8 -12
- data/spec/unit/indirector/json_spec.rb +8 -8
- data/spec/unit/indirector/key/file_spec.rb +0 -1
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +5 -5
- data/spec/unit/indirector/rest_spec.rb +1 -1
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/authconfig_spec.rb +0 -3
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -10
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/network/http/connection_spec.rb +42 -32
- data/spec/unit/network/http/handler_spec.rb +0 -5
- data/spec/unit/node/environment_spec.rb +18 -1
- data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
- data/spec/unit/parser/compiler_spec.rb +3 -19
- data/spec/unit/parser/environment_compiler_spec.rb +7 -0
- data/spec/unit/parser/resource_spec.rb +14 -8
- data/spec/unit/parser/scope_spec.rb +1 -1
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
- 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/property_spec.rb +1 -0
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/nameservice_spec.rb +66 -65
- data/spec/unit/provider/package/apt_spec.rb +76 -3
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/base_spec.rb +6 -5
- data/spec/unit/provider/package/dpkg_spec.rb +22 -7
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pacman_spec.rb +18 -12
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip_spec.rb +6 -11
- data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/package/zypper_spec.rb +14 -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 +45 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -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 +3 -6
- 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/aix_spec.rb +5 -0
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/openbsd_spec.rb +1 -0
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +23 -16
- data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
- data/spec/unit/provider_spec.rb +8 -10
- data/spec/unit/puppet_pal_2pec.rb +40 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource/capability_finder_spec.rb +6 -1
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +14 -13
- data/spec/unit/rest/route_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +576 -239
- data/spec/unit/ssl/base_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +0 -5
- data/spec/unit/ssl/ssl_provider_spec.rb +82 -50
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -7
- data/spec/unit/transaction/event_manager_spec.rb +14 -11
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +3 -1
- data/spec/unit/transaction_spec.rb +13 -4
- data/spec/unit/type/file/content_spec.rb +0 -1
- data/spec/unit/type/file/selinux_spec.rb +0 -2
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/file_spec.rb +122 -102
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/group_spec.rb +13 -6
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +210 -1
- data/spec/unit/type/tidy_spec.rb +0 -1
- data/spec/unit/type/user_spec.rb +31 -2
- data/spec/unit/type_spec.rb +52 -2
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +5 -1
- data/spec/unit/util/backups_spec.rb +1 -2
- 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/execution_spec.rb +15 -11
- data/spec/unit/util/inifile_spec.rb +6 -14
- data/spec/unit/util/log_spec.rb +8 -7
- data/spec/unit/util/logging_spec.rb +3 -3
- data/spec/unit/util/posix_spec.rb +363 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +6 -6
- data/spec/unit/util/selinux_spec.rb +76 -52
- data/spec/unit/util/storage_spec.rb +3 -1
- data/spec/unit/util/suidmanager_spec.rb +44 -41
- 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_spec.rb +16 -9
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- metadata +52 -53
- data/spec/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- 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 -51
- 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/catalog_spec.rb +0 -6
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/face/module_spec.rb +0 -3
- 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,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,51 +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
|
-
include_context "https client"
|
8
|
-
|
9
|
-
let(:wrong_hostname) { 'localhost' }
|
10
|
-
let(:server) { PuppetSpec::HTTPSServer.new }
|
11
|
-
let(:ssl_provider) { Puppet::SSL::SSLProvider.new }
|
12
|
-
|
13
|
-
let(:http_response) do
|
14
|
-
File.read(fixtures('unit/forge/bacula.json'))
|
15
|
-
end
|
16
|
-
|
17
|
-
let(:release_response) do
|
18
|
-
releases = JSON.parse(http_response)
|
19
|
-
releases['results'] = []
|
20
|
-
JSON.dump(releases)
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'fetching module release entries' do
|
24
|
-
# create a temp cacert bundle
|
25
|
-
ssl_file = tmpfile('systemstore')
|
26
|
-
File.write(ssl_file, server.ca_cert)
|
27
|
-
|
28
|
-
# override path to system cacert bundle, this must be done before
|
29
|
-
# the SSLContext is created and the call to X509::Store.set_default_paths
|
30
|
-
Puppet::Util.withenv("SSL_CERT_FILE" => ssl_file) do
|
31
|
-
response_proc = -> (req, res) {
|
32
|
-
res.status = 200
|
33
|
-
res.body = release_response
|
34
|
-
}
|
35
|
-
|
36
|
-
server.start_server(response_proc: response_proc) do |port|
|
37
|
-
forge = described_class.new("https://127.0.0.1:#{port}")
|
38
|
-
forge.fetch('bacula')
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'returns a valid exception when there is an SSL verification problem' do
|
44
|
-
server.start_server do |port|
|
45
|
-
forge = described_class.new("https://#{wrong_hostname}:#{port}")
|
46
|
-
expect {
|
47
|
-
forge.fetch('mymodule')
|
48
|
-
}.to raise_error Puppet::Forge::Errors::SSLVerifyError, %r{^Unable to verify the SSL certificate at https://#{wrong_hostname}}
|
49
|
-
end
|
50
|
-
end
|
51
|
-
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
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
test_title = 'Integration Tests for Puppet::Type::Service::Provider::Systemd'
|
4
|
-
|
5
|
-
describe test_title, unless: Puppet::Util::Platform.jruby? do
|
6
|
-
let(:provider_class) { Puppet::Type.type(:service).provider(:systemd) }
|
7
|
-
|
8
|
-
# TODO: Unfortunately there does not seem a way to stub the executable
|
9
|
-
# checks in the systemd provider because they happen at load time.
|
10
|
-
|
11
|
-
it "should be considered suitable if /proc/1/comm is present and contains 'systemd'",
|
12
|
-
:if => File.exist?('/proc/1/comm') && Puppet::FileSystem.read('/proc/1/comm').include?('systemd') do
|
13
|
-
expect(provider_class).to be_suitable
|
14
|
-
end
|
15
|
-
|
16
|
-
it "should not be considered suitable if /proc/1/comm is present it does not contain 'systemd'",
|
17
|
-
:if => File.exist?('/proc/1/comm') && !Puppet::FileSystem.read('/proc/1/comm').include?('systemd') do
|
18
|
-
expect(provider_class).not_to be_suitable
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should not be considered suitable if /proc/1/comm is absent",
|
22
|
-
:if => !File.exist?('/proc/1/comm') do
|
23
|
-
expect(provider_class).not_to be_suitable
|
24
|
-
end
|
25
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
test_title = 'Integration Tests for Puppet::Type::Service::Provider::Windows'
|
4
|
-
|
5
|
-
describe test_title, '(integration)', :if => Puppet::Util::Platform.windows? do
|
6
|
-
let(:provider_class) { Puppet::Type.type(:service).provider(:windows) }
|
7
|
-
|
8
|
-
require 'puppet/util/windows'
|
9
|
-
|
10
|
-
before :each do
|
11
|
-
allow(Puppet::Type.type(:service)).to receive(:defaultprovider).and_return(provider_class)
|
12
|
-
end
|
13
|
-
|
14
|
-
context 'should return valid values when querying a service that does not exist' do
|
15
|
-
let(:service) do
|
16
|
-
Puppet::Type.type(:service).new(:name => 'foobarservice1234')
|
17
|
-
end
|
18
|
-
|
19
|
-
it "with :false when asked if enabled" do
|
20
|
-
expect(service.provider.enabled?).to eql(:false)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "with :stopped when asked about status" do
|
24
|
-
expect(service.provider.status).to eql(:stopped)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
context 'should return valid values when querying a service that does exist' do
|
29
|
-
let(:service) do
|
30
|
-
# This service should be ubiquitous across all supported Windows platforms
|
31
|
-
Puppet::Type.type(:service).new(:name => 'lmhosts')
|
32
|
-
end
|
33
|
-
|
34
|
-
it "with a valid enabled? value when asked if enabled" do
|
35
|
-
expect([:true, :false, :manual]).to include(service.provider.enabled?)
|
36
|
-
end
|
37
|
-
|
38
|
-
it "with a valid status when asked about status" do
|
39
|
-
expect([
|
40
|
-
:running,
|
41
|
-
:'continue pending',
|
42
|
-
:'pause pending',
|
43
|
-
:paused,
|
44
|
-
:running,
|
45
|
-
:'start pending',
|
46
|
-
:'stop pending',
|
47
|
-
:stopped]).to include(service.provider.status)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|