puppet 5.5.12-x64-mingw32 → 5.5.13-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +0 -5
- data/Gemfile.lock +11 -11
- data/lib/puppet/application/filebucket.rb +4 -0
- data/lib/puppet/configurer.rb +9 -3
- data/lib/puppet/indirector/request.rb +26 -15
- data/lib/puppet/indirector/rest.rb +16 -7
- data/lib/puppet/network/http/connection.rb +15 -7
- data/lib/puppet/transaction/event_manager.rb +1 -5
- data/lib/puppet/type/file/source.rb +0 -1
- data/lib/puppet/util/http_proxy.rb +3 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +108 -36
- data/man/man5/puppet.conf.5 +2 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-ca.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +1 -1
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.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 +1 -1
- 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-master.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-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/agent/logging_spec.rb +5 -7
- data/spec/integration/application/apply_spec.rb +28 -26
- data/spec/integration/application/doc_spec.rb +1 -2
- data/spec/integration/application/lookup_spec.rb +5 -5
- data/spec/integration/configurer_spec.rb +5 -6
- data/spec/integration/defaults_spec.rb +5 -6
- data/spec/integration/directory_environments_spec.rb +1 -1
- data/spec/integration/faces/ca_spec.rb +2 -3
- data/spec/integration/faces/config_spec.rb +3 -4
- data/spec/integration/faces/documentation_spec.rb +0 -1
- data/spec/integration/faces/plugin_spec.rb +1 -1
- data/spec/integration/file_bucket/file_spec.rb +3 -5
- data/spec/integration/file_serving/content_spec.rb +0 -1
- data/spec/integration/file_serving/fileset_spec.rb +0 -1
- data/spec/integration/file_serving/metadata_spec.rb +0 -1
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
- data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +5 -5
- data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
- data/spec/integration/indirector/node/ldap_spec.rb +2 -3
- data/spec/integration/network/authconfig_spec.rb +23 -24
- data/spec/integration/network/formats_spec.rb +0 -1
- data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -1
- data/spec/integration/node/environment_spec.rb +0 -1
- data/spec/integration/node/facts_spec.rb +9 -10
- data/spec/integration/node_spec.rb +6 -7
- data/spec/integration/parser/catalog_spec.rb +4 -2
- data/spec/integration/parser/collection_spec.rb +1 -2
- 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/cron/crontab_spec.rb +8 -10
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -1
- data/spec/integration/provider/mount_spec.rb +9 -9
- data/spec/integration/provider/service/init_spec.rb +4 -5
- data/spec/integration/provider/service/systemd_spec.rb +0 -2
- data/spec/integration/provider/service/windows_spec.rb +1 -2
- data/spec/integration/provider/ssh_authorized_key_spec.rb +6 -8
- data/spec/integration/provider/sshkey_spec.rb +6 -12
- data/spec/integration/provider/yumrepo_spec.rb +8 -12
- data/spec/integration/reference/providers_spec.rb +0 -1
- data/spec/integration/reports_spec.rb +1 -2
- data/spec/integration/resource/catalog_spec.rb +14 -17
- data/spec/integration/resource/type_collection_spec.rb +4 -5
- data/spec/integration/ssl/certificate_authority_spec.rb +0 -1
- data/spec/integration/ssl/certificate_request_spec.rb +0 -1
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
- data/spec/integration/ssl/host_spec.rb +0 -1
- data/spec/integration/ssl/key_spec.rb +0 -1
- data/spec/integration/test/test_helper_spec.rb +1 -2
- data/spec/integration/transaction/report_spec.rb +6 -11
- data/spec/integration/transaction_spec.rb +18 -19
- data/spec/integration/type/exec_spec.rb +0 -1
- data/spec/integration/type/file_spec.rb +13 -14
- data/spec/integration/type/nagios_spec.rb +3 -5
- data/spec/integration/type/package_spec.rb +19 -23
- data/spec/integration/type/tidy_spec.rb +1 -2
- data/spec/integration/type/user_spec.rb +0 -1
- data/spec/integration/type_spec.rb +0 -1
- data/spec/integration/util/autoload_spec.rb +1 -2
- data/spec/integration/util/rdoc/parser_spec.rb +0 -1
- data/spec/integration/util/settings_spec.rb +0 -1
- data/spec/integration/util/windows/adsi_spec.rb +3 -5
- data/spec/integration/util/windows/principal_spec.rb +0 -1
- data/spec/integration/util/windows/process_spec.rb +4 -6
- data/spec/integration/util/windows/registry_spec.rb +41 -51
- data/spec/integration/util/windows/security_spec.rb +2 -4
- data/spec/integration/util/windows/user_spec.rb +18 -20
- data/spec/integration/util_spec.rb +4 -7
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +0 -1
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +1 -2
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/file_server_terminus.rb +8 -9
- data/spec/shared_behaviours/file_serving.rb +6 -8
- data/spec/shared_behaviours/file_serving_model.rb +4 -6
- data/spec/shared_behaviours/hiera_indirections.rb +3 -4
- data/spec/shared_behaviours/iterative_functions.rb +0 -1
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_examples/rhel_package_provider.rb +112 -70
- data/spec/spec_helper.rb +11 -2
- data/spec/unit/agent/disabler_spec.rb +4 -5
- data/spec/unit/agent/locker_spec.rb +12 -13
- data/spec/unit/agent_spec.rb +80 -85
- data/spec/unit/application/agent_spec.rb +88 -93
- data/spec/unit/application/apply_spec.rb +78 -79
- data/spec/unit/application/cert_spec.rb +42 -49
- data/spec/unit/application/certificate_spec.rb +2 -3
- data/spec/unit/application/config_spec.rb +0 -1
- data/spec/unit/application/describe_spec.rb +6 -7
- data/spec/unit/application/device_spec.rb +175 -184
- data/spec/unit/application/doc_spec.rb +44 -46
- data/spec/unit/application/face_base_spec.rb +61 -62
- data/spec/unit/application/facts_spec.rb +3 -4
- data/spec/unit/application/filebucket_spec.rb +66 -74
- data/spec/unit/application/indirection_base_spec.rb +8 -6
- data/spec/unit/application/lookup_spec.rb +26 -26
- data/spec/unit/application/master_spec.rb +95 -95
- data/spec/unit/application/resource_spec.rb +42 -48
- data/spec/unit/application_spec.rb +74 -84
- data/spec/unit/capability_spec.rb +9 -6
- data/spec/unit/configurer/downloader_spec.rb +20 -21
- data/spec/unit/configurer/fact_handler_spec.rb +2 -3
- data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
- data/spec/unit/configurer_spec.rb +190 -193
- data/spec/unit/confine/exists_spec.rb +17 -15
- data/spec/unit/confine/false_spec.rb +5 -6
- data/spec/unit/confine/feature_spec.rb +7 -5
- data/spec/unit/confine/true_spec.rb +5 -6
- data/spec/unit/confine/variable_spec.rb +14 -15
- data/spec/unit/confine_collection_spec.rb +28 -29
- data/spec/unit/confine_spec.rb +13 -14
- data/spec/unit/confiner_spec.rb +10 -11
- data/spec/unit/context/trusted_information_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +34 -35
- data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
- data/spec/unit/datatypes_spec.rb +3 -4
- data/spec/unit/defaults_spec.rb +17 -12
- data/spec/unit/environments_spec.rb +7 -7
- data/spec/unit/etc_spec.rb +30 -32
- data/spec/unit/external/pson_spec.rb +0 -1
- data/spec/unit/face/ca_spec.rb +0 -1
- data/spec/unit/face/catalog_spec.rb +0 -1
- data/spec/unit/face/certificate_request_spec.rb +0 -1
- data/spec/unit/face/certificate_revocation_list_spec.rb +0 -1
- data/spec/unit/face/certificate_spec.rb +7 -10
- data/spec/unit/face/config_spec.rb +31 -35
- data/spec/unit/face/epp_face_spec.rb +3 -4
- data/spec/unit/face/facts_spec.rb +5 -6
- data/spec/unit/face/generate_spec.rb +4 -5
- data/spec/unit/face/help_spec.rb +7 -8
- data/spec/unit/face/key_spec.rb +0 -1
- data/spec/unit/face/man_spec.rb +1 -2
- data/spec/unit/face/module/build_spec.rb +17 -17
- data/spec/unit/face/module/install_spec.rb +3 -5
- data/spec/unit/face/module/list_spec.rb +2 -12
- data/spec/unit/face/module/search_spec.rb +11 -9
- data/spec/unit/face/module/uninstall_spec.rb +4 -8
- data/spec/unit/face/node_spec.rb +33 -34
- data/spec/unit/face/parser_spec.rb +3 -3
- data/spec/unit/face/plugin_spec.rb +36 -9
- data/spec/unit/face/status_spec.rb +0 -1
- data/spec/unit/file_bucket/dipper_spec.rb +24 -20
- data/spec/unit/file_bucket/file_spec.rb +0 -2
- data/spec/unit/file_serving/base_spec.rb +16 -17
- data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
- data/spec/unit/file_serving/configuration_spec.rb +63 -66
- data/spec/unit/file_serving/content_spec.rb +10 -11
- data/spec/unit/file_serving/fileset_spec.rb +63 -58
- data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
- data/spec/unit/file_serving/metadata_spec.rb +36 -36
- data/spec/unit/file_serving/mount/file_spec.rb +31 -32
- data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
- data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
- data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
- data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
- data/spec/unit/file_serving/mount_spec.rb +0 -1
- data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
- data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
- 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 +13 -14
- data/spec/unit/forge/module_release_spec.rb +18 -18
- data/spec/unit/forge/repository_spec.rb +29 -30
- data/spec/unit/forge_spec.rb +15 -11
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/contain_spec.rb +0 -2
- data/spec/unit/functions/defined_spec.rb +0 -1
- 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 +0 -4
- data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +1 -2
- data/spec/unit/functions/module_directory_spec.rb +12 -12
- data/spec/unit/functions/require_spec.rb +0 -3
- data/spec/unit/functions/shared.rb +5 -8
- data/spec/unit/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/functions4_spec.rb +7 -8
- 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 +0 -2
- data/spec/unit/graph/relationship_graph_spec.rb +1 -2
- data/spec/unit/graph/simple_graph_spec.rb +8 -9
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
- data/spec/unit/indirector/catalog/json_spec.rb +1 -2
- data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
- data/spec/unit/indirector/certificate/ca_spec.rb +2 -4
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate/file_spec.rb +2 -3
- data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
- data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +2 -3
- data/spec/unit/indirector/certificate_status/file_spec.rb +2 -3
- data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -1
- data/spec/unit/indirector/code_spec.rb +5 -6
- data/spec/unit/indirector/direct_file_server_spec.rb +33 -27
- data/spec/unit/indirector/envelope_spec.rb +1 -2
- data/spec/unit/indirector/exec_spec.rb +15 -14
- data/spec/unit/indirector/face_spec.rb +9 -9
- data/spec/unit/indirector/facts/facter_spec.rb +37 -43
- data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
- data/spec/unit/indirector/facts/rest_spec.rb +7 -8
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/facts/yaml_spec.rb +2 -4
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_content/file_spec.rb +0 -1
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_server_spec.rb +99 -93
- data/spec/unit/indirector/indirection_spec.rb +242 -226
- data/spec/unit/indirector/json_spec.rb +7 -9
- data/spec/unit/indirector/key/ca_spec.rb +2 -3
- data/spec/unit/indirector/key/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/key/file_spec.rb +25 -26
- data/spec/unit/indirector/ldap_spec.rb +34 -41
- data/spec/unit/indirector/memory_spec.rb +6 -7
- data/spec/unit/indirector/msgpack_spec.rb +7 -9
- data/spec/unit/indirector/node/exec_spec.rb +6 -6
- data/spec/unit/indirector/node/ldap_spec.rb +74 -76
- data/spec/unit/indirector/node/memory_spec.rb +2 -4
- data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/node/plain_spec.rb +2 -4
- data/spec/unit/indirector/node/rest_spec.rb +0 -1
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +1 -2
- data/spec/unit/indirector/node/yaml_spec.rb +0 -1
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +7 -8
- data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/report/processor_spec.rb +21 -22
- data/spec/unit/indirector/report/rest_spec.rb +11 -12
- data/spec/unit/indirector/report/yaml_spec.rb +0 -1
- data/spec/unit/indirector/request_spec.rb +11 -12
- data/spec/unit/indirector/resource/ral_spec.rb +47 -54
- data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/rest_spec.rb +113 -110
- data/spec/unit/indirector/ssl_file_spec.rb +74 -77
- data/spec/unit/indirector/status/local_spec.rb +0 -1
- data/spec/unit/indirector/status/rest_spec.rb +0 -1
- data/spec/unit/indirector/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/terminus_spec.rb +31 -29
- data/spec/unit/indirector/yaml_spec.rb +33 -32
- data/spec/unit/indirector_spec.rb +1 -2
- data/spec/unit/info_service_spec.rb +3 -1
- data/spec/unit/interface/action_builder_spec.rb +0 -1
- data/spec/unit/interface/action_manager_spec.rb +0 -1
- data/spec/unit/interface/action_spec.rb +2 -3
- data/spec/unit/interface/documentation_spec.rb +0 -1
- data/spec/unit/interface/face_collection_spec.rb +19 -12
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/man_spec.rb +3 -4
- data/spec/unit/module_spec.rb +46 -51
- data/spec/unit/module_tool/applications/builder_spec.rb +5 -5
- data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
- 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 +12 -13
- data/spec/unit/module_tool_spec.rb +7 -12
- data/spec/unit/network/auth_config_parser_spec.rb +11 -13
- data/spec/unit/network/authconfig_spec.rb +17 -18
- data/spec/unit/network/authorization_spec.rb +4 -5
- data/spec/unit/network/authstore_spec.rb +0 -1
- data/spec/unit/network/format_handler_spec.rb +0 -1
- data/spec/unit/network/format_spec.rb +9 -10
- data/spec/unit/network/format_support_spec.rb +28 -29
- data/spec/unit/network/formats_spec.rb +4 -5
- data/spec/unit/network/http/api/ca/v1_spec.rb +1 -1
- data/spec/unit/network/http/api/indirected_routes_spec.rb +22 -29
- 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 +6 -7
- data/spec/unit/network/http/api_spec.rb +1 -3
- data/spec/unit/network/http/compression_spec.rb +21 -22
- data/spec/unit/network/http/connection_spec.rb +39 -36
- data/spec/unit/network/http/factory_spec.rb +5 -6
- data/spec/unit/network/http/handler_spec.rb +9 -18
- data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
- data/spec/unit/network/http/pool_spec.rb +28 -29
- data/spec/unit/network/http/rack/rest_spec.rb +24 -27
- data/spec/unit/network/http/rack_spec.rb +5 -6
- data/spec/unit/network/http/request_spec.rb +0 -2
- data/spec/unit/network/http/response_spec.rb +11 -13
- data/spec/unit/network/http/route_spec.rb +0 -1
- data/spec/unit/network/http/session_spec.rb +1 -2
- data/spec/unit/network/http/site_spec.rb +0 -1
- data/spec/unit/network/http/webrick/rest_spec.rb +40 -41
- data/spec/unit/network/http/webrick_spec.rb +49 -52
- data/spec/unit/network/http_pool_spec.rb +18 -9
- data/spec/unit/network/http_spec.rb +0 -1
- data/spec/unit/network/resolver_spec.rb +16 -17
- data/spec/unit/network/rights_spec.rb +52 -53
- data/spec/unit/network/server_spec.rb +12 -13
- data/spec/unit/node/environment_spec.rb +16 -14
- data/spec/unit/node/facts_spec.rb +5 -7
- data/spec/unit/node_spec.rb +4 -10
- data/spec/unit/other/selinux_spec.rb +2 -3
- data/spec/unit/parameter/boolean_spec.rb +1 -2
- data/spec/unit/parameter/package_options_spec.rb +1 -2
- data/spec/unit/parameter/path_spec.rb +0 -1
- data/spec/unit/parameter/value_collection_spec.rb +0 -1
- data/spec/unit/parameter/value_spec.rb +0 -1
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
- data/spec/unit/parser/ast/leaf_spec.rb +20 -21
- data/spec/unit/parser/compiler_spec.rb +84 -96
- data/spec/unit/parser/environment_compiler_spec.rb +11 -9
- data/spec/unit/parser/files_spec.rb +0 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/digest_spec.rb +0 -1
- data/spec/unit/parser/functions/fail_spec.rb +1 -2
- data/spec/unit/parser/functions/file_spec.rb +13 -14
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
- data/spec/unit/parser/functions/generate_spec.rb +7 -8
- data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
- data/spec/unit/parser/functions/scanf_spec.rb +0 -1
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
- data/spec/unit/parser/functions/split_spec.rb +0 -1
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
- data/spec/unit/parser/functions/tag_spec.rb +1 -2
- data/spec/unit/parser/functions/tagged_spec.rb +2 -3
- data/spec/unit/parser/functions/template_spec.rb +13 -13
- data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/parser/functions_spec.rb +3 -4
- data/spec/unit/parser/relationship_spec.rb +0 -1
- data/spec/unit/parser/resource_spec.rb +42 -42
- data/spec/unit/parser/scope_spec.rb +39 -35
- data/spec/unit/parser/templatewrapper_spec.rb +11 -12
- data/spec/unit/parser/type_loader_spec.rb +17 -19
- data/spec/unit/pops/adaptable_spec.rb +0 -1
- data/spec/unit/pops/benchmark_spec.rb +0 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +6 -6
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
- data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
- data/spec/unit/pops/factory_spec.rb +3 -4
- data/spec/unit/pops/issues_spec.rb +19 -20
- data/spec/unit/pops/loaders/loader_spec.rb +8 -4
- data/spec/unit/pops/loaders/loaders_spec.rb +30 -27
- data/spec/unit/pops/lookup/context_spec.rb +0 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
- data/spec/unit/pops/merge_strategy_spec.rb +0 -1
- data/spec/unit/pops/migration_spec.rb +3 -5
- data/spec/unit/pops/model/model_spec.rb +0 -1
- data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
- data/spec/unit/pops/parser/locator_spec.rb +3 -6
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
- data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
- data/spec/unit/pops/pn_spec.rb +0 -1
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
- 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/type_asserter_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +36 -36
- data/spec/unit/pops/types/type_parser_spec.rb +13 -13
- data/spec/unit/pops/validator/validator_spec.rb +1 -2
- data/spec/unit/pops/visitor_spec.rb +0 -1
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +0 -1
- data/spec/unit/property/keyvalue_spec.rb +32 -34
- data/spec/unit/property/list_spec.rb +26 -27
- data/spec/unit/property/ordered_list_spec.rb +10 -14
- data/spec/unit/property_spec.rb +42 -43
- data/spec/unit/provider/aix_object_spec.rb +47 -45
- data/spec/unit/provider/augeas/augeas_spec.rb +192 -192
- data/spec/unit/provider/cisco_spec.rb +1 -2
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/cron/crontab_spec.rb +10 -11
- data/spec/unit/provider/cron/parsed_spec.rb +22 -24
- data/spec/unit/provider/exec/posix_spec.rb +6 -7
- data/spec/unit/provider/exec/shell_spec.rb +0 -1
- data/spec/unit/provider/exec/windows_spec.rb +2 -4
- data/spec/unit/provider/exec_spec.rb +0 -1
- data/spec/unit/provider/file/posix_spec.rb +22 -24
- data/spec/unit/provider/file/windows_spec.rb +15 -17
- data/spec/unit/provider/group/aix_spec.rb +3 -2
- data/spec/unit/provider/group/groupadd_spec.rb +30 -26
- 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 +54 -54
- data/spec/unit/provider/host/parsed_spec.rb +6 -6
- data/spec/unit/provider/interface/cisco_spec.rb +20 -24
- data/spec/unit/provider/ldap_spec.rb +61 -62
- data/spec/unit/provider/macauthorization_spec.rb +26 -47
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +45 -47
- data/spec/unit/provider/mount/parsed_spec.rb +18 -24
- data/spec/unit/provider/mount_spec.rb +57 -66
- data/spec/unit/provider/naginator_spec.rb +13 -14
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
- data/spec/unit/provider/nameservice_spec.rb +38 -40
- data/spec/unit/provider/network_device_spec.rb +28 -28
- 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 +44 -27
- data/spec/unit/provider/package/aptitude_spec.rb +6 -7
- data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
- data/spec/unit/provider/package/base_spec.rb +4 -4
- data/spec/unit/provider/package/dnf_spec.rb +14 -16
- data/spec/unit/provider/package/dpkg_spec.rb +52 -52
- data/spec/unit/provider/package/freebsd_spec.rb +11 -11
- data/spec/unit/provider/package/gem_spec.rb +51 -43
- data/spec/unit/provider/package/hpux_spec.rb +8 -8
- data/spec/unit/provider/package/macports_spec.rb +46 -42
- data/spec/unit/provider/package/nim_spec.rb +30 -39
- data/spec/unit/provider/package/openbsd_spec.rb +36 -39
- data/spec/unit/provider/package/opkg_spec.rb +23 -26
- data/spec/unit/provider/package/pacman_spec.rb +97 -118
- data/spec/unit/provider/package/pip_spec.rb +69 -71
- data/spec/unit/provider/package/pkg_spec.rb +109 -109
- data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
- data/spec/unit/provider/package/pkgin_spec.rb +10 -8
- data/spec/unit/provider/package/pkgng_spec.rb +17 -18
- data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
- data/spec/unit/provider/package/portage_spec.rb +70 -74
- data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
- data/spec/unit/provider/package/rpm_spec.rb +53 -64
- data/spec/unit/provider/package/sun_spec.rb +16 -18
- data/spec/unit/provider/package/tdnf_spec.rb +2 -2
- data/spec/unit/provider/package/up2date_spec.rb +2 -4
- data/spec/unit/provider/package/urpmi_spec.rb +15 -17
- data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
- data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
- data/spec/unit/provider/package/windows/package_spec.rb +37 -42
- data/spec/unit/provider/package/windows_spec.rb +36 -32
- data/spec/unit/provider/package/yum_spec.rb +4 -4
- data/spec/unit/provider/package/zypper_spec.rb +87 -87
- data/spec/unit/provider/parsedfile_spec.rb +44 -45
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +120 -130
- data/spec/unit/provider/selboolean_spec.rb +9 -11
- data/spec/unit/provider/selmodule_spec.rb +20 -22
- data/spec/unit/provider/service/base_spec.rb +4 -5
- data/spec/unit/provider/service/bsd_spec.rb +27 -29
- data/spec/unit/provider/service/daemontools_spec.rb +35 -35
- data/spec/unit/provider/service/debian_spec.rb +37 -37
- data/spec/unit/provider/service/freebsd_spec.rb +18 -18
- data/spec/unit/provider/service/gentoo_spec.rb +50 -56
- data/spec/unit/provider/service/init_spec.rb +55 -55
- data/spec/unit/provider/service/launchd_spec.rb +138 -116
- data/spec/unit/provider/service/openbsd_spec.rb +50 -50
- data/spec/unit/provider/service/openrc_spec.rb +43 -46
- data/spec/unit/provider/service/openwrt_spec.rb +26 -32
- data/spec/unit/provider/service/rcng_spec.rb +14 -14
- data/spec/unit/provider/service/redhat_spec.rb +45 -43
- data/spec/unit/provider/service/runit_spec.rb +29 -27
- data/spec/unit/provider/service/smf_spec.rb +74 -66
- data/spec/unit/provider/service/src_spec.rb +46 -47
- data/spec/unit/provider/service/systemd_spec.rb +93 -98
- data/spec/unit/provider/service/upstart_spec.rb +74 -72
- data/spec/unit/provider/service/windows_spec.rb +33 -41
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +54 -68
- data/spec/unit/provider/sshkey/parsed_spec.rb +7 -8
- data/spec/unit/provider/user/aix_spec.rb +31 -31
- data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
- data/spec/unit/provider/user/hpux_spec.rb +15 -15
- data/spec/unit/provider/user/ldap_spec.rb +57 -57
- data/spec/unit/provider/user/openbsd_spec.rb +10 -12
- data/spec/unit/provider/user/pw_spec.rb +37 -35
- data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
- data/spec/unit/provider/user/useradd_spec.rb +93 -92
- data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
- data/spec/unit/provider/vlan/cisco_spec.rb +10 -12
- data/spec/unit/provider/yumrepo/inifile_spec.rb +75 -80
- data/spec/unit/provider/zfs/zfs_spec.rb +26 -21
- data/spec/unit/provider/zone/solaris_spec.rb +56 -42
- data/spec/unit/provider/zpool/zpool_spec.rb +19 -20
- data/spec/unit/provider_spec.rb +29 -29
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/puppet_pal_spec.rb +0 -1
- data/spec/unit/puppet_spec.rb +7 -8
- data/spec/unit/relationship_spec.rb +0 -1
- data/spec/unit/reports/http_spec.rb +21 -23
- data/spec/unit/reports/store_spec.rb +3 -4
- data/spec/unit/reports_spec.rb +12 -14
- data/spec/unit/resource/capability_finder_spec.rb +18 -16
- data/spec/unit/resource/catalog_spec.rb +72 -68
- data/spec/unit/resource/status_spec.rb +6 -8
- data/spec/unit/resource/type_collection_spec.rb +17 -18
- data/spec/unit/resource/type_spec.rb +34 -35
- data/spec/unit/resource_spec.rb +36 -32
- data/spec/unit/scheduler/job_spec.rb +0 -1
- data/spec/unit/scheduler/scheduler_spec.rb +0 -1
- data/spec/unit/scheduler/splay_job_spec.rb +1 -2
- 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 +0 -1
- data/spec/unit/settings/directory_setting_spec.rb +2 -7
- data/spec/unit/settings/duration_setting_spec.rb +1 -2
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +4 -6
- data/spec/unit/settings/file_setting_spec.rb +44 -46
- data/spec/unit/settings/path_setting_spec.rb +1 -2
- data/spec/unit/settings/priority_setting_spec.rb +1 -2
- data/spec/unit/settings/string_setting_spec.rb +14 -15
- data/spec/unit/settings/terminus_setting_spec.rb +1 -2
- data/spec/unit/settings/value_translator_spec.rb +0 -1
- data/spec/unit/settings_spec.rb +226 -233
- data/spec/unit/ssl/base_spec.rb +14 -15
- data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +6 -7
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +116 -113
- data/spec/unit/ssl/certificate_authority_spec.rb +258 -268
- data/spec/unit/ssl/certificate_factory_spec.rb +3 -5
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -3
- data/spec/unit/ssl/certificate_request_spec.rb +66 -67
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -4
- data/spec/unit/ssl/certificate_spec.rb +23 -25
- data/spec/unit/ssl/configuration_spec.rb +1 -4
- data/spec/unit/ssl/digest_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +217 -188
- data/spec/unit/ssl/inventory_spec.rb +25 -21
- data/spec/unit/ssl/key_spec.rb +30 -31
- data/spec/unit/ssl/validator_spec.rb +40 -40
- data/spec/unit/task_spec.rb +6 -7
- data/spec/unit/transaction/additional_resource_generator_spec.rb +6 -5
- data/spec/unit/transaction/event_manager_spec.rb +88 -88
- data/spec/unit/transaction/event_spec.rb +16 -15
- data/spec/unit/transaction/persistence_spec.rb +16 -17
- data/spec/unit/transaction/report_spec.rb +11 -12
- data/spec/unit/transaction/resource_harness_spec.rb +28 -33
- data/spec/unit/transaction_spec.rb +98 -100
- data/spec/unit/type/augeas_spec.rb +11 -10
- data/spec/unit/type/component_spec.rb +0 -1
- data/spec/unit/type/computer_spec.rb +7 -10
- data/spec/unit/type/cron_spec.rb +3 -7
- data/spec/unit/type/exec_spec.rb +60 -56
- data/spec/unit/type/file/checksum_spec.rb +9 -10
- data/spec/unit/type/file/checksum_value_spec.rb +31 -32
- data/spec/unit/type/file/content_spec.rb +58 -61
- data/spec/unit/type/file/ctime_spec.rb +0 -1
- data/spec/unit/type/file/ensure_spec.rb +12 -13
- data/spec/unit/type/file/group_spec.rb +5 -7
- data/spec/unit/type/file/mode_spec.rb +4 -6
- data/spec/unit/type/file/mtime_spec.rb +0 -1
- data/spec/unit/type/file/owner_spec.rb +6 -8
- data/spec/unit/type/file/selinux_spec.rb +17 -19
- data/spec/unit/type/file/source_spec.rb +104 -101
- data/spec/unit/type/file/type_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +195 -185
- data/spec/unit/type/filebucket_spec.rb +4 -5
- data/spec/unit/type/group_spec.rb +6 -8
- data/spec/unit/type/host_spec.rb +2 -3
- data/spec/unit/type/interface_spec.rb +2 -3
- data/spec/unit/type/k5login_spec.rb +3 -4
- data/spec/unit/type/macauthorization_spec.rb +6 -8
- data/spec/unit/type/mailalias_spec.rb +2 -3
- data/spec/unit/type/maillist_spec.rb +6 -9
- data/spec/unit/type/mcx_spec.rb +4 -8
- data/spec/unit/type/mount_spec.rb +26 -38
- data/spec/unit/type/nagios_spec.rb +0 -1
- data/spec/unit/type/noop_metaparam_spec.rb +1 -2
- data/spec/unit/type/package/package_settings_spec.rb +44 -23
- data/spec/unit/type/package_spec.rb +53 -54
- data/spec/unit/type/resources_spec.rb +86 -88
- data/spec/unit/type/schedule_spec.rb +24 -26
- data/spec/unit/type/scheduled_task_spec.rb +1 -2
- data/spec/unit/type/selboolean_spec.rb +5 -6
- data/spec/unit/type/selmodule_spec.rb +0 -1
- data/spec/unit/type/service_spec.rb +47 -47
- data/spec/unit/type/ssh_authorized_key_spec.rb +5 -35
- data/spec/unit/type/sshkey_spec.rb +0 -2
- data/spec/unit/type/stage_spec.rb +0 -1
- data/spec/unit/type/tidy_spec.rb +61 -62
- data/spec/unit/type/user_spec.rb +41 -27
- data/spec/unit/type/vlan_spec.rb +2 -4
- data/spec/unit/type/whit_spec.rb +0 -1
- data/spec/unit/type/zfs_spec.rb +6 -7
- data/spec/unit/type/zone_spec.rb +14 -4
- data/spec/unit/type/zpool_spec.rb +4 -5
- data/spec/unit/type_spec.rb +54 -53
- data/spec/unit/util/at_fork_spec.rb +18 -19
- data/spec/unit/util/autoload_spec.rb +53 -54
- data/spec/unit/util/backups_spec.rb +34 -35
- data/spec/unit/util/character_encoding_spec.rb +8 -8
- data/spec/unit/util/checksums_spec.rb +38 -39
- data/spec/unit/util/colors_spec.rb +1 -2
- data/spec/unit/util/command_line_spec.rb +24 -25
- data/spec/unit/util/constant_inflector_spec.rb +0 -1
- data/spec/unit/util/diff_spec.rb +7 -8
- data/spec/unit/util/errors_spec.rb +0 -1
- data/spec/unit/util/execution_spec.rb +187 -162
- data/spec/unit/util/execution_stub_spec.rb +0 -1
- data/spec/unit/util/feature_spec.rb +13 -13
- 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 +26 -31
- data/spec/unit/util/json_lockfile_spec.rb +3 -5
- data/spec/unit/util/ldap/connection_spec.rb +26 -25
- data/spec/unit/util/ldap/generator_spec.rb +0 -1
- data/spec/unit/util/ldap/manager_spec.rb +102 -101
- data/spec/unit/util/lockfile_spec.rb +0 -1
- data/spec/unit/util/log/destinations_spec.rb +30 -33
- data/spec/unit/util/log_spec.rb +35 -36
- data/spec/unit/util/logging_spec.rb +58 -66
- data/spec/unit/util/metric_spec.rb +0 -1
- data/spec/unit/util/monkey_patches_spec.rb +7 -9
- data/spec/unit/util/multi_match_spec.rb +0 -1
- data/spec/unit/util/nagios_maker_spec.rb +35 -36
- data/spec/unit/util/network_device/cisco/device_spec.rb +59 -50
- data/spec/unit/util/network_device/cisco/facts_spec.rb +4 -5
- data/spec/unit/util/network_device/cisco/interface_spec.rb +29 -20
- data/spec/unit/util/network_device/config_spec.rb +0 -1
- data/spec/unit/util/network_device/ipcalc_spec.rb +0 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
- data/spec/unit/util/network_device/transport/ssh_spec.rb +94 -60
- data/spec/unit/util/network_device/transport/telnet_spec.rb +18 -14
- data/spec/unit/util/network_device_spec.rb +7 -9
- data/spec/unit/util/package_spec.rb +0 -1
- data/spec/unit/util/pidlock_spec.rb +13 -14
- data/spec/unit/util/plist_spec.rb +40 -33
- data/spec/unit/util/posix_spec.rb +54 -51
- data/spec/unit/util/rdoc_spec.rb +9 -10
- data/spec/unit/util/reference_spec.rb +0 -1
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +7 -8
- data/spec/unit/util/rubygems_spec.rb +14 -14
- data/spec/unit/util/run_mode_spec.rb +3 -4
- data/spec/unit/util/selinux_spec.rb +79 -72
- data/spec/unit/util/splayer_spec.rb +8 -9
- data/spec/unit/util/ssl_spec.rb +0 -1
- data/spec/unit/util/storage_spec.rb +3 -4
- data/spec/unit/util/suidmanager_spec.rb +45 -54
- data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
- data/spec/unit/util/tag_set_spec.rb +0 -1
- data/spec/unit/util/tagging_spec.rb +0 -1
- data/spec/unit/util/terminal_spec.rb +9 -10
- data/spec/unit/util/user_attr_spec.rb +1 -2
- data/spec/unit/util/warnings_spec.rb +3 -4
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +51 -21
- data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
- data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
- data/spec/unit/util/windows/adsi_spec.rb +136 -138
- data/spec/unit/util/windows/api_types_spec.rb +0 -1
- data/spec/unit/util/windows/eventlog_spec.rb +9 -12
- data/spec/unit/util/windows/file_spec.rb +0 -1
- data/spec/unit/util/windows/root_certs_spec.rb +0 -1
- data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
- data/spec/unit/util/windows/service_spec.rb +66 -68
- data/spec/unit/util/windows/sid_spec.rb +11 -13
- data/spec/unit/util/windows/string_spec.rb +0 -1
- data/spec/unit/util_spec.rb +55 -59
- data/spec/unit/version_spec.rb +6 -6
- metadata +2 -2
| @@ -1,5 +1,3 @@ | |
| 1 | 
            -
            #!/usr/bin/env ruby
         | 
