puppet 6.15.0-x64-mingw32 → 6.19.1-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CODEOWNERS +2 -7
- data/Gemfile +4 -2
- data/Gemfile.lock +29 -27
- data/README.md +3 -4
- data/Rakefile +4 -12
- data/lib/puppet.rb +32 -8
- data/lib/puppet/agent.rb +18 -4
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application/agent.rb +23 -8
- 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/lookup.rb +16 -4
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +61 -21
- 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/context/trusted_information.rb +14 -8
- data/lib/puppet/daemon.rb +13 -27
- data/lib/puppet/defaults.rb +119 -39
- data/lib/puppet/environments.rb +51 -10
- 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 +1 -1
- 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 +4 -4
- 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/filter.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 +28 -12
- data/lib/puppet/http/external_client.rb +0 -6
- 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/facts/facter.rb +3 -3
- data/lib/puppet/indirector/facts/yaml.rb +1 -1
- 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 +2 -2
- 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/report/processor.rb +2 -2
- data/lib/puppet/indirector/request.rb +5 -5
- data/lib/puppet/indirector/rest.rb +7 -1
- data/lib/puppet/indirector/yaml.rb +1 -1
- 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/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/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +2 -2
- data/lib/puppet/node/environment.rb +12 -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 +31 -4
- 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 +29 -26
- 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/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 +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/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/aix.rb +17 -2
- data/lib/puppet/provider/package/apt.rb +38 -1
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dnfmodule.rb +24 -4
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +4 -2
- data/lib/puppet/provider/package/pip.rb +60 -37
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/portage.rb +2 -2
- 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 +9 -1
- data/lib/puppet/provider/package/zypper.rb +62 -1
- data/lib/puppet/provider/service/systemd.rb +21 -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 +7 -3
- 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/runtime.rb +25 -2
- data/lib/puppet/settings.rb +43 -6
- 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 +33 -8
- 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 +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 +33 -13
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +16 -1
- data/lib/puppet/type/service.rb +59 -8
- data/lib/puppet/type/user.rb +19 -10
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/autoload.rb +10 -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/log/destinations.rb +1 -10
- data/lib/puppet/util/package/version/range.rb +4 -1
- data/lib/puppet/util/package/version/range/eq.rb +14 -0
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -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 +541 -427
- data/man/man5/puppet.conf.5 +84 -19
- 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/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-enabled.txt → dnf-module-list.txt} +6 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
- data/spec/integration/application/agent_spec.rb +202 -52
- data/spec/integration/application/apply_spec.rb +149 -149
- 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 +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 +75 -2
- 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 +6 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +73 -0
- data/spec/integration/node/environment_spec.rb +1 -1
- 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 +7 -2
- 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_spec/https.rb +6 -0
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +8 -0
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/agent_spec.rb +47 -1
- data/spec/unit/application/agent_spec.rb +7 -8
- 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/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 +86 -37
- 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/environments_spec.rb +99 -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 +1 -2
- data/spec/unit/http/client_spec.rb +74 -19
- data/spec/unit/http/external_client_spec.rb +9 -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 +2 -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 +0 -1
- data/spec/unit/http/session_spec.rb +8 -21
- 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_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 +63 -57
- data/spec/unit/network/http_spec.rb +1 -1
- data/spec/unit/node/environment_spec.rb +18 -1
- 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/package/aix_spec.rb +29 -0
- data/spec/unit/provider/package/apt_spec.rb +77 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +25 -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/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip_spec.rb +42 -16
- data/spec/unit/provider/package/portage_spec.rb +5 -0
- 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 +47 -8
- 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 +87 -19
- 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 +82 -0
- data/spec/unit/puppet_pal_2pec.rb +40 -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 +1 -1
- 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 +182 -22
- data/spec/unit/ssl/ssl_provider_spec.rb +69 -43
- data/spec/unit/ssl/state_machine_spec.rb +52 -8
- 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 +3 -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/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/range_spec.rb +22 -1
- data/spec/unit/util/run_mode_spec.rb +6 -6
- 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 +3 -3
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- data/tasks/manpages.rake +5 -35
- metadata +43 -49
- 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/man_spec.rb +0 -25
- data/spec/unit/man_spec.rb +0 -31
@@ -1,20 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Launchd',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Launchd',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:launchd) }
|
5
|
-
|
6
6
|
let (:plistlib) { Puppet::Util::Plist }
|
7
7
|
let (:joblabel) { "com.foo.food" }
|
8
8
|
let (:provider) { subject.class }
|
9
9
|
let (:resource) { Puppet::Type.type(:service).new(:name => joblabel, :provider => :launchd) }
|
10
10
|
let (:launchd_overrides_6_9) { '/var/db/launchd.db/com.apple.launchd/overrides.plist' }
|
11
11
|
let (:launchd_overrides_10_) { '/var/db/com.apple.xpc.launchd/disabled.plist' }
|
12
|
+
|
12
13
|
subject { resource.provider }
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
command = "cmd.exe /c \"exit 0\""
|
17
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
15
|
+
before :all do
|
16
|
+
`exit 0`
|
18
17
|
end
|
19
18
|
|
20
19
|
describe "the type interface" do
|
@@ -12,6 +12,15 @@ describe 'Puppet::Type::Service::Provider::Openbsd',
|
|
12
12
|
allow(FileTest).to receive(:executable?).with('/usr/sbin/rcctl').and_return(true)
|
13
13
|
end
|
14
14
|
|
15
|
+
# `execute` and `texecute` start a new process, consequently setting $CHILD_STATUS to a Process::Status instance,
|
16
|
+
# but because they are mocked, an external process is never executed and $CHILD_STATUS remain nil.
|
17
|
+
# In order to execute some parts of the code under test and to mock $CHILD_STATUS, we need this variable to be a
|
18
|
+
# Process::Status instance. We can achieve this by starting a process that does nothing (exit 0). By doing this,
|
19
|
+
# $CHILD_STATUS will be initialised with a instance of Process::Status and we will be able to mock it.
|
20
|
+
before(:all) do
|
21
|
+
`exit 0`
|
22
|
+
end
|
23
|
+
|
15
24
|
context "#instances" do
|
16
25
|
it "should have an instances method" do
|
17
26
|
expect(provider_class).to respond_to :instances
|
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Openrc',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Openrc',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:openrc) }
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
cmd = "cmd.exe /c \"exit 0\""
|
9
|
-
Puppet::Util::Execution.execute(cmd, {:failonfail => false})
|
7
|
+
before :all do
|
8
|
+
`exit 0`
|
10
9
|
end
|
11
10
|
|
12
11
|
before :each do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Openwrt',
|
4
|
-
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:openwrt) }
|
6
6
|
|
7
7
|
let(:resource) do
|
@@ -28,6 +28,7 @@ describe 'Puppet::Type::Service::Provider::Openwrt',
|
|
28
28
|
allow(FileTest).to receive(:executable?).with('/etc/rc.common').and_return(true)
|
29
29
|
|
30
30
|
# All OpenWrt tests operate on the init script directly. It must exist.
|
31
|
+
allow(File).to receive(:directory?).and_call_original
|
31
32
|
allow(File).to receive(:directory?).with('/etc/init.d').and_return(true)
|
32
33
|
|
33
34
|
allow(Puppet::FileSystem).to receive(:exist?).with('/etc/init.d/myservice').and_return(true)
|
@@ -1,9 +1,18 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Redhat',
|
4
|
-
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:redhat) }
|
6
6
|
|
7
|
+
# `execute` and `texecute` start a new process, consequently setting $CHILD_STATUS to a Process::Status instance,
|
8
|
+
# but because they are mocked, an external process is never executed and $CHILD_STATUS remain nil.
|
9
|
+
# In order to execute some parts of the code under test and to mock $CHILD_STATUS, we need this variable to be a
|
10
|
+
# Process::Status instance. We can achieve this by starting a process that does nothing (exit 0). By doing this,
|
11
|
+
# $CHILD_STATUS will be initialised with a instance of Process::Status and we will be able to mock it.
|
12
|
+
before(:all) do
|
13
|
+
`exit 0`
|
14
|
+
end
|
15
|
+
|
7
16
|
before :each do
|
8
17
|
@class = Puppet::Type.type(:service).provider(:redhat)
|
9
18
|
@resource = double('resource')
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Runit',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Runit',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:runit) }
|
5
6
|
|
6
7
|
before(:each) do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Smf',
|
4
|
-
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:smf) }
|
6
6
|
|
7
7
|
before(:each) do
|
@@ -1,13 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Src',
|
4
|
-
unless: Puppet::Util::Platform.jruby? do
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:src) }
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
command = "cmd.exe /c \"exit 0\""
|
10
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
7
|
+
before :all do
|
8
|
+
`exit 0`
|
11
9
|
end
|
12
10
|
|
13
11
|
before :each do
|
@@ -1,18 +1,24 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Systemd',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Systemd',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
|
+
|
4
6
|
let(:provider_class) { Puppet::Type.type(:service).provider(:systemd) }
|
5
|
-
if Puppet::Util::Platform.windows?
|
6
|
-
# Get a pid for $CHILD_STATUS to latch on to
|
7
|
-
command = "cmd.exe /c \"exit 0\""
|
8
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
9
|
-
end
|
10
7
|
|
11
8
|
before :each do
|
12
9
|
allow(Puppet::Type.type(:service)).to receive(:defaultprovider).and_return(provider_class)
|
13
10
|
allow(provider_class).to receive(:which).with('systemctl').and_return('/bin/systemctl')
|
14
11
|
end
|
15
12
|
|
13
|
+
# `execute` and `texecute` start a new process, consequently setting $CHILD_STATUS to a Process::Status instance,
|
14
|
+
# but because they are mocked, an external process is never executed and $CHILD_STATUS remain nil.
|
15
|
+
# In order to execute some parts of the code under test and to mock $CHILD_STATUS, we need this variable to be a
|
16
|
+
# Process::Status instance. We can achieve this by starting a process that does nothing (exit 0). By doing this,
|
17
|
+
# $CHILD_STATUS will be initialised with a instance of Process::Status and we will be able to mock it.
|
18
|
+
before(:all) do
|
19
|
+
`exit 0`
|
20
|
+
end
|
21
|
+
|
16
22
|
let :provider do
|
17
23
|
provider_class.new(:name => 'sshd.service')
|
18
24
|
end
|
@@ -190,6 +196,7 @@ describe 'Puppet::Type::Service::Provider::Systemd', unless: Puppet::Util::Platf
|
|
190
196
|
apparmor.service
|
191
197
|
umountnfs.service
|
192
198
|
urandom.service
|
199
|
+
brandbot.service
|
193
200
|
})
|
194
201
|
end
|
195
202
|
|
@@ -198,7 +205,7 @@ describe 'Puppet::Type::Service::Provider::Systemd', unless: Puppet::Util::Platf
|
|
198
205
|
expect(Puppet).to receive(:debug).with("apparmor.service marked as bad by `systemctl`. It is recommended to be further checked.")
|
199
206
|
provider_class.instances
|
200
207
|
end
|
201
|
-
end
|
208
|
+
end
|
202
209
|
|
203
210
|
describe "#start" do
|
204
211
|
it "should use the supplied start command if specified" do
|
@@ -278,43 +285,43 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
|
|
278
285
|
describe "#enabled?" do
|
279
286
|
it "should return :true if the service is enabled" do
|
280
287
|
provider = provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
|
281
|
-
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
282
|
-
|
288
|
+
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
289
|
+
and_return(Puppet::Util::Execution::ProcessOutput.new("enabled\n", 0))
|
283
290
|
expect(provider.enabled?).to eq(:true)
|
284
291
|
end
|
285
292
|
|
286
293
|
it "should return :true if the service is static" do
|
287
294
|
provider = provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
|
288
|
-
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','--', 'sshd.service'], :failonfail => false).
|
289
|
-
|
295
|
+
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','--', 'sshd.service'], :failonfail => false).
|
296
|
+
and_return(Puppet::Util::Execution::ProcessOutput.new("static\n", 0))
|
290
297
|
expect(provider.enabled?).to eq(:true)
|
291
298
|
end
|
292
299
|
|
293
300
|
it "should return :false if the service is disabled" do
|
294
301
|
provider = provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
|
295
|
-
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
296
|
-
|
302
|
+
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
303
|
+
and_return(Puppet::Util::Execution::ProcessOutput.new("disabled\n", 1))
|
297
304
|
expect(provider.enabled?).to eq(:false)
|
298
305
|
end
|
299
306
|
|
300
307
|
it "should return :false if the service is indirect" do
|
301
308
|
provider = provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
|
302
|
-
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
303
|
-
|
309
|
+
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
310
|
+
and_return(Puppet::Util::Execution::ProcessOutput.new("indirect\n", 0))
|
304
311
|
expect(provider.enabled?).to eq(:false)
|
305
312
|
end
|
306
313
|
|
307
314
|
it "should return :false if the service is masked and the resource is attempting to be disabled" do
|
308
315
|
provider = provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :enable => false))
|
309
|
-
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
310
|
-
|
316
|
+
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
317
|
+
and_return(Puppet::Util::Execution::ProcessOutput.new("masked\n", 1))
|
311
318
|
expect(provider.enabled?).to eq(:false)
|
312
319
|
end
|
313
320
|
|
314
321
|
it "should return :mask if the service is masked and the resource is attempting to be masked" do
|
315
322
|
provider = provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :enable => 'mask'))
|
316
|
-
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
317
|
-
|
323
|
+
expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled', '--', 'sshd.service'], :failonfail => false).
|
324
|
+
and_return(Puppet::Util::Execution::ProcessOutput.new("masked\n", 1))
|
318
325
|
expect(provider.enabled?).to eq(:mask)
|
319
326
|
end
|
320
327
|
end
|
@@ -437,6 +444,67 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
|
|
437
444
|
end
|
438
445
|
end
|
439
446
|
|
447
|
+
describe "#insync_enabled?" do
|
448
|
+
let(:provider) do
|
449
|
+
provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :enable => false))
|
450
|
+
end
|
451
|
+
|
452
|
+
before do
|
453
|
+
allow(provider).to receive(:cached_enabled?).and_return({ output: service_state, exitcode: 0 })
|
454
|
+
end
|
455
|
+
|
456
|
+
context 'when service state is static' do
|
457
|
+
let(:service_state) { 'static' }
|
458
|
+
|
459
|
+
it 'is always enabled_insync even if current value is the same as expected' do
|
460
|
+
expect(provider).to be_enabled_insync(:false)
|
461
|
+
end
|
462
|
+
|
463
|
+
it 'is always enabled_insync even if current value is not the same as expected' do
|
464
|
+
expect(provider).to be_enabled_insync(:true)
|
465
|
+
end
|
466
|
+
|
467
|
+
it 'logs a debug messsage' do
|
468
|
+
expect(Puppet).to receive(:debug).with("Unable to enable or disable static service sshd.service")
|
469
|
+
provider.enabled_insync?(:true)
|
470
|
+
end
|
471
|
+
end
|
472
|
+
|
473
|
+
context 'when service state is indirect' do
|
474
|
+
let(:service_state) { 'indirect' }
|
475
|
+
|
476
|
+
it 'is always enabled_insync even if current value is the same as expected' do
|
477
|
+
expect(provider).to be_enabled_insync(:false)
|
478
|
+
end
|
479
|
+
|
480
|
+
it 'is always enabled_insync even if current value is not the same as expected' do
|
481
|
+
expect(provider).to be_enabled_insync(:true)
|
482
|
+
end
|
483
|
+
|
484
|
+
it 'logs a debug messsage' do
|
485
|
+
expect(Puppet).to receive(:debug).with("Service sshd.service is in 'indirect' state and cannot be enabled/disabled")
|
486
|
+
provider.enabled_insync?(:true)
|
487
|
+
end
|
488
|
+
end
|
489
|
+
|
490
|
+
context 'when service state is enabled' do
|
491
|
+
let(:service_state) { 'enabled' }
|
492
|
+
|
493
|
+
it 'is enabled_insync if current value is the same as expected' do
|
494
|
+
expect(provider).to be_enabled_insync(:false)
|
495
|
+
end
|
496
|
+
|
497
|
+
it 'is not enabled_insync if current value is not the same as expected' do
|
498
|
+
expect(provider).not_to be_enabled_insync(:true)
|
499
|
+
end
|
500
|
+
|
501
|
+
it 'logs no debug messsage' do
|
502
|
+
expect(Puppet).not_to receive(:debug)
|
503
|
+
provider.enabled_insync?(:true)
|
504
|
+
end
|
505
|
+
end
|
506
|
+
end
|
507
|
+
|
440
508
|
describe "#get_start_link_count" do
|
441
509
|
it "should strip the '.service' from the search if present in the resource name" do
|
442
510
|
provider = provider_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
|
@@ -1,14 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Upstart',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Upstart',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:manual) { "\nmanual" }
|
5
6
|
let(:start_on_default_runlevels) { "\nstart on runlevel [2,3,4,5]" }
|
6
7
|
let!(:provider_class) { Puppet::Type.type(:service).provider(:upstart) }
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
command = "cmd.exe /c \"exit 0\""
|
11
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
9
|
+
before :each do
|
10
|
+
`exit 0`
|
12
11
|
end
|
13
12
|
|
14
13
|
def given_contents_of(file, content)
|
@@ -58,7 +58,7 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
58
58
|
it "should enable if managing enable and enable is true" do
|
59
59
|
resource[:enable] = :true
|
60
60
|
expect(service_util).to receive(:start)
|
61
|
-
expect(service_util).to receive(:
|
61
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_AUTO_START})
|
62
62
|
|
63
63
|
provider.start
|
64
64
|
end
|
@@ -66,7 +66,7 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
66
66
|
it "should manual start if managing enable and enable is false" do
|
67
67
|
resource[:enable] = :false
|
68
68
|
expect(service_util).to receive(:start)
|
69
|
-
expect(service_util).to receive(:
|
69
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_DEMAND_START})
|
70
70
|
|
71
71
|
provider.start
|
72
72
|
end
|
@@ -88,6 +88,14 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
88
88
|
expect(provider.status).to eql(:stopped)
|
89
89
|
end
|
90
90
|
|
91
|
+
it "should report service as stopped when status cannot be retrieved" do
|
92
|
+
allow(service_util).to receive(:exists?).with(resource[:name]).and_return(true)
|
93
|
+
allow(service_util).to receive(:service_state).with(name).and_raise(Puppet::Error.new('Service query failed: The specified path is invalid.'))
|
94
|
+
|
95
|
+
expect(Puppet).to receive(:warning).with("Status for service #{resource[:name]} could not be retrieved: Service query failed: The specified path is invalid.")
|
96
|
+
expect(provider.status).to eql(:stopped)
|
97
|
+
end
|
98
|
+
|
91
99
|
[
|
92
100
|
:SERVICE_PAUSED,
|
93
101
|
:SERVICE_PAUSE_PENDING
|
@@ -119,6 +127,34 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
119
127
|
expect(provider.status).to eq(:running)
|
120
128
|
end
|
121
129
|
end
|
130
|
+
|
131
|
+
context 'when querying lmhosts', if: Puppet::Util::Platform.windows? do
|
132
|
+
# This service should be ubiquitous across all supported Windows platforms
|
133
|
+
let(:service) { Puppet::Type.type(:service).new(:name => 'lmhosts') }
|
134
|
+
|
135
|
+
before :each do
|
136
|
+
allow(service_util).to receive(:exists?).with(service.name).and_call_original
|
137
|
+
end
|
138
|
+
|
139
|
+
it "reports if the service is enabled" do
|
140
|
+
expect([:true, :false, :manual]).to include(service.provider.enabled?)
|
141
|
+
end
|
142
|
+
|
143
|
+
it "reports on the service status" do
|
144
|
+
expect(
|
145
|
+
[
|
146
|
+
:running,
|
147
|
+
:'continue pending',
|
148
|
+
:'pause pending',
|
149
|
+
:paused,
|
150
|
+
:running,
|
151
|
+
:'start pending',
|
152
|
+
:'stop pending',
|
153
|
+
:stopped
|
154
|
+
]
|
155
|
+
).to include(service.provider.status)
|
156
|
+
end
|
157
|
+
end
|
122
158
|
end
|
123
159
|
|
124
160
|
describe "#restart" do
|
@@ -178,12 +214,12 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
178
214
|
|
179
215
|
describe "#enable" do
|
180
216
|
it "should set service start type to Service_Auto_Start when enabled" do
|
181
|
-
expect(service_util).to receive(:
|
217
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_AUTO_START})
|
182
218
|
provider.enable
|
183
219
|
end
|
184
220
|
|
185
|
-
it "raises an error if
|
186
|
-
expect(service_util).to receive(:
|
221
|
+
it "raises an error if set_startup_configuration fails" do
|
222
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_AUTO_START}).and_raise(Puppet::Error.new('foobar'))
|
187
223
|
|
188
224
|
expect {
|
189
225
|
provider.enable
|
@@ -193,12 +229,12 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
193
229
|
|
194
230
|
describe "#disable" do
|
195
231
|
it "should set service start type to Service_Disabled when disabled" do
|
196
|
-
expect(service_util).to receive(:
|
232
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_DISABLED})
|
197
233
|
provider.disable
|
198
234
|
end
|
199
235
|
|
200
|
-
it "raises an error if
|
201
|
-
expect(service_util).to receive(:
|
236
|
+
it "raises an error if set_startup_configuration fails" do
|
237
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_DISABLED}).and_raise(Puppet::Error.new('foobar'))
|
202
238
|
|
203
239
|
expect {
|
204
240
|
provider.disable
|
@@ -208,12 +244,12 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
208
244
|
|
209
245
|
describe "#manual_start" do
|
210
246
|
it "should set service start type to Service_Demand_Start (manual) when manual" do
|
211
|
-
expect(service_util).to receive(:
|
247
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_DEMAND_START})
|
212
248
|
provider.manual_start
|
213
249
|
end
|
214
250
|
|
215
|
-
it "raises an error if
|
216
|
-
expect(service_util).to receive(:
|
251
|
+
it "raises an error if set_startup_configuration fails" do
|
252
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_DEMAND_START}).and_raise(Puppet::Error.new('foobar'))
|
217
253
|
|
218
254
|
expect {
|
219
255
|
provider.manual_start
|
@@ -223,12 +259,12 @@ describe 'Puppet::Type::Service::Provider::Windows',
|
|
223
259
|
|
224
260
|
describe "#delayed_start" do
|
225
261
|
it "should set service start type to Service_Config_Delayed_Auto_Start (delayed) when delayed" do
|
226
|
-
expect(service_util).to receive(:
|
262
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_AUTO_START, delayed: true})
|
227
263
|
provider.delayed_start
|
228
264
|
end
|
229
265
|
|
230
|
-
it "raises an error if
|
231
|
-
expect(service_util).to receive(:
|
266
|
+
it "raises an error if set_startup_configuration fails" do
|
267
|
+
expect(service_util).to receive(:set_startup_configuration).with(name, options: {startup_type: :SERVICE_AUTO_START, delayed: true}).and_raise(Puppet::Error.new('foobar'))
|
232
268
|
|
233
269
|
expect {
|
234
270
|
provider.delayed_start
|