puppet 6.17.0-x64-mingw32 → 7.1.0-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 -16
- data/Gemfile +3 -4
- data/Gemfile.lock +32 -30
- data/README.md +2 -3
- data/Rakefile +4 -12
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/agent.rb +8 -3
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +46 -19
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/confine.rb +1 -1
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/defaults.rb +116 -162
- data/lib/puppet/environments.rb +72 -62
- 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 +66 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +10 -2
- data/lib/puppet/face/plugin.rb +5 -8
- 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/ffi/windows.rb +12 -0
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- 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_system/file_impl.rb +3 -3
- data/lib/puppet/forge/repository.rb +0 -1
- 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/generate/models/type/type.rb +4 -1
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +23 -13
- data/lib/puppet/http/client.rb +165 -115
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -11
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -12
- data/lib/puppet/http/resolver.rb +10 -23
- data/lib/puppet/http/resolver/server_list.rb +23 -45
- data/lib/puppet/http/resolver/settings.rb +7 -10
- data/lib/puppet/http/resolver/srv.rb +11 -15
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service.rb +15 -27
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -70
- data/lib/puppet/http/service/file_server.rb +19 -28
- data/lib/puppet/http/service/puppetserver.rb +53 -0
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +16 -24
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +27 -6
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +4 -59
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/http.rb +1 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/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/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +1 -102
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/formats.rb +2 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/node/environment.rb +12 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +93 -14
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/functions.rb +21 -17
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/resource.rb +0 -69
- 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/evaluator_impl.rb +22 -8
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/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.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/factory.rb +0 -45
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/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/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +28 -52
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +34 -0
- data/lib/puppet/provider/package/dpkg.rb +1 -11
- data/lib/puppet/provider/package/gem.rb +27 -5
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +6 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +1 -0
- data/lib/puppet/provider/package/zypper.rb +3 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/aix.rb +3 -3
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reference/configuration.rb +2 -0
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +5 -120
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +84 -35
- data/lib/puppet/settings/base_setting.rb +26 -2
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +11 -6
- data/lib/puppet/transaction.rb +3 -9
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +10 -8
- data/lib/puppet/trusted_external.rb +2 -2
- data/lib/puppet/type.rb +4 -79
- data/lib/puppet/type/file.rb +7 -9
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +29 -9
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/service.rb +4 -0
- data/lib/puppet/type/user.rb +19 -4
- data/lib/puppet/util.rb +26 -12
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/execution.rb +2 -13
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/posix.rb +53 -4
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +14 -2
- data/lib/puppet/util/windows.rb +3 -7
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +219 -0
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +656 -1351
- data/man/man5/puppet.conf.5 +72 -97
- data/man/man8/puppet-agent.8 +6 -3
- 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 +55 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-module.8 +1 -58
- 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 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- 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/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
- data/spec/integration/application/agent_spec.rb +70 -61
- data/spec/integration/application/apply_spec.rb +150 -150
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +78 -29
- data/spec/integration/application/help_spec.rb +44 -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 +76 -4
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +32 -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 +3 -21
- data/spec/integration/node/environment_spec.rb +1 -1
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -37
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +2 -2
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/integration/util/windows/user_spec.rb +7 -0
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +9 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/agent_spec.rb +3 -4
- 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 +74 -8
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +17 -4
- data/spec/unit/application_spec.rb +43 -4
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +14 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +96 -44
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +26 -32
- data/spec/unit/environments_spec.rb +173 -32
- data/spec/unit/face/config_spec.rb +65 -12
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +16 -4
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- 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_system/uniquefile_spec.rb +18 -0
- data/spec/unit/file_system_spec.rb +1 -2
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/inline_epp_spec.rb +26 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -9
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +34 -15
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +51 -65
- data/spec/unit/http/service/file_server_spec.rb +5 -6
- data/spec/unit/http/service/puppetserver_spec.rb +112 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +1 -3
- data/spec/unit/http/session_spec.rb +24 -35
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- 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/facter_spec.rb +97 -0
- 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/file_spec.rb +5 -3
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/json_spec.rb +8 -8
- 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/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +2 -266
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/formats_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -6
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +51 -22
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +76 -21
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- 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/dpkg_spec.rb +22 -55
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- 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/puppet_gem_spec.rb +6 -2
- 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 +402 -166
- 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 +28 -1
- data/spec/unit/provider/user/aix_spec.rb +5 -0
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
- data/spec/unit/provider_spec.rb +0 -12
- 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/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +586 -239
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +2 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +1 -2
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +35 -2
- data/spec/unit/type/user_spec.rb +31 -2
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +357 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +27 -127
- data/spec/unit/util/storage_spec.rb +3 -1
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +0 -18
- metadata +84 -261
- data/conf/auth.conf +0 -150
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -295
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/integration/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/network/authconfig_spec.rb +0 -256
- 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/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -79
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/man_spec.rb +0 -31
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -422
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/ssl_spec.rb +0 -91
@@ -18,8 +18,8 @@ describe checksum do
|
|
18
18
|
@checksum.sum("foobar")
|
19
19
|
end
|
20
20
|
|
21
|
-
it "should use :
|
22
|
-
expect(@checksum).to receive(:
|
21
|
+
it "should use :sha256 to sum when no value is set" do
|
22
|
+
expect(@checksum).to receive(:sha256).with("foobar").and_return("yay")
|
23
23
|
@checksum.sum("foobar")
|
24
24
|
end
|
25
25
|
|
@@ -47,8 +47,8 @@ describe checksum do
|
|
47
47
|
expect(@checksum.sum("foobar")).to eq("{sha384}#{sum}")
|
48
48
|
end
|
49
49
|
|
50
|
-
it "should use :
|
51
|
-
expect(@checksum.default).to eq(:
|
50
|
+
it "should use :sha256 as its default type" do
|
51
|
+
expect(@checksum.default).to eq(:sha256)
|
52
52
|
end
|
53
53
|
|
54
54
|
it "should use its current value when asked to sum a file's content" do
|
@@ -57,8 +57,8 @@ describe checksum do
|
|
57
57
|
@checksum.sum_file(@path)
|
58
58
|
end
|
59
59
|
|
60
|
-
it "should use :
|
61
|
-
expect(@checksum).to receive(:
|
60
|
+
it "should use :sha256 to sum a file when no value is set" do
|
61
|
+
expect(@checksum).to receive(:sha256_file).with(@path).and_return("yay")
|
62
62
|
@checksum.sum_file(@path)
|
63
63
|
end
|
64
64
|
|
@@ -7,7 +7,7 @@ describe Puppet::Type.type(:file).attrclass(:content), :uses_checksums => true d
|
|
7
7
|
let(:filename) { tmpfile('testfile') }
|
8
8
|
let(:environment) { Puppet::Node::Environment.create(:testing, []) }
|
9
9
|
let(:catalog) { Puppet::Resource::Catalog.new(:test, environment) }
|
10
|
-
let(:resource) { Puppet::Type.type(:file).new :path => filename, :catalog => catalog }
|
10
|
+
let(:resource) { Puppet::Type.type(:file).new :path => filename, :catalog => catalog, :backup => 'puppet' }
|
11
11
|
|
12
12
|
before do
|
13
13
|
File.open(filename, 'w') {|f| f.write "initial file content"}
|
@@ -85,7 +85,7 @@ describe Puppet::Type.type(:file).attrclass(:ensure) do
|
|
85
85
|
}.to raise_error(Puppet::Error, /Cannot create #{newpath}; parent directory #{File.dirname(newpath)} does not exist/)
|
86
86
|
end
|
87
87
|
|
88
|
-
it "should accept octal mode as
|
88
|
+
it "should accept octal mode as integer" do
|
89
89
|
resource[:mode] = '0700'
|
90
90
|
expect(resource).to receive(:property_fix)
|
91
91
|
expect(Dir).to receive(:mkdir).with(path, 0700)
|
@@ -11,7 +11,7 @@ describe Puppet::Type.type(:file).attrclass(:mode) do
|
|
11
11
|
it "should reject non-string values" do
|
12
12
|
expect {
|
13
13
|
mode.value = 0755
|
14
|
-
}.to raise_error(Puppet::Error, /The file mode specification must be a string, not '
|
14
|
+
}.to raise_error(Puppet::Error, /The file mode specification must be a string, not 'Integer'/)
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should accept values specified as octal numbers in strings" do
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'uri'
|
3
3
|
require 'puppet/network/http_pool'
|
4
|
-
#require 'puppet/network/resolver'
|
5
4
|
|
6
5
|
describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
|
7
6
|
include PuppetSpec::Files
|
@@ -521,7 +520,7 @@ describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
|
|
521
520
|
end
|
522
521
|
|
523
522
|
it "should return the default source port" do
|
524
|
-
Puppet[:
|
523
|
+
Puppet[:serverport] = 1234
|
525
524
|
expect(resource.parameter(:source).port).to eq(1234)
|
526
525
|
end
|
527
526
|
end
|
data/spec/unit/type/file_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
describe Puppet::Type.type(:file) do
|
@@ -133,6 +134,10 @@ describe Puppet::Type.type(:file) do
|
|
133
134
|
end
|
134
135
|
|
135
136
|
describe "the backup parameter" do
|
137
|
+
it 'should be disabled by default' do
|
138
|
+
expect(file[:backup]).to eq(nil)
|
139
|
+
end
|
140
|
+
|
136
141
|
[false, 'false', :false].each do |value|
|
137
142
|
it "should disable backup if the value is #{value.inspect}" do
|
138
143
|
file[:backup] = value
|
@@ -774,7 +779,7 @@ describe Puppet::Type.type(:file) do
|
|
774
779
|
it "should set the checksum parameter based on the metadata" do
|
775
780
|
allow(file).to receive(:perform_recursion).and_return([@first])
|
776
781
|
allow(@resource).to receive(:[]=)
|
777
|
-
expect(@resource).to receive(:[]=).with(:checksum, "
|
782
|
+
expect(@resource).to receive(:[]=).with(:checksum, "sha256")
|
778
783
|
file.recurse_remote("first" => @resource)
|
779
784
|
end
|
780
785
|
|
@@ -810,7 +815,7 @@ describe Puppet::Type.type(:file) do
|
|
810
815
|
allow(file).to receive(:perform_recursion).and_return([@first])
|
811
816
|
|
812
817
|
allow(file).to receive(:[]=)
|
813
|
-
expect(file). to receive(:[]=).with(:checksum, "
|
818
|
+
expect(file). to receive(:[]=).with(:checksum, "sha256")
|
814
819
|
|
815
820
|
file.recurse_remote("first" => @resource)
|
816
821
|
end
|
@@ -928,7 +933,7 @@ describe Puppet::Type.type(:file) do
|
|
928
933
|
end
|
929
934
|
|
930
935
|
it "should fail if it can't backup the file" do
|
931
|
-
|
936
|
+
file[:backup] = true
|
932
937
|
allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
|
933
938
|
allow(file).to receive(:perform_backup).and_return(false)
|
934
939
|
|
@@ -937,7 +942,7 @@ describe Puppet::Type.type(:file) do
|
|
937
942
|
|
938
943
|
describe "backing up directories" do
|
939
944
|
it "should not backup directories if backup is true and force is false" do
|
940
|
-
|
945
|
+
file[:backup] = true
|
941
946
|
file[:force] = false
|
942
947
|
allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
|
943
948
|
|
@@ -947,7 +952,7 @@ describe Puppet::Type.type(:file) do
|
|
947
952
|
end
|
948
953
|
|
949
954
|
it "should backup directories if backup is true and force is true" do
|
950
|
-
|
955
|
+
file[:backup] = true
|
951
956
|
file[:force] = true
|
952
957
|
allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
|
953
958
|
|
@@ -974,7 +979,7 @@ describe Puppet::Type.type(:file) do
|
|
974
979
|
end
|
975
980
|
|
976
981
|
it "should remove a directory if backup is true and force is true" do
|
977
|
-
|
982
|
+
file[:backup] = true
|
978
983
|
file[:force] = true
|
979
984
|
allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
|
980
985
|
|
@@ -1006,6 +1011,7 @@ describe Puppet::Type.type(:file) do
|
|
1006
1011
|
end
|
1007
1012
|
|
1008
1013
|
it "should fail if the file is not a directory, link, file, fifo, socket, or is unknown" do
|
1014
|
+
file[:backup] = 'puppet'
|
1009
1015
|
allow(file).to receive(:stat).and_return(double('stat', :ftype => 'blockSpecial'))
|
1010
1016
|
|
1011
1017
|
expect(file).to receive(:warning).with("Could not back up file of type blockSpecial")
|
@@ -349,7 +349,7 @@ describe Puppet::Type.type(:package) do
|
|
349
349
|
end
|
350
350
|
end
|
351
351
|
|
352
|
-
[:purged, :absent
|
352
|
+
[:purged, :absent].each do |state|
|
353
353
|
it "should not reinstall if it should be #{state.to_s} and reinstall_on_refresh is true" do
|
354
354
|
@package[:ensure] = state
|
355
355
|
allow(@provider).to receive(:reinstallable?).and_return(true)
|
@@ -165,8 +165,38 @@ describe test_title, "when validating attribute values" do
|
|
165
165
|
|
166
166
|
context "when on Windows", :if => Puppet::Util::Platform.windows? do
|
167
167
|
before do
|
168
|
+
allow(Puppet::Util::Windows::User).to receive(:password_is?).and_return(true)
|
168
169
|
allow(Puppet::Util::Windows::ADSI).to receive(:computer_name).and_return("myPC")
|
170
|
+
allow(Puppet::Util::Windows::User).to receive(:get_rights).and_return('SeServiceLogonRight')
|
171
|
+
end
|
172
|
+
|
173
|
+
it "should fail when the `Log On As A Service` right is missing from given user" do
|
174
|
+
allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(Puppet::Util::Windows::SID::Principal.new("myUser", nil, nil, "myPC", :SidTypeUser))
|
175
|
+
allow(Puppet::Util::Windows::User).to receive(:get_rights).with('myPC\\myUser').and_return("")
|
176
|
+
|
177
|
+
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'myUser') }.to raise_error(Puppet::Error, /"myPC\\myUser" is missing the 'Log On As A Service' right./)
|
178
|
+
end
|
179
|
+
|
180
|
+
it "should fail when the `Log On As A Service` right is set to denied for given user" do
|
181
|
+
allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(Puppet::Util::Windows::SID::Principal.new("myUser", nil, nil, "myPC", :SidTypeUser))
|
182
|
+
allow(Puppet::Util::Windows::User).to receive(:get_rights).with('myPC\\myUser').and_return("SeDenyServiceLogonRight")
|
183
|
+
|
184
|
+
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'myUser') }.to raise_error(Puppet::Error, /"myPC\\myUser" has the 'Log On As A Service' right set to denied./)
|
185
|
+
end
|
186
|
+
|
187
|
+
it "should not fail when given user has the `Log On As A Service` right" do
|
188
|
+
allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(Puppet::Util::Windows::SID::Principal.new("myUser", nil, nil, "myPC", :SidTypeUser))
|
189
|
+
allow(Puppet::Util::Windows::User).to receive(:get_rights).with('myPC\\myUser').and_return("SeServiceLogonRight")
|
190
|
+
|
191
|
+
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'myUser') }.not_to raise_error
|
192
|
+
end
|
193
|
+
|
194
|
+
it "should not fail when given user is a default system account even if the `Log On As A Service` right is missing" do
|
195
|
+
allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(Puppet::Util::Windows::SID::Principal.new("LOCAL SERVICE", nil, nil, "NT AUTHORITY", :SidTypeUser))
|
169
196
|
allow(Puppet::Util::Windows::User).to receive(:default_system_account?).and_return(true)
|
197
|
+
|
198
|
+
expect(Puppet::Util::Windows::User).not_to receive(:get_rights)
|
199
|
+
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'myUser') }.not_to raise_error
|
170
200
|
end
|
171
201
|
|
172
202
|
['LocalSystem', '.\LocalSystem', 'myPC\LocalSystem', 'lOcALsysTem'].each do |user_input|
|
@@ -212,12 +242,12 @@ describe test_title, "when validating attribute values" do
|
|
212
242
|
|
213
243
|
it "should fail when account is invalid" do
|
214
244
|
allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(nil)
|
215
|
-
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'InvalidUser') }.to raise_error(Puppet::Error,
|
245
|
+
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'InvalidUser') }.to raise_error(Puppet::Error, /"InvalidUser" is not a valid account/)
|
216
246
|
end
|
217
247
|
|
218
248
|
it "should fail when sid type is not user or well known user" do
|
219
249
|
allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(Puppet::Util::Windows::SID::Principal.new("Administrators", nil, nil, "BUILTIN", :SidTypeAlias))
|
220
|
-
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'Administrators') }.to raise_error(Puppet::Error,
|
250
|
+
expect { Puppet::Type.type(:service).new(:name => "yay", :logonaccount => 'Administrators') }.to raise_error(Puppet::Error, /"Administrators" is not a valid account/)
|
221
251
|
end
|
222
252
|
end
|
223
253
|
end
|
@@ -254,6 +284,7 @@ describe test_title, "when validating attribute values" do
|
|
254
284
|
before do
|
255
285
|
allow(Puppet::Util::Windows::ADSI).to receive(:computer_name).and_return("myPC")
|
256
286
|
allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(name_to_principal_result)
|
287
|
+
allow(Puppet::Util::Windows::User).to receive(:get_rights).and_return('SeServiceLogonRight')
|
257
288
|
end
|
258
289
|
|
259
290
|
it "should pass validation when given account is 'LocalSystem'" do
|
@@ -273,6 +304,7 @@ describe test_title, "when validating attribute values" do
|
|
273
304
|
|
274
305
|
it "should pass validation" do
|
275
306
|
allow(Puppet::Util::Windows::User).to receive(:localsystem?).with(predefined_local_account).and_return(false)
|
307
|
+
expect(Puppet::Util::Windows::User).to receive(:default_system_account?).with(predefined_local_account).and_return(true)
|
276
308
|
expect(Puppet::Util::Windows::User).to receive(:default_system_account?).with("NT AUTHORITY\\#{predefined_local_account}").and_return(true)
|
277
309
|
|
278
310
|
expect(Puppet::Util::Windows::User).not_to receive(:password_is?)
|
@@ -288,6 +320,7 @@ describe test_title, "when validating attribute values" do
|
|
288
320
|
describe "when given logonaccount is not a predefined local account" do
|
289
321
|
before do
|
290
322
|
allow(Puppet::Util::Windows::User).to receive(:localsystem?).with('myUser').and_return(false)
|
323
|
+
allow(Puppet::Util::Windows::User).to receive(:default_system_account?).with('myUser').and_return(false)
|
291
324
|
allow(Puppet::Util::Windows::User).to receive(:default_system_account?).with('.\\myUser').and_return(false)
|
292
325
|
end
|
293
326
|
|
data/spec/unit/type/user_spec.rb
CHANGED
@@ -4,7 +4,7 @@ require 'spec_helper'
|
|
4
4
|
describe Puppet::Type.type(:user) do
|
5
5
|
before :each do
|
6
6
|
@provider_class = described_class.provide(:simple) do
|
7
|
-
has_features :manages_expiry, :manages_password_age, :manages_passwords, :manages_solaris_rbac, :manages_shell
|
7
|
+
has_features :manages_expiry, :manages_password_age, :manages_passwords, :manages_solaris_rbac, :manages_roles, :manages_shell
|
8
8
|
mk_resource_methods
|
9
9
|
def create; end
|
10
10
|
def delete; end
|
@@ -35,6 +35,10 @@ describe Puppet::Type.type(:user) do
|
|
35
35
|
expect(described_class.provider_feature(:manages_solaris_rbac)).not_to be_nil
|
36
36
|
end
|
37
37
|
|
38
|
+
it "should have a manages_roles feature" do
|
39
|
+
expect(described_class.provider_feature(:manages_roles)).not_to be_nil
|
40
|
+
end
|
41
|
+
|
38
42
|
it "should have a manages_expiry feature" do
|
39
43
|
expect(described_class.provider_feature(:manages_expiry)).not_to be_nil
|
40
44
|
end
|
@@ -401,7 +405,7 @@ describe Puppet::Type.type(:user) do
|
|
401
405
|
end
|
402
406
|
|
403
407
|
describe "when user has roles" do
|
404
|
-
it "should autorequire roles" do
|
408
|
+
it "should autorequire roles on non-Windows", :unless => Puppet::Util::Platform.windows? do
|
405
409
|
testuser = described_class.new(:name => "testuser", :roles => ['testrole'] )
|
406
410
|
testrole = described_class.new(:name => "testrole")
|
407
411
|
|
@@ -413,6 +417,31 @@ describe Puppet::Type.type(:user) do
|
|
413
417
|
expect(rel.source.ref).to eq(testrole.ref)
|
414
418
|
expect(rel.target.ref).to eq(testuser.ref)
|
415
419
|
end
|
420
|
+
|
421
|
+
it "should not autorequire roles on Windows", :if => Puppet::Util::Platform.windows? do
|
422
|
+
testuser = described_class.new(:name => "testuser", :roles => ['testrole'] )
|
423
|
+
testrole = described_class.new(:name => "testrole")
|
424
|
+
|
425
|
+
Puppet::Resource::Catalog.new :testing do |conf|
|
426
|
+
[testuser, testrole].each { |resource| conf.add_resource resource }
|
427
|
+
end
|
428
|
+
|
429
|
+
expect(testuser.autorequire).to be_empty
|
430
|
+
end
|
431
|
+
|
432
|
+
it "should sync the user roles when changing the state of :ensure if :roles is being managed" do
|
433
|
+
user = Puppet::Type.type(:user).new(:name => "myUser", :ensure => :present)
|
434
|
+
user[:roles] = 'testRole'
|
435
|
+
|
436
|
+
allow(user.provider.class).to receive(:supports_parameter?).and_return(true)
|
437
|
+
expect(user.property(:roles)).to receive(:retrieve).and_return("other")
|
438
|
+
expect(user.property(:roles)).to receive(:insync?).and_return(false)
|
439
|
+
expect(user.property(:roles)).to receive(:sync)
|
440
|
+
|
441
|
+
allow(user.provider).to receive(:create)
|
442
|
+
|
443
|
+
user.property(:ensure).sync
|
444
|
+
end
|
416
445
|
end
|
417
446
|
|
418
447
|
describe "when setting shell" do
|
data/spec/unit/type_spec.rb
CHANGED
@@ -195,6 +195,26 @@ describe Puppet::Type, :unless => Puppet::Util::Platform.windows? do
|
|
195
195
|
end
|
196
196
|
end
|
197
197
|
|
198
|
+
context 'aliased resource' do
|
199
|
+
it 'fails if a resource is defined and then redefined using name that results in the same alias' do
|
200
|
+
drive = Puppet::Util::Platform.windows? ? 'C:' : ''
|
201
|
+
code = <<~PUPPET
|
202
|
+
$dir='#{drive}/tmp/test'
|
203
|
+
$same_dir='#{drive}/tmp/test/'
|
204
|
+
|
205
|
+
file {$dir:
|
206
|
+
ensure => directory
|
207
|
+
}
|
208
|
+
|
209
|
+
file { $same_dir:
|
210
|
+
ensure => directory
|
211
|
+
}
|
212
|
+
PUPPET
|
213
|
+
|
214
|
+
expect { compile_to_ral(code) }.to raise_error(/resource \["File", "#{drive}\/tmp\/test"\] already declared/)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
198
218
|
context "resource attributes" do
|
199
219
|
let(:resource) {
|
200
220
|
resource = klass.new(:name => "foo")
|
@@ -16,8 +16,6 @@ describe Puppet::Util::Backups do
|
|
16
16
|
let(:path) { make_absolute('/no/such/file') }
|
17
17
|
|
18
18
|
it "should noop if the file does not exist" do
|
19
|
-
file = Puppet::Type.type(:file).new(:name => path)
|
20
|
-
|
21
19
|
expect(file).not_to receive(:bucket)
|
22
20
|
expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(false)
|
23
21
|
|
@@ -21,7 +21,7 @@ describe Puppet::Util::CharacterEncoding do
|
|
21
21
|
let(:invalid_utf8_string) { "\xfd\xf1".force_encoding(Encoding::UTF_8) }
|
22
22
|
|
23
23
|
it "should issue a debug message" do
|
24
|
-
expect(Puppet).to receive(:debug).
|
24
|
+
expect(Puppet).to receive(:debug) { |&b| expect(b.call).to match(/encoding is invalid/) }
|
25
25
|
Puppet::Util::CharacterEncoding.convert_to_utf_8(invalid_utf8_string)
|
26
26
|
end
|
27
27
|
|
@@ -80,7 +80,7 @@ describe Puppet::Util::CharacterEncoding do
|
|
80
80
|
end
|
81
81
|
|
82
82
|
it "should issue a debug message that the string was not transcodable" do
|
83
|
-
expect(Puppet).to receive(:debug).
|
83
|
+
expect(Puppet).to receive(:debug) { |&b| expect(b.call).to match(/cannot be transcoded/) }
|
84
84
|
PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::Windows_31J) do
|
85
85
|
Puppet::Util::CharacterEncoding.convert_to_utf_8(invalid_win_31j)
|
86
86
|
end
|
@@ -124,7 +124,7 @@ describe Puppet::Util::CharacterEncoding do
|
|
124
124
|
let(:euc_kr) { [253, 241].pack('C*').force_encoding(Encoding::ASCII) }
|
125
125
|
|
126
126
|
it "should issue a debug message" do
|
127
|
-
expect(Puppet).to receive(:debug).
|
127
|
+
expect(Puppet).to receive(:debug) { |&b| expect(b.call).to match(/cannot be transcoded/) }
|
128
128
|
Puppet::Util::CharacterEncoding.convert_to_utf_8(euc_kr)
|
129
129
|
end
|
130
130
|
|
@@ -168,7 +168,7 @@ describe Puppet::Util::CharacterEncoding do
|
|
168
168
|
let(:foo) { 'foo' }
|
169
169
|
|
170
170
|
it "should issue a debug message" do
|
171
|
-
expect(Puppet).to receive(:debug).
|
171
|
+
expect(Puppet).to receive(:debug) { |&b| expect(b.call).to match(/not valid UTF-8/) }
|
172
172
|
Puppet::Util::CharacterEncoding.override_encoding_to_utf_8(oslash)
|
173
173
|
end
|
174
174
|
|
@@ -62,7 +62,7 @@ describe Puppet::Util::CommandLine do
|
|
62
62
|
it "should print the version and exit if #{arg} is given" do
|
63
63
|
expect do
|
64
64
|
described_class.new("puppet", [arg]).execute
|
65
|
-
end.to
|
65
|
+
end.to output(/^#{Regexp.escape(Puppet.version)}$/).to_stdout
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
@@ -73,7 +73,8 @@ describe Puppet::Util::CommandLine do
|
|
73
73
|
|
74
74
|
expect {
|
75
75
|
commandline.execute
|
76
|
-
}.to
|
76
|
+
}.to exit_with(0)
|
77
|
+
.and output(/Usage: puppet <subcommand> \[options\] <action> \[options\]/).to_stdout
|
77
78
|
end
|
78
79
|
end
|
79
80
|
|
@@ -95,7 +96,8 @@ describe Puppet::Util::CommandLine do
|
|
95
96
|
|
96
97
|
expect {
|
97
98
|
commandline.execute
|
98
|
-
}.to
|
99
|
+
}.to exit_with(0)
|
100
|
+
.and output(/Usage: puppet <subcommand> \[options\] <action> \[options\]/).to_stdout
|
99
101
|
end
|
100
102
|
end
|
101
103
|
|
@@ -124,7 +126,8 @@ describe Puppet::Util::CommandLine do
|
|
124
126
|
|
125
127
|
expect {
|
126
128
|
commandline.execute
|
127
|
-
}.to
|
129
|
+
}.to exit_with(1)
|
130
|
+
.and output(/Unknown Puppet subcommand 'whatever'/).to_stdout
|
128
131
|
end
|
129
132
|
|
130
133
|
it "should abort and show the help message" do
|
@@ -134,7 +137,8 @@ describe Puppet::Util::CommandLine do
|
|
134
137
|
|
135
138
|
expect {
|
136
139
|
commandline.execute
|
137
|
-
}.to
|
140
|
+
}.to exit_with(1)
|
141
|
+
.and output(/See 'puppet help' for help on available puppet subcommands/).to_stdout
|
138
142
|
end
|
139
143
|
|
140
144
|
%w{--version -V}.each do |arg|
|
@@ -145,7 +149,8 @@ describe Puppet::Util::CommandLine do
|
|
145
149
|
|
146
150
|
expect {
|
147
151
|
commandline.execute
|
148
|
-
}.to
|
152
|
+
}.to exit_with(1)
|
153
|
+
.and output(%r[^#{Regexp.escape(Puppet.version)}$]).to_stdout
|
149
154
|
end
|
150
155
|
end
|
151
156
|
end
|
@@ -935,33 +935,4 @@ describe Puppet::Util::Execution, if: !Puppet::Util::Platform.jruby? do
|
|
935
935
|
expect(Puppet::Util::Execution.execpipe('echo hello', false)).to eq('error message')
|
936
936
|
end
|
937
937
|
end
|
938
|
-
|
939
|
-
describe "execfail" do
|
940
|
-
it "returns the executed command output" do
|
941
|
-
allow(Puppet::Util::Execution).to receive(:execute)
|
942
|
-
.and_return(Puppet::Util::Execution::ProcessOutput.new("process output", 0))
|
943
|
-
expect(Puppet::Util::Execution.execfail('echo hello', Puppet::Error)).to eq('process output')
|
944
|
-
end
|
945
|
-
|
946
|
-
it "raises a caller-specified exception on failure with the backtrace" do
|
947
|
-
allow(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure, "failed to execute")
|
948
|
-
expect {
|
949
|
-
Puppet::Util::Execution.execfail("this will fail", Puppet::Error)
|
950
|
-
}.to raise_error(Puppet::Error, /failed to execute/)
|
951
|
-
end
|
952
|
-
|
953
|
-
it "raises exceptions that don't extend ExecutionFailure" do
|
954
|
-
allow(Puppet::Util::Execution).to receive(:execute).and_raise(ArgumentError, "failed to execute")
|
955
|
-
expect {
|
956
|
-
Puppet::Util::Execution.execfail("this will fail", Puppet::Error)
|
957
|
-
}.to raise_error(ArgumentError, /failed to execute/)
|
958
|
-
end
|
959
|
-
|
960
|
-
it "raises a TypeError if the exception class is nil" do
|
961
|
-
allow(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure, "failed to execute")
|
962
|
-
expect {
|
963
|
-
Puppet::Util::Execution.execfail('echo hello', nil)
|
964
|
-
}.to raise_error(TypeError, /exception class\/object expected/)
|
965
|
-
end
|
966
|
-
end
|
967
938
|
end
|