| 2 | 
            -
             | 
| 3 1 | 
             
            require 'spec_helper'
         | 
| 4 2 |  | 
| 5 3 | 
             
            require 'puppet/util/windows'
         | 
| @@ -23,7 +21,7 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet.features.microsoft_windo | |
| 23 21 | 
             
                it "sets a handle to the event log" do
         | 
| 24 22 | 
             
                  default_name = Puppet::Util::Windows::String.wide_string('Puppet')
         | 
| 25 23 | 
             
                  # return nil explicitly just to reinforce that we're not leaking eventlog handle
         | 
| 26 | 
            -
                  Puppet::Util::Windows::EventLog. | 
| 24 | 
            +
                  expect_any_instance_of(Puppet::Util::Windows::EventLog).to receive(:RegisterEventSourceW).with(anything, default_name).and_return(nil)
         | 
| 27 25 | 
             
                  Puppet::Util::Windows::EventLog.new
         | 
| 28 26 | 
             
                end
         | 
| 29 27 |  | 
| @@ -31,7 +29,7 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet.features.microsoft_windo | |
| 31 29 | 
             
                  before do
         | 
| 32 30 | 
             
                    # RegisterEventSourceW will return NULL on failure
         | 
| 33 31 | 
             
                    # Stubbing prevents leaking eventlog handle
         | 
