puppet 6.0.10 → 6.1.0
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/Gemfile +1 -0
- data/Gemfile.lock +31 -27
- data/Guardfile.example +76 -0
- data/LICENSE +189 -4
- data/MAINTAINERS +47 -0
- data/README.md +3 -3
- data/lib/hiera/scope.rb +0 -7
- data/lib/puppet.rb +6 -5
- data/lib/puppet/application.rb +3 -3
- data/lib/puppet/application/cert.rb +2 -2
- data/lib/puppet/application/device.rb +83 -109
- data/lib/puppet/application/filebucket.rb +1 -10
- data/lib/puppet/application/ssl.rb +0 -2
- data/lib/puppet/configurer.rb +9 -10
- data/lib/puppet/confine/false.rb +1 -7
- data/lib/puppet/confine/true.rb +1 -7
- data/lib/puppet/defaults.rb +39 -51
- data/lib/puppet/forge.rb +1 -4
- data/lib/puppet/functions/abs.rb +1 -1
- data/lib/puppet/functions/call.rb +1 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/indirector/request.rb +15 -26
- data/lib/puppet/network/http/connection.rb +12 -32
- data/lib/puppet/network/http/factory.rb +0 -5
- data/lib/puppet/pal/catalog_compiler.rb +96 -0
- data/lib/puppet/pal/compiler.rb +221 -0
- data/lib/puppet/pal/function_signature.rb +52 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
- data/lib/puppet/pal/pal_api.rb +15 -0
- data/lib/puppet/pal/pal_impl.rb +523 -0
- data/lib/puppet/pal/plan_signature.rb +71 -0
- data/lib/puppet/pal/script_compiler.rb +71 -0
- data/lib/puppet/pal/task_signature.rb +58 -0
- data/lib/puppet/parser/functions/generate.rb +7 -6
- data/lib/puppet/plugins/configuration.rb +5 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
- data/lib/puppet/pops/issues.rb +0 -4
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
- data/lib/puppet/pops/model/factory.rb +4 -38
- data/lib/puppet/pops/model/pn_transformer.rb +0 -5
- data/lib/puppet/pops/parser/egrammar.ra +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
- data/lib/puppet/pops/parser/lexer2.rb +1 -6
- data/lib/puppet/pops/parser/locator.rb +86 -106
- data/lib/puppet/pops/parser/parser_support.rb +2 -11
- data/lib/puppet/pops/types/string_converter.rb +7 -2
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/types.rb +3 -5
- data/lib/puppet/pops/validation/checker4_0.rb +13 -0
- data/lib/puppet/provider.rb +2 -1
- data/lib/puppet/provider/exec.rb +6 -1
- data/lib/puppet/provider/file/windows.rb +1 -49
- data/lib/puppet/provider/group/windows_adsi.rb +1 -4
- data/lib/puppet/provider/package.rb +0 -2
- data/lib/puppet/provider/package/dpkg.rb +2 -15
- data/lib/puppet/provider/package/gem.rb +42 -102
- data/lib/puppet/provider/package/pip.rb +111 -135
- data/lib/puppet/provider/package/pip3.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +37 -21
- data/lib/puppet/provider/package/puppet_gem.rb +1 -1
- data/lib/puppet/provider/package/rpm.rb +16 -27
- data/lib/puppet/provider/package/windows.rb +1 -5
- data/lib/puppet/provider/package/yum.rb +1 -2
- data/lib/puppet/provider/service/systemd.rb +17 -0
- data/lib/puppet/provider/service/upstart.rb +5 -17
- data/lib/puppet/provider/service/windows.rb +8 -3
- data/lib/puppet/provider/user/directoryservice.rb +4 -16
- data/lib/puppet/provider/user/useradd.rb +13 -16
- data/lib/puppet/resource.rb +3 -1
- data/lib/puppet/rest/client.rb +83 -0
- data/lib/puppet/rest/route.rb +1 -1
- data/lib/puppet/settings.rb +5 -10
- data/lib/puppet/settings/server_list_setting.rb +0 -9
- data/lib/puppet/ssl/host.rb +11 -0
- data/lib/puppet/ssl/validator/default_validator.rb +0 -31
- data/lib/puppet/syntax_checkers/epp.rb +34 -0
- data/lib/puppet/syntax_checkers/pp.rb +34 -0
- data/lib/puppet/transaction.rb +7 -12
- data/lib/puppet/transaction/event_manager.rb +5 -1
- data/lib/puppet/transaction/resource_harness.rb +0 -1
- data/lib/puppet/type.rb +6 -0
- data/lib/puppet/type/exec.rb +5 -27
- data/lib/puppet/type/file/mode.rb +1 -6
- data/lib/puppet/type/file/source.rb +1 -0
- data/lib/puppet/type/filebucket.rb +8 -12
- data/lib/puppet/type/package.rb +11 -44
- data/lib/puppet/type/schedule.rb +0 -4
- data/lib/puppet/type/service.rb +12 -0
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/command_line.rb +1 -5
- data/lib/puppet/util/connection.rb +6 -15
- data/lib/puppet/util/http_proxy.rb +2 -3
- data/lib/puppet/util/log.rb +2 -7
- data/lib/puppet/util/pidlock.rb +1 -15
- data/lib/puppet/util/windows/process.rb +5 -73
- data/lib/puppet/util/windows/registry.rb +1 -7
- data/lib/puppet/util/windows/security.rb +8 -29
- data/lib/puppet/util/windows/service.rb +33 -27
- data/lib/puppet/util/windows/user.rb +4 -14
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet_pal.rb +5 -1132
- data/locales/ja/puppet.po +297 -363
- data/locales/puppet.pot +445 -517
- data/man/man5/puppet.conf.5 +12 -20
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- 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 +2 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- 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 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
- data/spec/integration/agent/logging_spec.rb +7 -5
- data/spec/integration/application/apply_spec.rb +16 -18
- data/spec/integration/application/doc_spec.rb +2 -1
- data/spec/integration/application/lookup_spec.rb +5 -5
- data/spec/integration/configurer_spec.rb +6 -5
- data/spec/integration/defaults_spec.rb +6 -5
- data/spec/integration/directory_environments_spec.rb +1 -1
- data/spec/integration/faces/config_spec.rb +4 -3
- data/spec/integration/faces/documentation_spec.rb +1 -0
- data/spec/integration/faces/plugin_spec.rb +1 -1
- data/spec/integration/file_bucket/file_spec.rb +4 -2
- data/spec/integration/file_serving/content_spec.rb +1 -0
- data/spec/integration/file_serving/fileset_spec.rb +1 -0
- data/spec/integration/file_serving/metadata_spec.rb +1 -0
- data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +5 -4
- data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
- data/spec/integration/network/authconfig_spec.rb +24 -23
- data/spec/integration/network/formats_spec.rb +1 -0
- data/spec/integration/node/environment_spec.rb +1 -0
- data/spec/integration/node/facts_spec.rb +10 -9
- data/spec/integration/node_spec.rb +7 -6
- data/spec/integration/parser/catalog_spec.rb +5 -1
- data/spec/integration/parser/collection_spec.rb +2 -1
- data/spec/integration/parser/compiler_spec.rb +6 -6
- data/spec/integration/parser/scope_spec.rb +1 -1
- data/spec/integration/parser/undef_param_spec.rb +1 -1
- data/spec/integration/provider/service/init_spec.rb +5 -4
- data/spec/integration/provider/service/systemd_spec.rb +2 -0
- data/spec/integration/provider/service/windows_spec.rb +2 -1
- data/spec/integration/reference/providers_spec.rb +2 -1
- data/spec/integration/reports_spec.rb +2 -1
- data/spec/integration/resource/catalog_spec.rb +17 -14
- data/spec/integration/resource/type_collection_spec.rb +5 -4
- data/spec/integration/ssl/certificate_request_spec.rb +1 -0
- data/spec/integration/ssl/host_spec.rb +2 -1
- data/spec/integration/ssl/key_spec.rb +1 -0
- data/spec/integration/test/test_helper_spec.rb +1 -0
- data/spec/integration/transaction/report_spec.rb +11 -6
- data/spec/integration/transaction_spec.rb +19 -18
- data/spec/integration/type/exec_spec.rb +1 -0
- data/spec/integration/type/file_spec.rb +33 -13
- data/spec/integration/type/package_spec.rb +24 -20
- data/spec/integration/type/tidy_spec.rb +2 -1
- data/spec/integration/type_spec.rb +1 -0
- data/spec/integration/util/autoload_spec.rb +2 -1
- data/spec/integration/util/rdoc/parser_spec.rb +1 -0
- data/spec/integration/util/settings_spec.rb +1 -0
- data/spec/integration/util/windows/adsi_spec.rb +5 -3
- data/spec/integration/util/windows/principal_spec.rb +1 -0
- data/spec/integration/util/windows/process_spec.rb +6 -4
- data/spec/integration/util/windows/registry_spec.rb +51 -93
- data/spec/integration/util/windows/security_spec.rb +4 -2
- data/spec/integration/util/windows/user_spec.rb +20 -37
- data/spec/integration/util_spec.rb +7 -4
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +1 -0
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +2 -1
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/file_server_terminus.rb +9 -8
- data/spec/shared_behaviours/file_serving.rb +8 -6
- data/spec/shared_behaviours/file_serving_model.rb +5 -3
- data/spec/shared_behaviours/hiera_indirections.rb +4 -3
- data/spec/shared_behaviours/iterative_functions.rb +1 -0
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_examples/rhel_package_provider.rb +70 -112
- data/spec/spec_helper.rb +2 -11
- data/spec/unit/agent/disabler_spec.rb +5 -4
- data/spec/unit/agent/locker_spec.rb +13 -12
- data/spec/unit/agent_spec.rb +85 -80
- data/spec/unit/application/agent_spec.rb +93 -88
- data/spec/unit/application/apply_spec.rb +83 -82
- data/spec/unit/application/config_spec.rb +1 -0
- data/spec/unit/application/describe_spec.rb +7 -6
- data/spec/unit/application/device_spec.rb +419 -395
- data/spec/unit/application/doc_spec.rb +46 -44
- data/spec/unit/application/face_base_spec.rb +62 -61
- data/spec/unit/application/facts_spec.rb +4 -3
- data/spec/unit/application/filebucket_spec.rb +74 -66
- data/spec/unit/application/indirection_base_spec.rb +6 -8
- data/spec/unit/application/lookup_spec.rb +26 -26
- data/spec/unit/application/resource_spec.rb +48 -42
- data/spec/unit/application/ssl_spec.rb +3 -8
- data/spec/unit/application_spec.rb +98 -86
- data/spec/unit/capability_spec.rb +6 -6
- data/spec/unit/certificate_factory_spec.rb +5 -3
- data/spec/unit/configurer/downloader_spec.rb +21 -20
- data/spec/unit/configurer/fact_handler_spec.rb +3 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
- data/spec/unit/configurer_spec.rb +198 -194
- data/spec/unit/confine/exists_spec.rb +15 -17
- data/spec/unit/confine/false_spec.rb +6 -32
- data/spec/unit/confine/feature_spec.rb +5 -7
- data/spec/unit/confine/true_spec.rb +6 -32
- data/spec/unit/confine/variable_spec.rb +15 -14
- data/spec/unit/confine_collection_spec.rb +29 -28
- data/spec/unit/confine_spec.rb +14 -13
- data/spec/unit/confiner_spec.rb +11 -10
- data/spec/unit/context/trusted_information_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +36 -35
- data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
- data/spec/unit/datatypes_spec.rb +4 -3
- data/spec/unit/defaults_spec.rb +27 -18
- data/spec/unit/environments_spec.rb +7 -7
- data/spec/unit/etc_spec.rb +32 -30
- data/spec/unit/external/pson_spec.rb +1 -0
- data/spec/unit/face/catalog_spec.rb +1 -0
- data/spec/unit/face/config_spec.rb +35 -31
- data/spec/unit/face/epp_face_spec.rb +4 -3
- data/spec/unit/face/facts_spec.rb +6 -5
- data/spec/unit/face/generate_spec.rb +5 -4
- data/spec/unit/face/help_spec.rb +8 -7
- data/spec/unit/face/key_spec.rb +1 -0
- data/spec/unit/face/man_spec.rb +2 -1
- data/spec/unit/face/module/install_spec.rb +5 -3
- data/spec/unit/face/module/list_spec.rb +12 -2
- data/spec/unit/face/module/search_spec.rb +9 -11
- data/spec/unit/face/module/uninstall_spec.rb +8 -4
- data/spec/unit/face/node_spec.rb +24 -23
- data/spec/unit/face/parser_spec.rb +18 -3
- data/spec/unit/face/plugin_spec.rb +9 -36
- data/spec/unit/face/status_spec.rb +1 -0
- data/spec/unit/file_bucket/dipper_spec.rb +20 -24
- data/spec/unit/file_bucket/file_spec.rb +2 -0
- data/spec/unit/file_serving/base_spec.rb +15 -14
- data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
- data/spec/unit/file_serving/configuration_spec.rb +66 -63
- data/spec/unit/file_serving/content_spec.rb +11 -10
- data/spec/unit/file_serving/fileset_spec.rb +58 -63
- data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
- data/spec/unit/file_serving/metadata_spec.rb +36 -36
- data/spec/unit/file_serving/mount/file_spec.rb +32 -31
- data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
- data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
- data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
- data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
- data/spec/unit/file_serving/mount_spec.rb +1 -0
- data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
- data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
- data/spec/unit/file_system/uniquefile_spec.rb +4 -4
- data/spec/unit/file_system_spec.rb +2 -2
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/forge_spec.rb +16 -17
- data/spec/unit/forge/module_release_spec.rb +18 -18
- data/spec/unit/forge/repository_spec.rb +30 -29
- data/spec/unit/forge_spec.rb +11 -15
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/contain_spec.rb +2 -0
- data/spec/unit/functions/defined_spec.rb +1 -0
- data/spec/unit/functions/epp_spec.rb +2 -2
- data/spec/unit/functions/find_file_spec.rb +7 -7
- data/spec/unit/functions/include_spec.rb +4 -0
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
- data/spec/unit/functions/lookup_spec.rb +2 -1
- data/spec/unit/functions/module_directory_spec.rb +12 -12
- data/spec/unit/functions/new_spec.rb +0 -15
- data/spec/unit/functions/require_spec.rb +3 -0
- data/spec/unit/functions/shared.rb +8 -5
- data/spec/unit/functions/versioncmp_spec.rb +2 -1
- data/spec/unit/functions4_spec.rb +10 -9
- data/spec/unit/gettext/config_spec.rb +4 -4
- data/spec/unit/gettext/module_loading_spec.rb +7 -7
- data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
- data/spec/unit/graph/relationship_graph_spec.rb +2 -1
- data/spec/unit/graph/simple_graph_spec.rb +10 -9
- data/spec/unit/hiera/scope_spec.rb +0 -7
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
- data/spec/unit/indirector/catalog/json_spec.rb +2 -1
- data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
- data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
- data/spec/unit/indirector/certificate/file_spec.rb +1 -0
- data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
- data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
- data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
- data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
- data/spec/unit/indirector/envelope_spec.rb +2 -1
- data/spec/unit/indirector/exec_spec.rb +5 -4
- data/spec/unit/indirector/face_spec.rb +9 -9
- data/spec/unit/indirector/facts/facter_spec.rb +43 -37
- data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
- data/spec/unit/indirector/facts/rest_spec.rb +8 -7
- data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
- data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/unit/indirector/file_content/file_spec.rb +1 -0
- data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
- data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
- data/spec/unit/indirector/file_server_spec.rb +87 -87
- data/spec/unit/indirector/indirection_spec.rb +226 -242
- data/spec/unit/indirector/json_spec.rb +9 -7
- data/spec/unit/indirector/key/file_spec.rb +22 -21
- data/spec/unit/indirector/memory_spec.rb +7 -6
- data/spec/unit/indirector/msgpack_spec.rb +9 -7
- data/spec/unit/indirector/node/exec_spec.rb +3 -2
- data/spec/unit/indirector/node/memory_spec.rb +4 -2
- data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/node/plain_spec.rb +4 -2
- data/spec/unit/indirector/node/rest_spec.rb +1 -0
- data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/node/yaml_spec.rb +1 -0
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +8 -7
- data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/report/processor_spec.rb +22 -21
- data/spec/unit/indirector/report/rest_spec.rb +12 -11
- data/spec/unit/indirector/report/yaml_spec.rb +1 -0
- data/spec/unit/indirector/request_spec.rb +12 -11
- data/spec/unit/indirector/resource/ral_spec.rb +54 -47
- data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/rest_spec.rb +110 -113
- data/spec/unit/indirector/ssl_file_spec.rb +65 -64
- data/spec/unit/indirector/status/local_spec.rb +1 -0
- data/spec/unit/indirector/status/rest_spec.rb +1 -0
- data/spec/unit/indirector/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/terminus_spec.rb +27 -27
- data/spec/unit/indirector/yaml_spec.rb +6 -5
- data/spec/unit/indirector_spec.rb +2 -1
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/interface/action_builder_spec.rb +1 -0
- data/spec/unit/interface/action_manager_spec.rb +1 -0
- data/spec/unit/interface/action_spec.rb +3 -2
- data/spec/unit/interface/documentation_spec.rb +1 -0
- data/spec/unit/interface/face_collection_spec.rb +12 -19
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/man_spec.rb +4 -3
- data/spec/unit/module_spec.rb +51 -46
- data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
- data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
- data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
- data/spec/unit/module_tool/install_directory_spec.rb +8 -8
- data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
- data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
- data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
- data/spec/unit/module_tool/tar_spec.rb +13 -12
- data/spec/unit/module_tool_spec.rb +12 -7
- data/spec/unit/network/auth_config_parser_spec.rb +13 -11
- data/spec/unit/network/authconfig_spec.rb +18 -17
- data/spec/unit/network/authorization_spec.rb +5 -4
- data/spec/unit/network/authstore_spec.rb +1 -0
- data/spec/unit/network/format_handler_spec.rb +1 -0
- data/spec/unit/network/format_spec.rb +10 -9
- data/spec/unit/network/format_support_spec.rb +29 -28
- data/spec/unit/network/formats_spec.rb +5 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
- data/spec/unit/network/http/api_spec.rb +2 -0
- data/spec/unit/network/http/compression_spec.rb +22 -21
- data/spec/unit/network/http/connection_spec.rb +121 -30
- data/spec/unit/network/http/factory_spec.rb +6 -11
- data/spec/unit/network/http/handler_spec.rb +18 -9
- data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
- data/spec/unit/network/http/pool_spec.rb +29 -28
- data/spec/unit/network/http/request_spec.rb +2 -0
- data/spec/unit/network/http/response_spec.rb +13 -11
- data/spec/unit/network/http/route_spec.rb +1 -0
- data/spec/unit/network/http/session_spec.rb +2 -1
- data/spec/unit/network/http/site_spec.rb +1 -0
- data/spec/unit/network/http_pool_spec.rb +9 -18
- data/spec/unit/network/http_spec.rb +1 -0
- data/spec/unit/network/resolver_spec.rb +26 -25
- data/spec/unit/network/rights_spec.rb +53 -52
- data/spec/unit/node/environment_spec.rb +15 -14
- data/spec/unit/node/facts_spec.rb +7 -5
- data/spec/unit/node_spec.rb +10 -4
- data/spec/unit/other/selinux_spec.rb +1 -0
- data/spec/unit/parameter/boolean_spec.rb +2 -1
- data/spec/unit/parameter/package_options_spec.rb +2 -1
- data/spec/unit/parameter/path_spec.rb +1 -0
- data/spec/unit/parameter/value_collection_spec.rb +1 -0
- data/spec/unit/parameter/value_spec.rb +1 -0
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
- data/spec/unit/parser/ast/leaf_spec.rb +21 -20
- data/spec/unit/parser/compiler_spec.rb +96 -84
- data/spec/unit/parser/environment_compiler_spec.rb +8 -7
- data/spec/unit/parser/files_spec.rb +1 -0
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/digest_spec.rb +1 -0
- data/spec/unit/parser/functions/fail_spec.rb +2 -1
- data/spec/unit/parser/functions/file_spec.rb +14 -13
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
- data/spec/unit/parser/functions/generate_spec.rb +8 -7
- data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
- data/spec/unit/parser/functions/scanf_spec.rb +1 -0
- data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
- data/spec/unit/parser/functions/split_spec.rb +1 -0
- data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
- data/spec/unit/parser/functions/tag_spec.rb +2 -1
- data/spec/unit/parser/functions/tagged_spec.rb +3 -2
- data/spec/unit/parser/functions/template_spec.rb +13 -13
- data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
- data/spec/unit/parser/functions_spec.rb +7 -6
- data/spec/unit/parser/relationship_spec.rb +1 -0
- data/spec/unit/parser/resource_spec.rb +42 -42
- data/spec/unit/parser/scope_spec.rb +35 -39
- data/spec/unit/parser/templatewrapper_spec.rb +12 -11
- data/spec/unit/parser/type_loader_spec.rb +19 -17
- data/spec/unit/pops/adaptable_spec.rb +1 -0
- data/spec/unit/pops/benchmark_spec.rb +1 -0
- data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
- data/spec/unit/pops/factory_spec.rb +4 -3
- data/spec/unit/pops/issues_spec.rb +20 -19
- data/spec/unit/pops/loaders/loader_spec.rb +4 -8
- data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
- data/spec/unit/pops/lookup/context_spec.rb +1 -0
- data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
- data/spec/unit/pops/merge_strategy_spec.rb +1 -0
- data/spec/unit/pops/migration_spec.rb +5 -3
- data/spec/unit/pops/model/model_spec.rb +1 -0
- data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
- data/spec/unit/pops/parser/locator_spec.rb +6 -48
- data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
- data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
- data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
- data/spec/unit/pops/pn_spec.rb +1 -0
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
- data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
- data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
- data/spec/unit/pops/types/string_converter_spec.rb +5 -1
- data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
- data/spec/unit/pops/types/type_parser_spec.rb +13 -13
- data/spec/unit/pops/validator/validator_spec.rb +2 -1
- data/spec/unit/pops/visitor_spec.rb +1 -0
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +1 -0
- data/spec/unit/property/keyvalue_spec.rb +34 -32
- data/spec/unit/property/list_spec.rb +27 -26
- data/spec/unit/property/ordered_list_spec.rb +14 -10
- data/spec/unit/property_spec.rb +43 -42
- data/spec/unit/provider/aix_object_spec.rb +45 -47
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/exec/posix_spec.rb +31 -6
- data/spec/unit/provider/exec/shell_spec.rb +1 -0
- data/spec/unit/provider/exec/windows_spec.rb +4 -2
- data/spec/unit/provider/exec_spec.rb +1 -0
- data/spec/unit/provider/file/posix_spec.rb +24 -22
- data/spec/unit/provider/file/windows_spec.rb +17 -15
- data/spec/unit/provider/group/aix_spec.rb +2 -3
- data/spec/unit/provider/group/groupadd_spec.rb +26 -30
- data/spec/unit/provider/group/ldap_spec.rb +18 -18
- data/spec/unit/provider/group/pw_spec.rb +11 -11
- data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
- data/spec/unit/provider/ldap_spec.rb +62 -61
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
- data/spec/unit/provider/nameservice_spec.rb +40 -38
- data/spec/unit/provider/package/aix_spec.rb +15 -15
- data/spec/unit/provider/package/appdmg_spec.rb +13 -13
- data/spec/unit/provider/package/apt_spec.rb +27 -44
- data/spec/unit/provider/package/aptitude_spec.rb +7 -6
- data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
- data/spec/unit/provider/package/base_spec.rb +4 -4
- data/spec/unit/provider/package/dnf_spec.rb +20 -18
- data/spec/unit/provider/package/dpkg_spec.rb +53 -70
- data/spec/unit/provider/package/freebsd_spec.rb +11 -11
- data/spec/unit/provider/package/gem_spec.rb +55 -132
- data/spec/unit/provider/package/hpux_spec.rb +8 -8
- data/spec/unit/provider/package/macports_spec.rb +42 -46
- data/spec/unit/provider/package/nim_spec.rb +39 -30
- data/spec/unit/provider/package/openbsd_spec.rb +39 -36
- data/spec/unit/provider/package/opkg_spec.rb +26 -23
- data/spec/unit/provider/package/pacman_spec.rb +118 -97
- data/spec/unit/provider/package/pip3_spec.rb +0 -17
- data/spec/unit/provider/package/pip_spec.rb +106 -95
- data/spec/unit/provider/package/pkg_spec.rb +109 -109
- data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
- data/spec/unit/provider/package/pkgin_spec.rb +8 -10
- data/spec/unit/provider/package/pkgng_spec.rb +31 -22
- data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
- data/spec/unit/provider/package/portage_spec.rb +74 -70
- data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
- data/spec/unit/provider/package/rpm_spec.rb +76 -154
- data/spec/unit/provider/package/sun_spec.rb +18 -16
- data/spec/unit/provider/package/tdnf_spec.rb +2 -2
- data/spec/unit/provider/package/up2date_spec.rb +4 -2
- data/spec/unit/provider/package/urpmi_spec.rb +17 -15
- data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
- data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
- data/spec/unit/provider/package/windows/package_spec.rb +42 -37
- data/spec/unit/provider/package/windows_spec.rb +32 -47
- data/spec/unit/provider/package/yum_spec.rb +7 -7
- data/spec/unit/provider/package/zypper_spec.rb +87 -87
- data/spec/unit/provider/parsedfile_spec.rb +45 -44
- data/spec/unit/provider/service/base_spec.rb +5 -4
- data/spec/unit/provider/service/bsd_spec.rb +29 -27
- data/spec/unit/provider/service/daemontools_spec.rb +35 -35
- data/spec/unit/provider/service/debian_spec.rb +38 -38
- data/spec/unit/provider/service/freebsd_spec.rb +18 -18
- data/spec/unit/provider/service/gentoo_spec.rb +55 -50
- data/spec/unit/provider/service/init_spec.rb +52 -53
- data/spec/unit/provider/service/launchd_spec.rb +116 -138
- data/spec/unit/provider/service/openbsd_spec.rb +50 -50
- data/spec/unit/provider/service/openrc_spec.rb +45 -43
- data/spec/unit/provider/service/openwrt_spec.rb +31 -26
- data/spec/unit/provider/service/rcng_spec.rb +14 -14
- data/spec/unit/provider/service/redhat_spec.rb +43 -45
- data/spec/unit/provider/service/runit_spec.rb +27 -29
- data/spec/unit/provider/service/smf_spec.rb +66 -74
- data/spec/unit/provider/service/src_spec.rb +47 -46
- data/spec/unit/provider/service/systemd_spec.rb +136 -109
- data/spec/unit/provider/service/upstart_spec.rb +93 -77
- data/spec/unit/provider/service/windows_spec.rb +41 -33
- data/spec/unit/provider/user/aix_spec.rb +31 -31
- data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
- data/spec/unit/provider/user/hpux_spec.rb +16 -16
- data/spec/unit/provider/user/ldap_spec.rb +57 -57
- data/spec/unit/provider/user/openbsd_spec.rb +12 -10
- data/spec/unit/provider/user/pw_spec.rb +35 -37
- data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
- data/spec/unit/provider/user/useradd_spec.rb +92 -93
- data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
- data/spec/unit/provider_spec.rb +35 -35
- data/spec/unit/puppet_pal_2pec.rb +5 -4
- data/spec/unit/puppet_pal_spec.rb +1 -0
- data/spec/unit/puppet_spec.rb +7 -6
- data/spec/unit/relationship_spec.rb +1 -0
- data/spec/unit/reports/http_spec.rb +23 -21
- data/spec/unit/reports/store_spec.rb +4 -3
- data/spec/unit/reports_spec.rb +14 -12
- data/spec/unit/resource/capability_finder_spec.rb +17 -15
- data/spec/unit/resource/catalog_spec.rb +68 -72
- data/spec/unit/resource/status_spec.rb +8 -6
- data/spec/unit/resource/type_collection_spec.rb +18 -17
- data/spec/unit/resource/type_spec.rb +35 -34
- data/spec/unit/resource_spec.rb +63 -36
- data/spec/unit/rest/client_spec.rb +135 -0
- data/spec/unit/rest/route_spec.rb +6 -6
- data/spec/unit/scheduler/job_spec.rb +1 -0
- data/spec/unit/scheduler/scheduler_spec.rb +1 -0
- data/spec/unit/scheduler/splay_job_spec.rb +2 -1
- data/spec/unit/settings/array_setting_spec.rb +1 -1
- data/spec/unit/settings/autosign_setting_spec.rb +9 -9
- data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +1 -0
- data/spec/unit/settings/directory_setting_spec.rb +7 -2
- data/spec/unit/settings/duration_setting_spec.rb +2 -1
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +6 -4
- data/spec/unit/settings/file_setting_spec.rb +46 -44
- data/spec/unit/settings/path_setting_spec.rb +2 -1
- data/spec/unit/settings/priority_setting_spec.rb +2 -1
- data/spec/unit/settings/string_setting_spec.rb +15 -14
- data/spec/unit/settings/terminus_setting_spec.rb +2 -1
- data/spec/unit/settings/value_translator_spec.rb +1 -0
- data/spec/unit/settings_spec.rb +224 -253
- data/spec/unit/ssl/base_spec.rb +15 -14
- data/spec/unit/ssl/certificate_request_spec.rb +58 -62
- data/spec/unit/ssl/certificate_spec.rb +25 -23
- data/spec/unit/ssl/digest_spec.rb +1 -0
- data/spec/unit/ssl/host_spec.rb +149 -166
- data/spec/unit/ssl/key_spec.rb +31 -30
- data/spec/unit/ssl/validator_spec.rb +39 -40
- data/spec/unit/task_spec.rb +45 -44
- data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
- data/spec/unit/transaction/event_manager_spec.rb +88 -87
- data/spec/unit/transaction/event_spec.rb +15 -16
- data/spec/unit/transaction/persistence_spec.rb +17 -16
- data/spec/unit/transaction/report_spec.rb +12 -11
- data/spec/unit/transaction/resource_harness_spec.rb +31 -52
- data/spec/unit/transaction_spec.rb +87 -140
- data/spec/unit/type/component_spec.rb +1 -0
- data/spec/unit/type/exec_spec.rb +50 -101
- data/spec/unit/type/file/checksum_spec.rb +10 -9
- data/spec/unit/type/file/checksum_value_spec.rb +32 -31
- data/spec/unit/type/file/content_spec.rb +61 -58
- data/spec/unit/type/file/ctime_spec.rb +1 -0
- data/spec/unit/type/file/ensure_spec.rb +13 -12
- data/spec/unit/type/file/group_spec.rb +7 -5
- data/spec/unit/type/file/mode_spec.rb +6 -4
- data/spec/unit/type/file/mtime_spec.rb +1 -0
- data/spec/unit/type/file/owner_spec.rb +8 -6
- data/spec/unit/type/file/selinux_spec.rb +19 -17
- data/spec/unit/type/file/source_spec.rb +101 -104
- data/spec/unit/type/file/type_spec.rb +1 -0
- data/spec/unit/type/file_spec.rb +185 -195
- data/spec/unit/type/filebucket_spec.rb +10 -11
- data/spec/unit/type/group_spec.rb +8 -6
- data/spec/unit/type/noop_metaparam_spec.rb +2 -1
- data/spec/unit/type/package/package_settings_spec.rb +23 -44
- data/spec/unit/type/package_spec.rb +57 -56
- data/spec/unit/type/resources_spec.rb +74 -72
- data/spec/unit/type/schedule_spec.rb +26 -24
- data/spec/unit/type/service_spec.rb +75 -49
- data/spec/unit/type/stage_spec.rb +1 -0
- data/spec/unit/type/tidy_spec.rb +62 -61
- data/spec/unit/type/user_spec.rb +25 -24
- data/spec/unit/type/whit_spec.rb +1 -0
- data/spec/unit/type_spec.rb +54 -55
- data/spec/unit/util/at_fork_spec.rb +19 -18
- data/spec/unit/util/autoload_spec.rb +56 -55
- data/spec/unit/util/backups_spec.rb +35 -34
- data/spec/unit/util/character_encoding_spec.rb +5 -5
- data/spec/unit/util/checksums_spec.rb +39 -38
- data/spec/unit/util/colors_spec.rb +2 -1
- data/spec/unit/util/command_line_spec.rb +20 -40
- data/spec/unit/util/constant_inflector_spec.rb +1 -0
- data/spec/unit/util/diff_spec.rb +8 -7
- data/spec/unit/util/errors_spec.rb +1 -0
- data/spec/unit/util/execution_spec.rb +163 -187
- data/spec/unit/util/execution_stub_spec.rb +1 -0
- data/spec/unit/util/feature_spec.rb +14 -21
- data/spec/unit/util/filetype_spec.rb +49 -49
- data/spec/unit/util/http_proxy_spec.rb +12 -12
- data/spec/unit/util/inifile_spec.rb +31 -26
- data/spec/unit/util/json_lockfile_spec.rb +5 -3
- data/spec/unit/util/ldap/connection_spec.rb +25 -26
- data/spec/unit/util/ldap/generator_spec.rb +1 -0
- data/spec/unit/util/ldap/manager_spec.rb +101 -102
- data/spec/unit/util/lockfile_spec.rb +1 -0
- data/spec/unit/util/log/destinations_spec.rb +33 -30
- data/spec/unit/util/log_spec.rb +34 -48
- data/spec/unit/util/logging_spec.rb +72 -58
- data/spec/unit/util/metric_spec.rb +1 -0
- data/spec/unit/util/monkey_patches_spec.rb +9 -7
- data/spec/unit/util/multi_match_spec.rb +1 -0
- data/spec/unit/util/network_device/config_spec.rb +1 -0
- data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
- data/spec/unit/util/network_device_spec.rb +9 -7
- data/spec/unit/util/package_spec.rb +1 -0
- data/spec/unit/util/pidlock_spec.rb +15 -60
- data/spec/unit/util/plist_spec.rb +33 -40
- data/spec/unit/util/posix_spec.rb +51 -54
- data/spec/unit/util/rdoc_spec.rb +10 -9
- data/spec/unit/util/reference_spec.rb +1 -0
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +8 -7
- data/spec/unit/util/rubygems_spec.rb +8 -7
- data/spec/unit/util/run_mode_spec.rb +4 -3
- data/spec/unit/util/selinux_spec.rb +72 -79
- data/spec/unit/util/splayer_spec.rb +9 -8
- data/spec/unit/util/ssl_spec.rb +1 -0
- data/spec/unit/util/storage_spec.rb +23 -22
- data/spec/unit/util/suidmanager_spec.rb +54 -45
- data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
- data/spec/unit/util/tag_set_spec.rb +1 -0
- data/spec/unit/util/tagging_spec.rb +1 -0
- data/spec/unit/util/terminal_spec.rb +10 -9
- data/spec/unit/util/user_attr_spec.rb +2 -1
- data/spec/unit/util/warnings_spec.rb +4 -3
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +21 -51
- data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
- data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
- data/spec/unit/util/windows/adsi_spec.rb +138 -136
- data/spec/unit/util/windows/api_types_spec.rb +1 -0
- data/spec/unit/util/windows/eventlog_spec.rb +12 -9
- data/spec/unit/util/windows/file_spec.rb +1 -0
- data/spec/unit/util/windows/root_certs_spec.rb +1 -0
- data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
- data/spec/unit/util/windows/service_spec.rb +103 -100
- data/spec/unit/util/windows/sid_spec.rb +13 -11
- data/spec/unit/util/windows/string_spec.rb +1 -0
- data/spec/unit/util_spec.rb +57 -55
- data/spec/unit/version_spec.rb +6 -6
- metadata +20 -32
- data/CODEOWNERS +0 -30
- data/ext/autotest/Rakefile +0 -8
- data/ext/autotest/config +0 -43
- data/ext/autotest/readme.rst +0 -16
- data/lib/puppet/confine/boolean.rb +0 -45
- data/lib/puppet/provider/package_targetable.rb +0 -68
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
- data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
- data/spec/integration/network/http_pool_spec.rb +0 -120
- data/spec/integration/provider/file/windows_spec.rb +0 -162
- data/spec/lib/puppet_spec/https.rb +0 -166
- data/spec/unit/settings/server_list_setting_spec.rb +0 -21
- data/spec/watchr.rb +0 -137
data/CODEOWNERS
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# default to platform-core
|
2
|
-
* @puppetlabs/platform-core
|
3
|
-
|
4
|
-
# platform-os
|
5
|
-
/lib/puppet/type/group @puppetlabs/platform-os
|
6
|
-
/lib/puppet/type/package @puppetlabs/platform-os
|
7
|
-
/lib/puppet/type/service @puppetlabs/platform-os
|
8
|
-
/lib/puppet/type/user @puppetlabs/platform-os
|
9
|
-
/lib/puppet/provider/group @puppetlabs/platform-os
|
10
|
-
/lib/puppet/provider/package @puppetlabs/platform-os
|
11
|
-
/lib/puppet/provider/service @puppetlabs/platform-os
|
12
|
-
/lib/puppet/provider/user @puppetlabs/platform-os
|
13
|
-
|
14
|
-
# language
|
15
|
-
/lib/puppet/datatypes @puppetlabs/language
|
16
|
-
/lib/puppet/functions @puppetlabs/language
|
17
|
-
/lib/puppet/pal @puppetlabs/language
|
18
|
-
/lib/puppet/parser @puppetlabs/language
|
19
|
-
/lib/puppet/pops @puppetlabs/language
|
20
|
-
/lib/puppet/syntax_checkers @puppetlabs/language
|
21
|
-
|
22
|
-
# puppet device
|
23
|
-
/lib/puppet/application/device.rb @puppetlabs/networking
|
24
|
-
/lib/puppet/util/network_device @puppetlabs/networking
|
25
|
-
|
26
|
-
# puppet module
|
27
|
-
/lib/puppet/application/module.rb @puppetlabs/pdk
|
28
|
-
/lib/puppet/face/module @puppetlabs/pdk
|
29
|
-
/lib/puppet/forge @puppetlabs/pdk
|
30
|
-
/lib/puppet/module_tool @puppetlabs/pdk
|
data/ext/autotest/Rakefile
DELETED
data/ext/autotest/config
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
# vim: syntax=ruby
|
2
|
-
# From http://pastie.caboo.se/115692, linked from rickbradley
|
3
|
-
|
4
|
-
require 'autotest/redgreen'
|
5
|
-
require 'autotest/timestamp'
|
6
|
-
|
7
|
-
Autotest.send(:alias_method, :real_find_files, :find_files)
|
8
|
-
Autotest.send(:define_method, :find_files) do |*args|
|
9
|
-
real_find_files.reject do |k, v|
|
10
|
-
if (ENV['AUTOTEST'] and !ENV['AUTOTEST'].empty?)
|
11
|
-
!Regexp.new(ENV['AUTOTEST']).match(k)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
module Autotest::Growl
|
17
|
-
|
18
|
-
def self.growl title, msg, img, pri=0, sticky=""
|
19
|
-
system "growlnotify -n autotest --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{sticky}"
|
20
|
-
end
|
21
|
-
|
22
|
-
Autotest.add_hook :ran_command do |at|
|
23
|
-
image_root = "~/.autotest_images"
|
24
|
-
results = [at.results].flatten.join("\n")
|
25
|
-
output = results.slice(/(\d+)\stests,\s(\d+)\sassertions,\s(\d+)\sfailures,\s(\d+)\serrors/)
|
26
|
-
if output
|
27
|
-
if $~[3].to_i > 0 || $~[4].to_i > 0
|
28
|
-
growl "FAIL", "#{output}", "#{image_root}/fail.png", 2
|
29
|
-
else
|
30
|
-
growl "Pass", "#{output}", "#{image_root}/pass.png"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
output = results.slice(/(\d+)\sexamples,\s(\d+)\sfailures?(,\s+\d+\s+pending)?/)
|
35
|
-
if output
|
36
|
-
if $~[2].to_i > 0 || $~[4].to_i > 0
|
37
|
-
growl "FAIL", "#{output}", "#{image_root}/fail.png", 2
|
38
|
-
else
|
39
|
-
growl "Pass", "#{output}", "#{image_root}/pass.png"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
data/ext/autotest/readme.rst
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
Autotest is a simple tool that automatically links tests with the files being
|
2
|
-
tested, and runs tests automatically when either the test or code has changed.
|
3
|
-
|
4
|
-
If you are running on a Mac and have growlnotify_ installed, install the
|
5
|
-
ZenTest_ gem, then copy the ``config`` file to ``~/.autotest`` (or just
|
6
|
-
run ``rake`` in this directory).
|
7
|
-
|
8
|
-
Once you have ``autotest`` installed, change to the root of your Puppet
|
9
|
-
git repository and run ``autotest`` with no arguments. To refresh the list
|
10
|
-
of files to scan, hit ``^c`` (that is, control-c).
|
11
|
-
|
12
|
-
It's recommended you leave this running in another terminal during all
|
13
|
-
development, preferably on another monitor.
|
14
|
-
|
15
|
-
.. _zentest: http://www.zenspider.com/ZSS/Products/ZenTest/
|
16
|
-
.. _growlnotify: http://growl.info/extras.php
|
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'puppet/confine'
|
2
|
-
|
3
|
-
# Common module for the Boolean confines. It currently
|
4
|
-
# contains just enough code to implement PUP-9336.
|
5
|
-
class Puppet::Confine
|
6
|
-
module Boolean
|
7
|
-
# Returns the passing value for the Boolean confine.
|
8
|
-
def passing_value
|
9
|
-
raise NotImplementedError, "The Boolean confine %{confine} must provide the passing value." % { confine: self.class.name }
|
10
|
-
end
|
11
|
-
|
12
|
-
# The Boolean confines 'true' and 'false' let the user specify
|
13
|
-
# two types of values:
|
14
|
-
# * A lambda for lazy evaluation. This would be something like
|
15
|
-
# confine :true => lambda { true }
|
16
|
-
#
|
17
|
-
# * A single Boolean value, or an array of Boolean values. This would
|
18
|
-
# be something like
|
19
|
-
# confine :true => true OR confine :true => [true, false, false, true]
|
20
|
-
#
|
21
|
-
# This override distinguishes between the two cases.
|
22
|
-
def values
|
23
|
-
# Note that Puppet::Confine's constructor ensures that @values
|
24
|
-
# will always be an array, even if a lambda's passed in. This is
|
25
|
-
# why we have the length == 1 check.
|
26
|
-
unless @values.length == 1 && @values.first.respond_to?(:call)
|
27
|
-
return @values
|
28
|
-
end
|
29
|
-
|
30
|
-
# We have a lambda. Here, we want to enforce "cache positive"
|
31
|
-
# behavior, which is to cache the result _if_ it evaluates to
|
32
|
-
# the passing value (i.e. the class name).
|
33
|
-
|
34
|
-
return @cached_value unless @cached_value.nil?
|
35
|
-
|
36
|
-
# Double negate to coerce the value into a Boolean
|
37
|
-
calculated_value = !! @values.first.call
|
38
|
-
if calculated_value == passing_value
|
39
|
-
@cached_value = [calculated_value]
|
40
|
-
end
|
41
|
-
|
42
|
-
[calculated_value]
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
# Targetable package providers implement a `command` attribute.
|
2
|
-
#
|
3
|
-
# The `packages` hash passed to `Puppet::Provider::Package::prefetch` is deduplicated,
|
4
|
-
# as it is keyed only by name in `Puppet::Transaction::prefetch_if_necessary`.
|
5
|
-
#
|
6
|
-
# (The `packages` hash passed to ``Puppet::Provider::Package::prefetch`` should be keyed by all namevars,
|
7
|
-
# possibly via a `prefetchV2` method that could take a better data structure.)
|
8
|
-
#
|
9
|
-
# In addition, `Puppet::Provider::Package::properties` calls `query` in the provider.
|
10
|
-
require 'puppet/provider/package'
|
11
|
-
|
12
|
-
# But `query` in the provider depends upon whether a `command` attribute is defined for the resource.
|
13
|
-
# This is a Catch-22.
|
14
|
-
#
|
15
|
-
# Instead ...
|
16
|
-
#
|
17
|
-
# Inspect any package to access the catalog (every package includes a reference to the catalog).
|
18
|
-
# Inspect the catalog to find all of the `command` attributes for all of the packages of this class.
|
19
|
-
# Find all of the package instances using each package `command`, including the default provider command.
|
20
|
-
# Assign each instance's `provider` by selecting it from the `packages` hash passed to `prefetch`, based upon `name` and `command`.
|
21
|
-
#
|
22
|
-
# The original `command` parameter in the catalog is not populated by the default (`:default`) for the parameter in type/package.rb.
|
23
|
-
# Rather, the result of the `original_parameters` is `nil` when the `command` parameter is undefined in the catalog.
|
24
|
-
|
25
|
-
class Puppet::Provider::Package::Targetable < Puppet::Provider::Package
|
26
|
-
# Prefetch our package list, yo.
|
27
|
-
def self.prefetch(packages)
|
28
|
-
catalog_packages = packages.first[1]::catalog::resources.select{ |p| p.provider.class == self }
|
29
|
-
package_commands = catalog_packages.map { |catalog_package| catalog_package::original_parameters[:command] }.uniq
|
30
|
-
package_commands.each do |command|
|
31
|
-
instances(command).each do |instance|
|
32
|
-
catalog_packages.each do |catalog_package|
|
33
|
-
if catalog_package[:name] == instance.name && catalog_package::original_parameters[:command] == command
|
34
|
-
catalog_package.provider = instance
|
35
|
-
self.debug "Prefetched instance: %{name} via command: %{command}" % { name: instance.name, cmd: (command || :default)}
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# Returns the resource command or provider command.
|
43
|
-
|
44
|
-
def resource_or_provider_command
|
45
|
-
resource::original_parameters[:command] || self.class.provider_command
|
46
|
-
end
|
47
|
-
|
48
|
-
# Targetable providers use has_command/is_optional to defer validation of provider suitability.
|
49
|
-
# Evaluate provider suitability here and now by validating that the command is defined and exists.
|
50
|
-
#
|
51
|
-
# cmd: the full path to the package command.
|
52
|
-
|
53
|
-
def self.validate_command(cmd)
|
54
|
-
unless cmd
|
55
|
-
raise Puppet::Error, _("Provider %{name} package command is not functional on this host") % { name: name }
|
56
|
-
end
|
57
|
-
unless File.file?(cmd)
|
58
|
-
raise Puppet::Error, _("Provider %{name} package command '%{cmd}' does not exist on this host") % { name: name, cmd: cmd }
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
# Return information about the package, its provider, and its (optional) command.
|
63
|
-
|
64
|
-
def to_s
|
65
|
-
cmd = resource[:command] || :default
|
66
|
-
"#{@resource}(provider=#{self.class.name})(command=#{cmd})"
|
67
|
-
end
|
68
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
module Puppet::Parser::Functions
|
2
|
-
newfunction(:bad_func_load3, :type => :rvalue, :doc => <<-EOS
|
3
|
-
A function using the 3x API
|
4
|
-
EOS
|
5
|
-
) do |arguments|
|
6
|
-
def bad_func_load3_illegal_method
|
7
|
-
"some return value from illegal method"
|
8
|
-
end
|
9
|
-
"some return value"
|
10
|
-
end
|
11
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
module Puppet::Parser::Functions
|
2
|
-
newfunction(:bad_func_load4, :type => :rvalue, :doc => <<-EOS
|
3
|
-
A function using the 3x API
|
4
|
-
EOS
|
5
|
-
) do |arguments|
|
6
|
-
def self.bad_func_load4_illegal_method
|
7
|
-
"some return value from illegal method"
|
8
|
-
end
|
9
|
-
"some return value"
|
10
|
-
end
|
11
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
x = module Puppet::Parser::Functions
|
2
|
-
newfunction(:bad_func_load5, :type => :rvalue, :doc => <<-EOS
|
3
|
-
A function using the 3x API
|
4
|
-
EOS
|
5
|
-
) do |arguments|
|
6
|
-
"some return value"
|
7
|
-
end
|
8
|
-
end
|
9
|
-
def self.bad_func_load5_illegal_method
|
10
|
-
end
|
11
|
-
# Attempt to get around problem of not returning what newfunction returns
|
12
|
-
x
|
@@ -1 +0,0 @@
|
|
1
|
-
pkg: No package(s) matching bash
|
@@ -1,120 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet_spec/https'
|
3
|
-
require 'puppet_spec/files'
|
4
|
-
require 'puppet/network/http_pool'
|
5
|
-
|
6
|
-
describe Puppet::Network::HttpPool do
|
7
|
-
include PuppetSpec::Files
|
8
|
-
|
9
|
-
before :all do
|
10
|
-
WebMock.disable!
|
11
|
-
end
|
12
|
-
|
13
|
-
after :all do
|
14
|
-
WebMock.enable!
|
15
|
-
end
|
16
|
-
|
17
|
-
before :each do
|
18
|
-
# make sure we don't take too long
|
19
|
-
Puppet[:http_connect_timeout] = '5s'
|
20
|
-
end
|
21
|
-
|
22
|
-
let(:hostname) { '127.0.0.1' }
|
23
|
-
let(:wrong_hostname) { 'localhost' }
|
24
|
-
let(:server) { PuppetSpec::HTTPSServer.new }
|
25
|
-
|
26
|
-
context "when calling deprecated HttpPool methods" do
|
27
|
-
let(:ssl_host) {
|
28
|
-
# use server's cert/key as the client cert/key
|
29
|
-
host = Puppet::SSL::Host.new
|
30
|
-
host.key = Puppet::SSL::Key.from_instance(server.server_key, host.name)
|
31
|
-
host.certificate = Puppet::SSL::Certificate.from_instance(server.server_cert, host.name)
|
32
|
-
host
|
33
|
-
}
|
34
|
-
|
35
|
-
before(:each) do
|
36
|
-
ssldir = tmpdir('http_pool')
|
37
|
-
Puppet[:ssldir] = ssldir
|
38
|
-
Puppet.settings.use(:main, :ssl)
|
39
|
-
|
40
|
-
File.write(Puppet[:localcacert], server.ca_cert.to_pem)
|
41
|
-
File.write(Puppet[:hostcrl], server.ca_crl.to_pem)
|
42
|
-
File.write(Puppet[:hostcert], server.server_cert.to_pem)
|
43
|
-
File.write(Puppet[:hostprivkey], server.server_key.to_pem)
|
44
|
-
end
|
45
|
-
|
46
|
-
# Can't use `around(:each)` because it will cause ssl_host to be
|
47
|
-
# created outside of any rspec example, and $confdir won't be set
|
48
|
-
before(:each) do
|
49
|
-
Puppet.push_context(ssl_host: ssl_host)
|
50
|
-
end
|
51
|
-
|
52
|
-
after (:each) do
|
53
|
-
Puppet.pop_context
|
54
|
-
end
|
55
|
-
|
56
|
-
def connection(host, port)
|
57
|
-
Puppet::Network::HttpPool.http_instance(host, port, use_ssl: true)
|
58
|
-
end
|
59
|
-
|
60
|
-
shared_examples_for 'HTTPS client' do
|
61
|
-
it "connects over SSL" do
|
62
|
-
server.start_server do |port|
|
63
|
-
http = connection(hostname, port)
|
64
|
-
res = http.get('/')
|
65
|
-
expect(res.code).to eq('200')
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
it "raises if the server's cert doesn't match the hostname we connected to" do
|
70
|
-
server.start_server do |port|
|
71
|
-
http = connection(wrong_hostname, port)
|
72
|
-
expect {
|
73
|
-
http.get('/')
|
74
|
-
}.to raise_error { |err|
|
75
|
-
expect(err).to be_instance_of(Puppet::Error)
|
76
|
-
expect(err.message).to match(/\AServer hostname '#{wrong_hostname}' did not match server certificate; expected one of (.+)/)
|
77
|
-
|
78
|
-
md = err.message.match(/expected one of (.+)/)
|
79
|
-
expect(md[1].split(', ')).to contain_exactly('127.0.0.1', 'DNS:127.0.0.1', 'DNS:127.0.0.2')
|
80
|
-
}
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
it "raises if the server's CA is unknown" do
|
85
|
-
# File must exist and by not empty so DefaultValidator doesn't
|
86
|
-
# downgrade to VERIFY_NONE, so use a different CA that didn't
|
87
|
-
# issue the server's cert
|
88
|
-
capath = tmpfile('empty')
|
89
|
-
File.write(capath, PuppetSpec::HTTPSServer::UNKNOWN_CA)
|
90
|
-
Puppet[:localcacert] = capath
|
91
|
-
Puppet[:certificate_revocation] = false
|
92
|
-
|
93
|
-
server.start_server do |port|
|
94
|
-
http = connection(hostname, port)
|
95
|
-
expect {
|
96
|
-
http.get('/')
|
97
|
-
}.to raise_error(Puppet::Error,
|
98
|
-
%r{certificate verify failed.* .self signed certificate in certificate chain for /CN=Test CA.})
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
|
104
|
-
context "when using single use HTTPS connections" do
|
105
|
-
include_examples 'HTTPS client'
|
106
|
-
end
|
107
|
-
|
108
|
-
context "when using persistent HTTPS connections" do
|
109
|
-
around :each do |example|
|
110
|
-
pool = Puppet::Network::HTTP::Pool.new
|
111
|
-
Puppet.override(:http_pool => pool) do
|
112
|
-
example.run
|
113
|
-
end
|
114
|
-
pool.close
|
115
|
-
end
|
116
|
-
|
117
|
-
include_examples 'HTTPS client'
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
@@ -1,162 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet_spec/compiler'
|
3
|
-
require 'puppet_spec/files'
|
4
|
-
|
5
|
-
# For some reason the provider test will not filter out on windows when using the
|
6
|
-
# :if => Puppet.features.microsoft_windows? method of filtering the tests.
|
7
|
-
if Puppet.features.microsoft_windows?
|
8
|
-
require 'puppet/util/windows'
|
9
|
-
describe Puppet::Type.type(:file).provider(:windows), '(integration)' do
|
10
|
-
include PuppetSpec::Compiler
|
11
|
-
include PuppetSpec::Files
|
12
|
-
|
13
|
-
def create_temp_file(owner_sid, group_sid, initial_mode)
|
14
|
-
tmp_file = tmpfile('filewindowsprovider')
|
15
|
-
File.delete(tmp_file) if File.exist?(tmp_file)
|
16
|
-
File.open(tmp_file, 'w') { |file| file.write("rspec test") }
|
17
|
-
|
18
|
-
# There are other tests to ensure that these methods do indeed
|
19
|
-
# set the owner and group. Therefore it's ok to depend on them
|
20
|
-
# here
|
21
|
-
Puppet::Util::Windows::Security.set_owner(owner_sid, tmp_file) unless owner_sid.nil?
|
22
|
-
Puppet::Util::Windows::Security.set_group(group_sid, tmp_file) unless group_sid.nil?
|
23
|
-
# Pretend we are managing the owner and group to FORCE this mode, even if it's "bad"
|
24
|
-
Puppet::Util::Windows::Security.set_mode(initial_mode.to_i(8), tmp_file, true, true, true) unless initial_mode.nil?
|
25
|
-
|
26
|
-
tmp_file
|
27
|
-
end
|
28
|
-
|
29
|
-
def strip_sticky(value)
|
30
|
-
# For the purposes of these tests we don't care about the extra-ace bit in modes
|
31
|
-
# This function removes it
|
32
|
-
value & ~Puppet::Util::Windows::Security::S_IEXTRA
|
33
|
-
end
|
34
|
-
|
35
|
-
sids = {
|
36
|
-
:system => Puppet::Util::Windows::SID::LocalSystem,
|
37
|
-
:administrators => Puppet::Util::Windows::SID::BuiltinAdministrators,
|
38
|
-
:users => Puppet::Util::Windows::SID::BuiltinUsers,
|
39
|
-
:power_users => Puppet::Util::Windows::SID::PowerUsers,
|
40
|
-
:none => Puppet::Util::Windows::SID::Nobody,
|
41
|
-
:everyone => Puppet::Util::Windows::SID::Everyone
|
42
|
-
}
|
43
|
-
|
44
|
-
# Testcase Hash options
|
45
|
-
# create_* : These options are used when creating the initial test file
|
46
|
-
# create_owner (Required!)
|
47
|
-
# create_group (Required!)
|
48
|
-
# create_mode
|
49
|
-
#
|
50
|
-
# manifest_* : These options are used to craft the manifest which is applied to the test file after createion
|
51
|
-
# manifest_owner,
|
52
|
-
# manifest_group,
|
53
|
-
# manifest_mode (Required!)
|
54
|
-
#
|
55
|
-
# actual_* : These options are used to check the _actual_ values as opposed to the munged values from puppet
|
56
|
-
# actual_mode (Uses manifest_mode for checks if not set)
|
57
|
-
|
58
|
-
RSpec.shared_examples "a mungable file resource" do |testcase|
|
59
|
-
|
60
|
-
before(:each) do
|
61
|
-
@tmp_file = create_temp_file(sids[testcase[:create_owner]], sids[testcase[:create_group]], testcase[:create_mode])
|
62
|
-
raise "Could not create temporary file" if @tmp_file.nil?
|
63
|
-
end
|
64
|
-
|
65
|
-
after(:each) do
|
66
|
-
File.delete(@tmp_file) if File.exist?(@tmp_file)
|
67
|
-
end
|
68
|
-
|
69
|
-
context_name = "With initial owner '#{testcase[:create_owner]}' and initial group '#{testcase[:create_owner]}'"
|
70
|
-
context_name += " and initial mode of '#{testcase[:create_mode]}'" unless testcase[:create_mode].nil?
|
71
|
-
context_name += " and a mode of '#{testcase[:manifest_mode]}' in the manifest"
|
72
|
-
context_name += " and an owner of '#{testcase[:manifest_owner]}' in the manifest" unless testcase[:manifest_owner].nil?
|
73
|
-
context_name += " and a group of '#{testcase[:manifest_group]}' in the manifest" unless testcase[:manifest_group].nil?
|
74
|
-
|
75
|
-
context context_name do
|
76
|
-
is_idempotent = testcase[:is_idempotent].nil? || testcase[:is_idempotent]
|
77
|
-
|
78
|
-
let(:manifest) do
|
79
|
-
value = <<-MANIFEST
|
80
|
-
file { 'rspec_example':
|
81
|
-
ensure => present,
|
82
|
-
path => '#{@tmp_file}',
|
83
|
-
mode => '#{testcase[:manifest_mode]}',
|
84
|
-
MANIFEST
|
85
|
-
value += " owner => '#{testcase[:manifest_owner]}',\n" unless testcase[:manifest_owner].nil?
|
86
|
-
value += " group => '#{testcase[:manifest_group]}',\n" unless testcase[:manifest_group].nil?
|
87
|
-
value + "}"
|
88
|
-
end
|
89
|
-
|
90
|
-
it "should apply with no errors and have expected ACL" do
|
91
|
-
apply_with_error_check(manifest)
|
92
|
-
new_mode = strip_sticky(Puppet::Util::Windows::Security.get_mode(@tmp_file))
|
93
|
-
expect(new_mode.to_s(8)).to eq (testcase[:actual_mode].nil? ? testcase[:manifest_mode] : testcase[:actual_mode])
|
94
|
-
end
|
95
|
-
|
96
|
-
it "should be idempotent", :if => is_idempotent do
|
97
|
-
result = apply_with_error_check(manifest)
|
98
|
-
result = apply_with_error_check(manifest)
|
99
|
-
# Idempotent. Should be no changed resources
|
100
|
-
expect(result.changed?.count).to eq 0
|
101
|
-
end
|
102
|
-
|
103
|
-
it "should NOT be idempotent", :unless => is_idempotent do
|
104
|
-
result = apply_with_error_check(manifest)
|
105
|
-
result = apply_with_error_check(manifest)
|
106
|
-
result = apply_with_error_check(manifest)
|
107
|
-
result = apply_with_error_check(manifest)
|
108
|
-
# Not idempotent. Expect changed resources
|
109
|
-
expect(result.changed?.count).to be > 0
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
# These scenarios round-trip permissions and are idempotent
|
115
|
-
[
|
116
|
-
{ :create_owner => :system, :create_group => :administrators, :manifest_mode => '760' },
|
117
|
-
{ :create_owner => :administrators, :create_group => :administrators, :manifest_mode => '660' },
|
118
|
-
{ :create_owner => :system, :create_group => :system, :manifest_mode => '770' },
|
119
|
-
].each do |testcase|
|
120
|
-
# What happens if the owner and group are not managed
|
121
|
-
it_behaves_like "a mungable file resource", testcase
|
122
|
-
# What happens if the owner is managed
|
123
|
-
it_behaves_like "a mungable file resource", testcase.merge({ :manifest_owner => testcase[:create_owner]})
|
124
|
-
# What happens if the group is managed
|
125
|
-
it_behaves_like "a mungable file resource", testcase.merge({ :manifest_group => testcase[:create_group]})
|
126
|
-
# What happens if both the owner and group are managed
|
127
|
-
it_behaves_like "a mungable file resource", testcase.merge({
|
128
|
-
:manifest_owner => testcase[:create_owner],
|
129
|
-
:manifest_group => testcase[:create_group]
|
130
|
-
})
|
131
|
-
end
|
132
|
-
|
133
|
-
# SYSTEM is special in that when specifying less than mode 7, the owner and/or group MUST be managed
|
134
|
-
# otherwise it's munged to 7 behind the scenes and is not idempotent
|
135
|
-
both_system_testcase = { :create_owner => :system, :create_group => :system, :manifest_mode => '660', :actual_mode => '770', :is_idempotent => false }
|
136
|
-
# What happens if the owner and group are not managed
|
137
|
-
it_behaves_like "a mungable file resource", both_system_testcase.merge({ :is_idempotent => true })
|
138
|
-
# What happens if the owner is managed
|
139
|
-
it_behaves_like "a mungable file resource", both_system_testcase.merge({ :manifest_owner => both_system_testcase[:create_owner]})
|
140
|
-
# What happens if the group is managed
|
141
|
-
it_behaves_like "a mungable file resource", both_system_testcase.merge({ :manifest_group => both_system_testcase[:create_group]})
|
142
|
-
|
143
|
-
# However when we manage SYSTEM explicitly, then the modes lower than 7 stick and the file provider
|
144
|
-
# assumes it's insync (i.e. idempotent)
|
145
|
-
it_behaves_like "a mungable file resource", both_system_testcase.merge({
|
146
|
-
:manifest_owner => both_system_testcase[:create_owner],
|
147
|
-
:manifest_group => both_system_testcase[:create_group],
|
148
|
-
:actual_mode => both_system_testcase[:manifest_mode],
|
149
|
-
:is_idempotent => true
|
150
|
-
})
|
151
|
-
|
152
|
-
# What happens if we _create_ a file that SYSTEM is a part of, and is Full Control, but the manifest says it should not be Full Control
|
153
|
-
# Behind the scenes the mode should be changed to 7 and be idempotent
|
154
|
-
[
|
155
|
-
{ :create_owner => :system, :create_group => :system, :manifest_mode => '660' },
|
156
|
-
{ :create_owner => :administrators, :create_group => :system, :manifest_mode => '760' },
|
157
|
-
{ :create_owner => :system, :create_group => :administrators, :manifest_mode => '670' },
|
158
|
-
].each do |testcase|
|
159
|
-
it_behaves_like "a mungable file resource", testcase.merge({ :create_mode => '770', :actual_mode => '770'})
|
160
|
-
end
|
161
|
-
end
|
162
|
-
end
|