| 34 | 
            -
                    Puppet::Util::Windows::EventLog. | 
| 32 | 
            +
                    allow_any_instance_of(Puppet::Util::Windows::EventLog).to receive(:RegisterEventSourceW).and_return(Puppet::Util::Windows::EventLog::NULL_HANDLE)
         | 
| 35 33 | 
             
                  end
         | 
| 36 34 |  | 
| 37 35 | 
             
                  it "raises an exception warning that the event log failed to open" do
         | 
| @@ -40,11 +38,11 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet.features.microsoft_windo | |
| 40 38 |  | 
| 41 39 | 
             
                  it "passes the exit code to the exception constructor" do
         | 
| 42 40 | 
             
                    fake_error = Puppet::Util::Windows::EventLog::EventLogError.new('foo', 87)
         | 
| 43 | 
            -
                    FFI. | 
| 41 | 
            +
                    allow(FFI).to receive(:errno).and_return(87)
         | 
| 44 42 | 
             
                    # All we're testing here is that the constructor actually receives the exit code from FFI.errno (87)
         | 
| 45 43 | 
             
                    # We do so because `expect to...raise_error` doesn't support multiple parameter match arguments
         | 
| 46 44 | 
             
                    # We return fake_error just because `raise` expects an exception class
         | 
| 47 | 
            -
                    Puppet::Util::Windows::EventLog::EventLogError. | 
| 45 | 
            +
                    expect(Puppet::Util::Windows::EventLog::EventLogError).to receive(:new).with(/failed to open Windows eventlog/, 87).and_return(fake_error)
         | 
| 48 46 | 
             
                    expect { Puppet::Util::Windows::EventLog.open('foo') }.to raise_error(Puppet::Util::Windows::EventLog::EventLogError)
         | 
| 49 47 | 
             
                  end
         | 
| 50 48 | 
             
                end
         | 
| @@ -53,9 +51,9 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet.features.microsoft_windo | |
| 53 51 | 
             
              describe "#close" do
         | 
| 54 52 | 
             
                it "closes the handle to the event log" do
         | 
| 55 53 | 
             
                  @handle = "12345"
         | 
| 56 | 
            -
                  Puppet::Util::Windows::EventLog. | 
| 54 | 
            +
                  allow_any_instance_of(Puppet::Util::Windows::EventLog).to receive(:RegisterEventSourceW).and_return(@handle)
         | 
| 57 55 | 
             
                  event_log = Puppet::Util::Windows::EventLog.new
         | 
| 58 | 
            -
                  event_log. | 
| 56 | 
            +
                  expect(event_log).to receive(:DeregisterEventSource).with(@handle).and_return(1)
         | 
| 59 57 | 
             
                  event_log.close
         | 
| 60 58 | 
             
                end
         | 
| 61 59 | 
             
              end
         | 
| @@ -68,7 +66,7 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet.features.microsoft_windo | |
| 68 66 | 
             
                context "when an event report fails" do
         | 
| 69 67 | 
             
                  before do
         | 
| 70 68 | 
             
                    # ReportEventW returns 0 on failure, which is mapped to WIN32_FALSE
         | 
| 71 | 
            -
                    @event_log. | 
| 69 | 
            +
                    allow(@event_log).to receive(:ReportEventW).and_return(Puppet::Util::Windows::EventLog::WIN32_FALSE)
         | 
| 72 70 | 
             
                  end
         | 
| 73 71 |  | 
| 74 72 | 
             
                  it "raises an exception warning that the event report failed" do
         | 
| @@ -77,18 +75,17 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet.features.microsoft_windo | |
| 77 75 |  | 
| 78 76 | 
             
                  it "passes the exit code to the exception constructor" do
         | 
| 79 77 | 
             
                    fake_error = Puppet::Util::Windows::EventLog::EventLogError.new('foo', 5)
         | 
| 80 | 
            -
                    FFI. | 
| 78 | 
            +
                    allow(FFI).to receive(:errno).and_return(5)
         | 
| 81 79 | 
             
                    # All we're testing here is that the constructor actually receives the exit code from FFI.errno (5)
         | 
| 82 80 | 
             
                    # We do so because `expect to...raise_error` doesn't support multiple parameter match arguments
         | 
| 83 81 | 
             
                    # We return fake_error just because `raise` expects an exception class
         | 
| 84 | 
            -
                    Puppet::Util::Windows::EventLog::EventLogError. | 
| 82 | 
            +
                    expect(Puppet::Util::Windows::EventLog::EventLogError).to receive(:new).with(/failed to report event/, 5).and_return(fake_error)
         | 
| 85 83 | 
             
                    expect { @event_log.report_event(:data => 'foo', :event_type => Puppet::Util::Windows::EventLog::EVENTLOG_ERROR_TYPE, :event_id => 0x03) }.to raise_error(Puppet::Util::Windows::EventLog::EventLogError)
         | 
| 86 84 | 
             
                  end
         | 
| 87 85 | 
             
                end
         | 
| 88 86 | 
             
              end
         | 
| 89 87 |  | 
| 90 88 | 
             
              describe "self.to_native" do
         | 
| 91 | 
            -
             | 
| 92 89 | 
             
                it "raises an exception if the log level is not supported" do
         | 
| 93 90 | 
             
                  expect { Puppet::Util::Windows::EventLog.to_native(:foo) }.to raise_error(ArgumentError)
         | 
| 94 91 | 
             
                end
         | 
| @@ -1,13 +1,12 @@ | |
| 1 | 
            -
            #!/usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 |  | 
| 4 3 | 
             
            describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_windows? do
         | 
| 5 4 | 
             
              require 'puppet/util/windows'
         | 
| 6 5 |  | 
| 7 6 | 
             
              before(:each) do
         | 
| 8 | 
            -
                Puppet::Util::Windows::Error. | 
| 7 | 
            +
                allow(Puppet::Util::Windows::Error).to receive(:format_error_code)
         | 
| 9 8 | 
             
                  .with(anything)
         | 
| 10 | 
            -
                  . | 
| 9 | 
            +
                  .and_return("fake error!")
         | 
| 11 10 | 
             
              end
         | 
| 12 11 |  | 
| 13 12 | 
             
              def service_state_str(state)
         | 
| @@ -22,7 +21,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 22 21 | 
             
              # just an expectation of subject::SERVICE_STATUS_PROCESS.new in sequence that
         | 
| 23 22 | 
             
              # returns the value passed in as a param
         | 
| 24 23 | 
             
              def expect_successful_status_query_and_return(query_return)
         | 
| 25 | 
            -
                subject::SERVICE_STATUS_PROCESS. | 
| 24 | 
            +
                expect(subject::SERVICE_STATUS_PROCESS).to receive(:new).and_return(query_return)
         | 
| 26 25 | 
             
              end
         | 
| 27 26 |  | 
| 28 27 | 
             
              def expect_successful_status_queries_and_return(*query_returns)
         | 
| @@ -39,34 +38,33 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 39 38 | 
             
              # just an expectation of subject::QUERY_SERVICE_CONFIGW.new in sequence that
         | 
| 40 39 | 
             
              # returns the value passed in as a param
         | 
| 41 40 | 
             
              def expect_successful_config_query_and_return(query_return)
         | 
| 42 | 
            -
                subject::QUERY_SERVICE_CONFIGW. | 
| 41 | 
            +
                expect(subject::QUERY_SERVICE_CONFIGW).to receive(:new).and_return(query_return)
         | 
| 43 42 | 
             
              end
         | 
| 44 43 |  | 
| 45 44 | 
             
              let(:subject)      { Puppet::Util::Windows::Service }
         | 
| 46 | 
            -
              let(:pointer) {  | 
| 47 | 
            -
              let(: | 
| 48 | 
            -
              let(: | 
| 49 | 
            -
              let(: | 
| 50 | 
            -
              let(:scm) { mock() }
         | 
| 45 | 
            +
              let(:pointer) { double() }
         | 
| 46 | 
            +
              let(:mock_service_name) { double() }
         | 
| 47 | 
            +
              let(:service) { double() }
         | 
| 48 | 
            +
              let(:scm) { double() }
         | 
| 51 49 |  | 
| 52 50 | 
             
              before do
         | 
| 53 | 
            -
                subject. | 
| 54 | 
            -
                subject. | 
| 55 | 
            -
                subject. | 
| 56 | 
            -
                subject. | 
| 57 | 
            -
                subject. | 
| 58 | 
            -
                subject. | 
| 59 | 
            -
                subject. | 
| 60 | 
            -
                subject. | 
| 61 | 
            -
                subject::SERVICE_STATUS_PROCESS. | 
| 62 | 
            -
                subject::QUERY_SERVICE_CONFIGW. | 
| 63 | 
            -
                subject::SERVICE_STATUS. | 
| 64 | 
            -
                FFI. | 
| 65 | 
            -
                FFI::MemoryPointer. | 
| 66 | 
            -
                pointer. | 
| 67 | 
            -
                pointer. | 
| 68 | 
            -
                pointer. | 
| 69 | 
            -
                subject. | 
| 51 | 
            +
                allow(subject).to receive(:QueryServiceStatusEx).and_return(1)
         | 
| 52 | 
            +
                allow(subject).to receive(:QueryServiceConfigW).and_return(1)
         | 
| 53 | 
            +
                allow(subject).to receive(:ChangeServiceConfigW).and_return(1)
         | 
| 54 | 
            +
                allow(subject).to receive(:OpenSCManagerW).and_return(scm)
         | 
| 55 | 
            +
                allow(subject).to receive(:OpenServiceW).and_return(service)
         | 
| 56 | 
            +
                allow(subject).to receive(:CloseServiceHandle)
         | 
| 57 | 
            +
                allow(subject).to receive(:EnumServicesStatusExW).and_return(1)
         | 
| 58 | 
            +
                allow(subject).to receive(:wide_string)
         | 
| 59 | 
            +
                allow(subject::SERVICE_STATUS_PROCESS).to receive(:new)
         | 
| 60 | 
            +
                allow(subject::QUERY_SERVICE_CONFIGW).to receive(:new)
         | 
| 61 | 
            +
                allow(subject::SERVICE_STATUS).to receive(:new).and_return({:dwCurrentState => subject::SERVICE_RUNNING})
         | 
| 62 | 
            +
                allow(FFI).to receive(:errno).and_return(0)
         | 
| 63 | 
            +
                allow(FFI::MemoryPointer).to receive(:new).and_yield(pointer)
         | 
| 64 | 
            +
                allow(pointer).to receive(:read_dword)
         | 
| 65 | 
            +
                allow(pointer).to receive(:write_dword)
         | 
| 66 | 
            +
                allow(pointer).to receive(:size)
         | 
| 67 | 
            +
                allow(subject).to receive(:sleep)
         | 
| 70 68 | 
             
              end
         | 
| 71 69 |  | 
| 72 70 | 
             
              describe "#exists?" do
         | 
| @@ -81,7 +79,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 81 79 | 
             
                  let(:service) { FFI::Pointer::NULL_HANDLE }
         | 
| 82 80 |  | 
| 83 81 | 
             
                  it "returns false if it fails to open because the service does not exist" do
         | 
| 84 | 
            -
                    FFI. | 
| 82 | 
            +
                    allow(FFI).to receive(:errno).and_return(Puppet::Util::Windows::Service::ERROR_SERVICE_DOES_NOT_EXIST)
         | 
| 85 83 |  | 
| 86 84 | 
             
                    expect(subject.exists?(mock_service_name)).to be false
         | 
| 87 85 | 
             
                  end
         | 
| @@ -113,7 +111,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 113 111 | 
             
                final_state_str = Puppet::Util::Windows::Service::SERVICE_STATES[final_state].to_s
         | 
| 114 112 |  | 
| 115 113 | 
             
                it "raises a Puppet::Error if the service query fails" do
         | 
| 116 | 
            -
                  subject. | 
| 114 | 
            +
                  expect(subject).to receive(:QueryServiceStatusEx).and_return(FFI::WIN32_FALSE)
         | 
| 117 115 |  | 
| 118 116 | 
             
                  expect { subject.send(action, mock_service_name) }.to raise_error(Puppet::Error)
         | 
| 119 117 | 
             
                end
         | 
| @@ -132,7 +130,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 132 130 | 
             
                    { :dwCurrentState => final_state }
         | 
| 133 131 | 
             
                  )
         | 
| 134 132 |  | 
| 135 | 
            -
                  subject. | 
| 133 | 
            +
                  expect(subject).to receive(:sleep).with(1)
         | 
| 136 134 |  | 
| 137 135 | 
             
                  subject.send(action, mock_service_name)
         | 
| 138 136 | 
             
                end
         | 
| @@ -143,7 +141,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 143 141 | 
             
                    { :dwCurrentState => final_state }
         | 
| 144 142 | 
             
                  )
         | 
| 145 143 |  | 
| 146 | 
            -
                  subject. | 
| 144 | 
            +
                  expect(subject).to receive(:sleep).with(10)
         | 
| 147 145 |  | 
| 148 146 | 
             
                  subject.send(action, mock_service_name)
         | 
| 149 147 | 
             
                end
         | 
| @@ -238,7 +236,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 238 236 | 
             
                      # This mocks the status query to return the 'final_state' by default. Otherwise,
         | 
| 239 237 | 
             
                      # we will fail the tests in the latter parts of the code where we wait for the
         | 
| 240 238 | 
             
                      # service to finish transitioning to the 'final_state'.
         | 
| 241 | 
            -
                      subject::SERVICE_STATUS_PROCESS. | 
| 239 | 
            +
                      allow(subject::SERVICE_STATUS_PROCESS).to receive(:new).and_return(dwCurrentState: final_state)
         | 
| 242 240 |  | 
| 243 241 | 
             
                      # Set our service's initial state
         | 
| 244 242 | 
             
                      expect_successful_status_query_and_return(dwCurrentState: unsafe_pending_state)
         | 
| @@ -264,7 +262,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 264 262 | 
             
                  end
         | 
| 265 263 |  | 
| 266 264 | 
             
                  it "raises a Puppet::Error if the service query fails" do
         | 
| 267 | 
            -
                    subject. | 
| 265 | 
            +
                    expect(subject).to receive(:QueryServiceStatusEx).and_return(FFI::WIN32_FALSE)
         | 
| 268 266 |  | 
| 269 267 | 
             
                    expect { subject.send(action, mock_service_name) }.to raise_error(Puppet::Error)
         | 
| 270 268 | 
             
                  end
         | 
| @@ -276,7 +274,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 276 274 | 
             
                      { :dwCurrentState => final_state }
         | 
| 277 275 | 
             
                    )
         | 
| 278 276 |  | 
| 279 | 
            -
                    subject. | 
| 277 | 
            +
                    expect(subject).to receive(:sleep).with(1).twice
         | 
| 280 278 |  | 
| 281 279 | 
             
                    subject.send(action, mock_service_name)
         | 
| 282 280 | 
             
                  end
         | 
| @@ -345,7 +343,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 345 343 | 
             
                    let(:initial_state) { subject::SERVICE_STOPPED }
         | 
| 346 344 | 
             
                    let(:mock_state_transition) do
         | 
| 347 345 | 
             
                      lambda do
         | 
| 348 | 
            -
                        subject. | 
| 346 | 
            +
                        allow(subject).to receive(:StartServiceW).and_return(1)
         | 
| 349 347 | 
             
                      end
         | 
| 350 348 | 
             
                    end
         | 
| 351 349 | 
             
                  end
         | 
| @@ -353,7 +351,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 353 351 | 
             
                  it "raises a Puppet::Error if StartServiceW returns false" do
         | 
| 354 352 | 
             
                    expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_STOPPED)
         | 
| 355 353 |  | 
| 356 | 
            -
                    subject. | 
| 354 | 
            +
                    expect(subject).to receive(:StartServiceW).and_return(FFI::WIN32_FALSE)
         | 
| 357 355 |  | 
| 358 356 | 
             
                    expect { subject.start(mock_service_name) }.to raise_error(Puppet::Error)
         | 
| 359 357 | 
             
                  end
         | 
| @@ -364,7 +362,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 364 362 | 
             
                      { dwCurrentState: subject::SERVICE_RUNNING }
         | 
| 365 363 | 
             
                    )
         | 
| 366 364 |  | 
| 367 | 
            -
                    subject. | 
| 365 | 
            +
                    expect(subject).to receive(:StartServiceW).and_return(1)
         | 
| 368 366 |  | 
| 369 367 | 
             
                    subject.start(mock_service_name)
         | 
| 370 368 | 
             
                  end
         | 
| @@ -397,7 +395,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 397 395 | 
             
                    let(:initial_state) { subject::SERVICE_RUNNING }
         | 
| 398 396 | 
             
                    let(:mock_state_transition) do
         | 
| 399 397 | 
             
                      lambda do
         | 
| 400 | 
            -
                        subject. | 
| 398 | 
            +
                        allow(subject).to receive(:ControlService).and_return(1)
         | 
| 401 399 | 
             
                      end
         | 
| 402 400 | 
             
                    end
         | 
| 403 401 | 
             
                  end
         | 
| @@ -405,7 +403,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 405 403 | 
             
                  it "raises a Puppet::Error if ControlService returns false" do
         | 
| 406 404 | 
             
                    expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_RUNNING)
         | 
| 407 405 |  | 
| 408 | 
            -
                    subject. | 
| 406 | 
            +
                    allow(subject).to receive(:ControlService).and_return(FFI::WIN32_FALSE)
         | 
| 409 407 |  | 
| 410 408 | 
             
                    expect { subject.stop(mock_service_name) }.to raise_error(Puppet::Error)
         | 
| 411 409 | 
             
                  end
         | 
| @@ -416,7 +414,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 416 414 | 
             
                      { dwCurrentState: subject::SERVICE_STOPPED }
         | 
| 417 415 | 
             
                    )
         | 
| 418 416 |  | 
| 419 | 
            -
                    subject. | 
| 417 | 
            +
                    expect(subject).to receive(:ControlService).and_return(1)
         | 
| 420 418 |  | 
| 421 419 | 
             
                    subject.stop(mock_service_name)
         | 
| 422 420 | 
             
                  end
         | 
| @@ -458,7 +456,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 458 456 | 
             
                        # performing the transition (in case it is in SERVICE_PAUSE_PENDING).
         | 
| 459 457 | 
             
                        expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSED)
         | 
| 460 458 |  | 
| 461 | 
            -
                        subject. | 
| 459 | 
            +
                        allow(subject).to receive(:ControlService).and_return(1)
         | 
| 462 460 | 
             
                      end
         | 
| 463 461 | 
             
                    end
         | 
| 464 462 | 
             
                  end
         | 
| @@ -468,11 +466,11 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 468 466 | 
             
                      # This mocks the status query to return the SERVICE_RUNNING state by default.
         | 
| 469 467 | 
             
                      # Otherwise, we will fail the tests in the latter parts of the code where we
         | 
| 470 468 | 
             
                      # wait for the service to finish transitioning to the 'SERVICE_RUNNING' state.
         | 
| 471 | 
            -
                      subject::SERVICE_STATUS_PROCESS. | 
| 469 | 
            +
                      allow(subject::SERVICE_STATUS_PROCESS).to receive(:new).and_return(dwCurrentState: subject::SERVICE_RUNNING)
         | 
| 472 470 |  | 
| 473 471 | 
             
                      expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSE_PENDING)
         | 
| 474 472 |  | 
| 475 | 
            -
                      subject. | 
| 473 | 
            +
                      allow(subject).to receive(:ControlService).and_return(1)
         | 
| 476 474 | 
             
                    end
         | 
| 477 475 |  | 
| 478 476 | 
             
                    include_examples "a service action waiting on a pending transition", service::SERVICE_PAUSE_PENDING do
         | 
| @@ -484,7 +482,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 484 482 | 
             
                    expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSED)
         | 
| 485 483 | 
             
                    expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSED)
         | 
| 486 484 |  | 
| 487 | 
            -
                    subject. | 
| 485 | 
            +
                    allow(subject).to receive(:ControlService).and_return(FFI::WIN32_FALSE)
         | 
| 488 486 |  | 
| 489 487 | 
             
                    expect { subject.resume(mock_service_name) }.to raise_error(Puppet::Error)
         | 
| 490 488 | 
             
                  end
         | 
| @@ -496,7 +494,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 496 494 | 
             
                      { dwCurrentState: subject::SERVICE_RUNNING }
         | 
| 497 495 | 
             
                    )
         | 
| 498 496 |  | 
| 499 | 
            -
                    subject. | 
| 497 | 
            +
                    expect(subject).to receive(:ControlService).and_return(1)
         | 
| 500 498 |  | 
| 501 499 | 
             
                    subject.resume(mock_service_name)
         | 
| 502 500 | 
             
                  end
         | 
| @@ -566,7 +564,6 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 566 564 | 
             
                end
         | 
| 567 565 |  | 
| 568 566 | 
             
                context "when the service can be opened" do
         | 
| 569 | 
            -
             | 
| 570 567 | 
             
                  # We need to guard this section explicitly since rspec will always
         | 
| 571 568 | 
             
                  # construct all examples, even if it isn't going to run them.
         | 
| 572 569 | 
             
                  if Puppet.features.microsoft_windows?
         | 
| @@ -583,9 +580,10 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 583 580 | 
             
                      end
         | 
| 584 581 | 
             
                    end
         | 
| 585 582 | 
             
                  end
         | 
| 583 | 
            +
             | 
| 586 584 | 
             
                  it "raises a puppet error if the service query fails" do
         | 
| 587 | 
            -
                    subject. | 
| 588 | 
            -
                    subject. | 
| 585 | 
            +
                    expect(subject).to receive(:QueryServiceConfigW)
         | 
| 586 | 
            +
                    expect(subject).to receive(:QueryServiceConfigW).and_return(FFI::WIN32_FALSE)
         | 
| 589 587 | 
             
                    expect{ subject.service_start_type(mock_service_name) }.to raise_error(Puppet::Error)
         | 
| 590 588 | 
             
                  end
         | 
| 591 589 | 
             
                end
         | 
| @@ -610,7 +608,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 610 608 |  | 
| 611 609 | 
             
                context "when the service can be opened" do
         | 
| 612 610 | 
             
                  it "Raises an error on an unsuccessful change" do
         | 
| 613 | 
            -
                    subject. | 
| 611 | 
            +
                    expect(subject).to receive(:ChangeServiceConfigW).and_return(FFI::WIN32_FALSE)
         | 
| 614 612 | 
             
                    expect{ subject.set_startup_mode(mock_service_name, :SERVICE_DEMAND_START) }.to raise_error(Puppet::Error)
         | 
| 615 613 | 
             
                  end
         | 
| 616 614 | 
             
                end
         | 
| @@ -628,36 +626,36 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind | |
| 628 626 |  | 
| 629 627 | 
             
                context "when the service control manager is open" do
         | 
| 630 628 | 
             
                  let(:cursor) { [ 'svc1', 'svc2', 'svc3' ] }
         | 
| 631 | 
            -
                  let(:svc1name_ptr) {  | 
| 632 | 
            -
                  let(:svc2name_ptr) {  | 
| 633 | 
            -
                  let(:svc3name_ptr) {  | 
| 634 | 
            -
                  let(:svc1displayname_ptr) {  | 
| 635 | 
            -
                  let(:svc2displayname_ptr) {  | 
| 636 | 
            -
                  let(:svc3displayname_ptr) {  | 
| 629 | 
            +
                  let(:svc1name_ptr) { double() }
         | 
| 630 | 
            +
                  let(:svc2name_ptr) { double() }
         | 
| 631 | 
            +
                  let(:svc3name_ptr) { double() }
         | 
| 632 | 
            +
                  let(:svc1displayname_ptr) { double() }
         | 
| 633 | 
            +
                  let(:svc2displayname_ptr) { double() }
         | 
| 634 | 
            +
                  let(:svc3displayname_ptr) { double() }
         | 
| 637 635 | 
             
                  let(:svc1) { { :lpServiceName => svc1name_ptr, :lpDisplayName => svc1displayname_ptr, :ServiceStatusProcess => 'foo' } }
         | 
| 638 636 | 
             
                  let(:svc2) { { :lpServiceName => svc2name_ptr, :lpDisplayName => svc2displayname_ptr, :ServiceStatusProcess => 'foo' } }
         | 
| 639 637 | 
             
                  let(:svc3) { { :lpServiceName => svc3name_ptr, :lpDisplayName => svc3displayname_ptr, :ServiceStatusProcess => 'foo' } }
         | 
| 640 638 |  | 
| 641 639 | 
             
                  it "Raises an error if EnumServicesStatusExW fails" do
         | 
| 642 | 
            -
                    subject. | 
| 643 | 
            -
                    subject. | 
| 640 | 
            +
                    expect(subject).to receive(:EnumServicesStatusExW)
         | 
| 641 | 
            +
                    expect(subject).to receive(:EnumServicesStatusExW).and_return(FFI::WIN32_FALSE)
         | 
| 644 642 | 
             
                    expect{ subject.services }.to raise_error(Puppet::Error)
         | 
| 645 643 | 
             
                  end
         | 
| 646 644 |  | 
| 647 645 | 
             
                  it "Reads the buffer using pointer arithmetic to create a hash of service entries" do
         | 
| 648 646 | 
             
                    # the first read_dword is for reading the bytes required, let that return 3 too.
         | 
| 649 647 | 
             
                    # the second read_dword will actually read the number of services returned
         | 
| 650 | 
            -
                    pointer. | 
| 651 | 
            -
                    FFI::Pointer. | 
| 652 | 
            -
                    subject::ENUM_SERVICE_STATUS_PROCESSW. | 
| 653 | 
            -
                    subject::ENUM_SERVICE_STATUS_PROCESSW. | 
| 654 | 
            -
                    subject::ENUM_SERVICE_STATUS_PROCESSW. | 
| 655 | 
            -
                    svc1name_ptr. | 
| 656 | 
            -
                    svc2name_ptr. | 
| 657 | 
            -
                    svc3name_ptr. | 
| 658 | 
            -
                    svc1displayname_ptr. | 
| 659 | 
            -
                    svc2displayname_ptr. | 
| 660 | 
            -
                    svc3displayname_ptr. | 
| 648 | 
            +
                    expect(pointer).to receive(:read_dword).twice.and_return(3)
         | 
| 649 | 
            +
                    expect(FFI::Pointer).to receive(:new).with(subject::ENUM_SERVICE_STATUS_PROCESSW, pointer).and_return(cursor)
         | 
| 650 | 
            +
                    expect(subject::ENUM_SERVICE_STATUS_PROCESSW).to receive(:new).with('svc1').and_return(svc1)
         | 
| 651 | 
            +
                    expect(subject::ENUM_SERVICE_STATUS_PROCESSW).to receive(:new).with('svc2').and_return(svc2)
         | 
| 652 | 
            +
                    expect(subject::ENUM_SERVICE_STATUS_PROCESSW).to receive(:new).with('svc3').and_return(svc3)
         | 
| 653 | 
            +
                    expect(svc1name_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('svc1')
         | 
| 654 | 
            +
                    expect(svc2name_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('svc2')
         | 
| 655 | 
            +
                    expect(svc3name_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('svc3')
         | 
| 656 | 
            +
                    expect(svc1displayname_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('service 1')
         | 
| 657 | 
            +
                    expect(svc2displayname_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('service 2')
         | 
| 658 | 
            +
                    expect(svc3displayname_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('service 3')
         | 
| 661 659 | 
             
                    expect(subject.services).to eq({
         | 
| 662 660 | 
             
                      'svc1' => { :display_name => 'service 1', :service_status_process => 'foo' },
         | 
| 663 661 | 
             
                      'svc2' => { :display_name => 'service 2', :service_status_process => 'foo' },
         | 
| @@ -1,4 +1,3 @@ | |
| 1 | 
            -
            #!/usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 |  | 
| 4 3 | 
             
            describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? do
         | 
| @@ -72,12 +71,12 @@ describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? | |
| 72 71 | 
             
                end
         | 
| 73 72 |  | 
| 74 73 | 
             
                it "should return a SID for a passed user or group name" do
         | 
| 75 | 
            -
                  subject. | 
| 74 | 
            +
                  expect(subject).to receive(:name_to_principal).with('testers').and_return(double(:sid => 'S-1-5-32-547'))
         | 
| 76 75 | 
             
                  expect(subject.name_to_sid('testers')).to eq('S-1-5-32-547')
         | 
| 77 76 | 
             
                end
         | 
| 78 77 |  | 
| 79 78 | 
             
                it "should return a SID for a passed fully-qualified user or group name" do
         | 
| 80 | 
            -
                  subject. | 
| 79 | 
            +
                  expect(subject).to receive(:name_to_principal).with('MACHINE\testers').and_return(double(:sid => 'S-1-5-32-547'))
         | 
| 81 80 | 
             
                  expect(subject.name_to_sid('MACHINE\testers')).to eq('S-1-5-32-547')
         | 
| 82 81 | 
             
                end
         | 
| 83 82 |  | 
| @@ -100,7 +99,6 @@ describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? | |
| 100 99 | 
             
                end
         | 
| 101 100 |  | 
| 102 101 | 
             
                describe "with non-US languages" do
         | 
| 103 | 
            -
             | 
| 104 102 | 
             
                  UMLAUT = [195, 164].pack('c*').force_encoding(Encoding::UTF_8)
         | 
| 105 103 | 
             
                  let(:username) { SecureRandom.uuid.to_s.gsub(/\-/, '')[0..13] + UMLAUT }
         | 
| 106 104 |  | 
| @@ -165,20 +163,20 @@ describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? | |
| 165 163 | 
             
              context "#ads_to_principal" do
         | 
| 166 164 | 
             
                it "should raise an error for non-WIN32OLE input" do
         | 
| 167 165 | 
             
                  expect {
         | 
| 168 | 
            -
                    subject.ads_to_principal( | 
| 166 | 
            +
                    subject.ads_to_principal(double('WIN32OLE', { :Name => 'foo' }))
         | 
| 169 167 | 
             
                  }.to raise_error(Puppet::Error, /ads_object must be an IAdsUser or IAdsGroup instance/)
         | 
| 170 168 | 
             
                end
         | 
| 171 169 |  | 
| 172 170 | 
             
                it "should raise an error for an empty byte array in the objectSID property" do
         | 
| 173 171 | 
             
                  expect {
         | 
| 174 | 
            -
                    subject.ads_to_principal( | 
| 172 | 
            +
                    subject.ads_to_principal(double('WIN32OLE', { :objectSID => [], :Name => '', :ole_respond_to? => true }))
         | 
| 175 173 | 
             
                  }.to raise_error(Puppet::Error, /Octet string must be an array of bytes/)
         | 
| 176 174 | 
             
                end
         | 
| 177 175 |  | 
| 178 176 | 
             
                it "should raise an error for a malformed byte array" do
         | 
| 179 177 | 
             
                  expect {
         | 
| 180 178 | 
             
                    invalid_octet = [2]
         | 
| 181 | 
            -
                    subject.ads_to_principal( | 
| 179 | 
            +
                    subject.ads_to_principal(double('WIN32OLE', { :objectSID => invalid_octet, :Name => '', :ole_respond_to? => true }))
         | 
| 182 180 | 
             
                  }.to raise_error do |error|
         | 
| 183 181 | 
             
                    expect(error).to be_a(Puppet::Util::Windows::Error)
         | 
| 184 182 | 
             
                    expect(error.code).to eq(87) # ERROR_INVALID_PARAMETER
         | 
| @@ -189,7 +187,7 @@ describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? | |
| 189 187 | 
             
                  expect {
         | 
| 190 188 | 
             
                    # S-1-1-1 is a valid SID that will not resolve
         | 
| 191 189 | 
             
                    valid_octet_invalid_user = [1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0]
         | 
| 192 | 
            -
                    subject.ads_to_principal( | 
| 190 | 
            +
                    subject.ads_to_principal(double('WIN32OLE', { :objectSID => valid_octet_invalid_user, :Name => unknown_name, :ole_respond_to? => true }))
         | 
| 193 191 | 
             
                  }.to raise_error do |error|
         | 
| 194 192 | 
             
                    expect(error).to be_a(Puppet::Error)
         | 
| 195 193 | 
             
                    expect(error.cause.code).to eq(1332) # ERROR_NONE_MAPPED
         | 
| @@ -199,7 +197,7 @@ describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? | |
| 199 197 | 
             
                it "should return a Principal object even when the SID is unresolvable, as long as the Name matches" do
         | 
| 200 198 | 
             
                  # S-1-1-1 is a valid SID that will not resolve
         | 
| 201 199 | 
             
                  valid_octet_invalid_user = [1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0]
         | 
| 202 | 
            -
                  unresolvable_user =  | 
| 200 | 
            +
                  unresolvable_user = double('WIN32OLE', { :objectSID => valid_octet_invalid_user, :Name => 'S-1-1-1', :ole_respond_to? => true })
         | 
| 203 201 | 
             
                  principal = subject.ads_to_principal(unresolvable_user)
         | 
| 204 202 |  | 
| 205 203 | 
             
                  expect(principal).to be_an_instance_of(Puppet::Util::Windows::SID::Principal)
         | 
| @@ -213,13 +211,13 @@ describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? | |
| 213 211 |  | 
| 214 212 | 
             
                it "should return a Puppet::Util::Windows::SID::Principal instance for any valid sid" do
         | 
| 215 213 | 
             
                  system_bytes = [1, 1, 0, 0, 0, 0, 0, 5, 18, 0, 0, 0]
         | 
| 216 | 
            -
                  adsuser =  | 
| 214 | 
            +
                  adsuser = double('WIN32OLE', { :objectSID => system_bytes, :Name => 'SYSTEM', :ole_respond_to? => true })
         | 
| 217 215 | 
             
                  expect(subject.ads_to_principal(adsuser)).to be_an_instance_of(Puppet::Util::Windows::SID::Principal)
         | 
| 218 216 | 
             
                end
         | 
| 219 217 |  | 
| 220 218 | 
             
                it "should properly convert an array of bytes for a well-known non-localized SID, ignoring the Name from the WIN32OLE object" do
         | 
| 221 219 | 
             
                  bytes = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
         | 
| 222 | 
            -
                  adsuser =  | 
| 220 | 
            +
                  adsuser = double('WIN32OLE', { :objectSID => bytes, :Name => unknown_name, :ole_respond_to? => true })
         | 
| 223 221 | 
             
                  converted = subject.ads_to_principal(adsuser)
         | 
| 224 222 |  | 
| 225 223 | 
             
                  expect(converted).to be_an_instance_of Puppet::Util::Windows::SID::Principal
         | 
| @@ -288,8 +286,8 @@ describe "Puppet::Util::Windows::SID", :if => Puppet.features.microsoft_windows? | |
| 288 286 | 
             
                end
         | 
| 289 287 |  | 
| 290 288 | 
             
                it "should raise if the conversion fails" do
         | 
| 291 | 
            -
                  subject. | 
| 292 | 
            -
                     | 
| 289 | 
            +
                  expect(subject).to receive(:string_to_sid_ptr).with(sid).
         | 
| 290 | 
            +
                    and_raise(Puppet::Util::Windows::Error.new("Failed to convert string SID: #{sid}", Puppet::Util::Windows::Error::ERROR_ACCESS_DENIED))
         | 
| 293 291 |  | 
| 294 292 | 
             
                  expect {
         | 
| 295 293 | 
             
                    subject.string_to_sid_ptr(sid) {|ptr| }
         |