puppet 4.4.1-universal-darwin → 4.4.2-universal-darwin
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.
- data/lib/puppet/application/ca.rb +1 -0
- data/lib/puppet/application/lookup.rb +4 -16
- data/lib/puppet/application/resource.rb +0 -4
- data/lib/puppet/data_providers/hiera_interpolate.rb +8 -2
- data/lib/puppet/data_providers/json_data_provider_factory.rb +1 -1
- data/lib/puppet/defaults.rb +32 -16
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/file_system/windows.rb +1 -15
- data/lib/puppet/functions/assert_type.rb +1 -1
- data/lib/puppet/functions/lookup.rb +0 -3
- data/lib/puppet/indirector/catalog/compiler.rb +2 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/module.rb +3 -3
- data/lib/puppet/module_tool/applications/builder.rb +2 -2
- data/lib/puppet/network/auth_config_parser.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +0 -2
- data/lib/puppet/network/http/rack/rest.rb +10 -1
- data/lib/puppet/parser/functions/lookup.rb +0 -3
- data/lib/puppet/pops/evaluator/access_operator.rb +25 -1
- data/lib/puppet/pops/evaluator/closure.rb +10 -5
- data/lib/puppet/pops/merge_strategy.rb +0 -10
- data/lib/puppet/pops/types/recursion_guard.rb +10 -0
- data/lib/puppet/pops/types/type_asserter.rb +2 -2
- data/lib/puppet/pops/types/type_calculator.rb +1 -1
- data/lib/puppet/pops/types/type_formatter.rb +14 -2
- data/lib/puppet/pops/types/type_mismatch_describer.rb +22 -10
- data/lib/puppet/pops/types/types.rb +240 -98
- data/lib/puppet/provider/package/puppet_gem.rb +0 -0
- data/lib/puppet/provider/user/user_role_add.rb +3 -1
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/ssl/oids.rb +24 -2
- data/lib/puppet/util/monkey_patches.rb +10 -5
- data/lib/puppet/util/windows/file.rb +40 -10
- data/lib/puppet/util/windows.rb +1 -0
- data/lib/puppet/version.rb +1 -1
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +3 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +3 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +5 -1
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +2 -2
- data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/integration/agent/logging_spec.rb +0 -0
- data/spec/integration/application/apply_spec.rb +0 -0
- data/spec/integration/application/doc_spec.rb +0 -0
- data/spec/integration/configurer_spec.rb +0 -0
- data/spec/integration/data_binding_spec.rb +0 -0
- data/spec/integration/defaults_spec.rb +0 -0
- data/spec/integration/faces/ca_spec.rb +0 -0
- data/spec/integration/faces/documentation_spec.rb +0 -0
- data/spec/integration/file_serving/fileset_spec.rb +0 -0
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +0 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +0 -0
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -0
- data/spec/integration/indirector/node/ldap_spec.rb +0 -0
- data/spec/integration/network/formats_spec.rb +0 -0
- data/spec/integration/node/environment_spec.rb +0 -0
- data/spec/integration/node/facts_spec.rb +0 -0
- data/spec/integration/node_spec.rb +0 -0
- data/spec/integration/parser/collection_spec.rb +0 -0
- data/spec/integration/parser/compiler_spec.rb +0 -0
- data/spec/integration/parser/functions/require_spec.rb +0 -0
- data/spec/integration/parser/parameter_defaults_spec.rb +19 -1
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
- data/spec/integration/provider/mount_spec.rb +0 -0
- data/spec/integration/provider/package_spec.rb +0 -0
- data/spec/integration/provider/service/init_spec.rb +0 -0
- data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -0
- data/spec/integration/reference/providers_spec.rb +0 -0
- data/spec/integration/reports_spec.rb +0 -0
- data/spec/integration/resource/catalog_spec.rb +0 -0
- data/spec/integration/resource/type_collection_spec.rb +0 -0
- data/spec/integration/ssl/certificate_authority_spec.rb +0 -0
- data/spec/integration/ssl/certificate_request_spec.rb +0 -0
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -0
- data/spec/integration/ssl/host_spec.rb +0 -0
- data/spec/integration/transaction/report_spec.rb +0 -0
- data/spec/integration/transaction_spec.rb +0 -0
- data/spec/integration/type/exec_spec.rb +0 -0
- data/spec/integration/type/file_spec.rb +0 -0
- data/spec/integration/type/package_spec.rb +0 -0
- data/spec/integration/type/tidy_spec.rb +0 -0
- data/spec/integration/type_spec.rb +0 -0
- data/spec/integration/util/autoload_spec.rb +0 -0
- data/spec/integration/util/rdoc/parser_spec.rb +0 -0
- data/spec/integration/util/settings_spec.rb +26 -0
- data/spec/integration/util/windows/registry_spec.rb +0 -0
- data/spec/integration/util/windows/security_spec.rb +0 -0
- data/spec/integration/util/windows/user_spec.rb +0 -0
- data/spec/integration/util_spec.rb +0 -0
- data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -0
- data/spec/lib/puppet/face/basetest.rb +0 -0
- data/spec/lib/puppet/face/huzzah.rb +0 -0
- data/spec/lib/puppet_spec/files.rb +0 -0
- data/spec/lib/puppet_spec/fixtures.rb +0 -0
- data/spec/lib/puppet_spec/verbose.rb +0 -0
- data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -0
- data/spec/shared_behaviours/file_server_terminus.rb +0 -0
- data/spec/shared_behaviours/file_serving.rb +0 -0
- data/spec/shared_behaviours/memory_terminus.rb +0 -0
- data/spec/shared_behaviours/path_parameters.rb +0 -0
- data/spec/shared_behaviours/things_that_declare_options.rb +0 -0
- data/spec/spec_helper.rb +0 -0
- data/spec/unit/agent/locker_spec.rb +0 -0
- data/spec/unit/agent_spec.rb +0 -0
- data/spec/unit/application/agent_spec.rb +0 -0
- data/spec/unit/application/apply_spec.rb +0 -0
- data/spec/unit/application/cert_spec.rb +0 -0
- data/spec/unit/application/certificate_spec.rb +0 -0
- data/spec/unit/application/config_spec.rb +0 -0
- data/spec/unit/application/describe_spec.rb +0 -0
- data/spec/unit/application/device_spec.rb +0 -0
- data/spec/unit/application/doc_spec.rb +0 -0
- data/spec/unit/application/face_base_spec.rb +0 -0
- data/spec/unit/application/facts_spec.rb +0 -0
- data/spec/unit/application/filebucket_spec.rb +0 -0
- data/spec/unit/application/indirection_base_spec.rb +0 -0
- data/spec/unit/application/inspect_spec.rb +0 -0
- data/spec/unit/application/lookup_spec.rb +1 -1
- data/spec/unit/application/master_spec.rb +0 -0
- data/spec/unit/application/resource_spec.rb +0 -0
- data/spec/unit/application_spec.rb +0 -0
- data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
- data/spec/unit/configurer/downloader_spec.rb +0 -0
- data/spec/unit/configurer/fact_handler_spec.rb +0 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +0 -0
- data/spec/unit/configurer_spec.rb +0 -0
- data/spec/unit/confine/exists_spec.rb +0 -0
- data/spec/unit/confine/false_spec.rb +0 -0
- data/spec/unit/confine/feature_spec.rb +0 -0
- data/spec/unit/confine/true_spec.rb +0 -0
- data/spec/unit/confine/variable_spec.rb +0 -0
- data/spec/unit/confine_collection_spec.rb +0 -0
- data/spec/unit/confine_spec.rb +0 -0
- data/spec/unit/confiner_spec.rb +0 -0
- data/spec/unit/daemon_spec.rb +0 -0
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -1
- data/spec/unit/data_providers/hiera_interpolation_spec.rb +6 -0
- data/spec/unit/external/pson_spec.rb +0 -0
- data/spec/unit/face/catalog_spec.rb +0 -0
- data/spec/unit/face/certificate_spec.rb +0 -0
- data/spec/unit/face/config_spec.rb +0 -0
- data/spec/unit/face/facts_spec.rb +0 -0
- data/spec/unit/face/file_spec.rb +0 -0
- data/spec/unit/face/help_spec.rb +0 -0
- data/spec/unit/face/node_spec.rb +0 -0
- data/spec/unit/face/plugin_spec.rb +0 -0
- data/spec/unit/face_spec.rb +0 -0
- data/spec/unit/file_bucket/dipper_spec.rb +0 -0
- data/spec/unit/file_bucket/file_spec.rb +0 -0
- data/spec/unit/file_serving/base_spec.rb +0 -0
- data/spec/unit/file_serving/configuration/parser_spec.rb +0 -0
- data/spec/unit/file_serving/configuration_spec.rb +0 -0
- data/spec/unit/file_serving/content_spec.rb +0 -0
- data/spec/unit/file_serving/fileset_spec.rb +0 -0
- data/spec/unit/file_serving/metadata_spec.rb +0 -0
- data/spec/unit/file_serving/mount/file_spec.rb +0 -0
- data/spec/unit/file_serving/mount/modules_spec.rb +0 -0
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -0
- data/spec/unit/file_serving/mount/plugins_spec.rb +0 -0
- data/spec/unit/file_serving/mount_spec.rb +0 -0
- data/spec/unit/file_serving/terminus_helper_spec.rb +0 -0
- data/spec/unit/file_serving/terminus_selector_spec.rb +0 -0
- data/spec/unit/file_system/uniquefile_spec.rb +20 -0
- data/spec/unit/file_system_spec.rb +61 -0
- data/spec/unit/functions/assert_type_spec.rb +8 -0
- data/spec/unit/functions/defined_spec.rb +0 -0
- data/spec/unit/functions/hiera_spec.rb +0 -0
- data/spec/unit/functions/lookup_spec.rb +3 -3
- data/spec/unit/functions/regsubst_spec.rb +0 -0
- data/spec/unit/functions/split_spec.rb +0 -0
- data/spec/unit/functions/versioncmp_spec.rb +0 -0
- data/spec/unit/graph/relationship_graph_spec.rb +0 -0
- data/spec/unit/graph/simple_graph_spec.rb +0 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +7 -0
- data/spec/unit/indirector/catalog/json_spec.rb +0 -0
- data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -0
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/catalog/yaml_spec.rb +0 -0
- data/spec/unit/indirector/certificate/ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -0
- data/spec/unit/indirector/certificate_status/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -0
- data/spec/unit/indirector/code_spec.rb +0 -0
- data/spec/unit/indirector/direct_file_server_spec.rb +0 -0
- data/spec/unit/indirector/envelope_spec.rb +0 -0
- data/spec/unit/indirector/exec_spec.rb +0 -0
- data/spec/unit/indirector/face_spec.rb +0 -0
- data/spec/unit/indirector/facts/facter_spec.rb +0 -0
- data/spec/unit/indirector/facts/network_device_spec.rb +0 -0
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +0 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -0
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -0
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -0
- data/spec/unit/indirector/file_content/file_spec.rb +0 -0
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -0
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -0
- data/spec/unit/indirector/file_metadata/file_spec.rb +0 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -0
- data/spec/unit/indirector/file_server_spec.rb +0 -0
- data/spec/unit/indirector/indirection_spec.rb +0 -0
- data/spec/unit/indirector/json_spec.rb +0 -0
- data/spec/unit/indirector/key/ca_spec.rb +0 -0
- data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/key/file_spec.rb +0 -0
- data/spec/unit/indirector/ldap_spec.rb +0 -0
- data/spec/unit/indirector/memory_spec.rb +0 -0
- data/spec/unit/indirector/msgpack_spec.rb +11 -1
- data/spec/unit/indirector/node/exec_spec.rb +0 -0
- data/spec/unit/indirector/node/ldap_spec.rb +0 -0
- data/spec/unit/indirector/node/memory_spec.rb +0 -0
- data/spec/unit/indirector/node/msgpack_spec.rb +0 -0
- data/spec/unit/indirector/node/plain_spec.rb +0 -0
- data/spec/unit/indirector/node/rest_spec.rb +0 -0
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/node/yaml_spec.rb +0 -0
- data/spec/unit/indirector/plain_spec.rb +0 -0
- data/spec/unit/indirector/report/msgpack_spec.rb +0 -0
- data/spec/unit/indirector/report/processor_spec.rb +0 -0
- data/spec/unit/indirector/report/rest_spec.rb +0 -0
- data/spec/unit/indirector/report/yaml_spec.rb +0 -0
- data/spec/unit/indirector/request_spec.rb +0 -0
- data/spec/unit/indirector/resource/ral_spec.rb +0 -0
- data/spec/unit/indirector/resource/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/resource_type/parser_spec.rb +0 -0
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -0
- data/spec/unit/indirector/rest_spec.rb +0 -0
- data/spec/unit/indirector/ssl_file_spec.rb +0 -0
- data/spec/unit/indirector/status/rest_spec.rb +0 -0
- data/spec/unit/indirector/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/terminus_spec.rb +0 -0
- data/spec/unit/indirector/yaml_spec.rb +0 -0
- data/spec/unit/indirector_spec.rb +0 -0
- data/spec/unit/interface/action_builder_spec.rb +0 -0
- data/spec/unit/interface/action_manager_spec.rb +0 -0
- data/spec/unit/interface/action_spec.rb +0 -0
- data/spec/unit/interface/documentation_spec.rb +0 -0
- data/spec/unit/interface/face_collection_spec.rb +0 -0
- data/spec/unit/interface/option_builder_spec.rb +0 -0
- data/spec/unit/interface/option_spec.rb +0 -0
- data/spec/unit/interface_spec.rb +0 -0
- data/spec/unit/man_spec.rb +0 -0
- data/spec/unit/module_spec.rb +30 -6
- data/spec/unit/module_tool/applications/builder_spec.rb +23 -3
- data/spec/unit/module_tool_spec.rb +0 -0
- data/spec/unit/network/auth_config_parser_spec.rb +16 -0
- data/spec/unit/network/authconfig_spec.rb +0 -0
- data/spec/unit/network/authstore_spec.rb +0 -0
- data/spec/unit/network/format_handler_spec.rb +0 -0
- data/spec/unit/network/format_spec.rb +0 -0
- data/spec/unit/network/formats_spec.rb +0 -0
- data/spec/unit/network/http/api/indirected_routes_spec.rb +21 -13
- data/spec/unit/network/http/api/master/v3_spec.rb +0 -0
- data/spec/unit/network/http/compression_spec.rb +0 -0
- data/spec/unit/network/http/connection_spec.rb +0 -0
- data/spec/unit/network/http/factory_spec.rb +0 -0
- data/spec/unit/network/http/handler_spec.rb +0 -0
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
- data/spec/unit/network/http/pool_spec.rb +0 -0
- data/spec/unit/network/http/rack/rest_spec.rb +7 -0
- data/spec/unit/network/http/rack_spec.rb +0 -0
- data/spec/unit/network/http/session_spec.rb +0 -0
- data/spec/unit/network/http/site_spec.rb +0 -0
- data/spec/unit/network/http/webrick/rest_spec.rb +0 -0
- data/spec/unit/network/http/webrick_spec.rb +0 -0
- data/spec/unit/network/http_pool_spec.rb +0 -0
- data/spec/unit/network/http_spec.rb +0 -0
- data/spec/unit/network/resolver_spec.rb +0 -0
- data/spec/unit/network/rights_spec.rb +0 -0
- data/spec/unit/network/server_spec.rb +0 -0
- data/spec/unit/node/environment_spec.rb +0 -0
- data/spec/unit/node/facts_spec.rb +0 -0
- data/spec/unit/node_spec.rb +0 -0
- data/spec/unit/other/selinux_spec.rb +0 -0
- data/spec/unit/parameter/path_spec.rb +0 -0
- data/spec/unit/parameter/value_collection_spec.rb +0 -0
- data/spec/unit/parameter/value_spec.rb +0 -0
- data/spec/unit/parameter_spec.rb +0 -0
- data/spec/unit/parser/ast/leaf_spec.rb +0 -0
- data/spec/unit/parser/compiler_spec.rb +0 -0
- data/spec/unit/parser/files_spec.rb +0 -0
- data/spec/unit/parser/functions/create_resources_spec.rb +0 -0
- data/spec/unit/parser/functions/defined_spec.rb +0 -0
- data/spec/unit/parser/functions/digest_spec.rb +0 -0
- data/spec/unit/parser/functions/fail_spec.rb +0 -0
- data/spec/unit/parser/functions/file_spec.rb +0 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -0
- data/spec/unit/parser/functions/generate_spec.rb +0 -0
- data/spec/unit/parser/functions/hiera_spec.rb +0 -0
- data/spec/unit/parser/functions/include_spec.rb +0 -0
- data/spec/unit/parser/functions/inline_template_spec.rb +0 -0
- data/spec/unit/parser/functions/realize_spec.rb +0 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -0
- data/spec/unit/parser/functions/require_spec.rb +0 -0
- data/spec/unit/parser/functions/scanf_spec.rb +0 -0
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -0
- data/spec/unit/parser/functions/split_spec.rb +0 -0
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -0
- data/spec/unit/parser/functions/tag_spec.rb +0 -0
- data/spec/unit/parser/functions/template_spec.rb +0 -0
- data/spec/unit/parser/functions/versioncmp_spec.rb +0 -0
- data/spec/unit/parser/functions_spec.rb +0 -0
- data/spec/unit/parser/relationship_spec.rb +0 -0
- data/spec/unit/parser/resource/param_spec.rb +0 -0
- data/spec/unit/parser/resource_spec.rb +0 -0
- data/spec/unit/parser/scope_spec.rb +0 -0
- data/spec/unit/parser/templatewrapper_spec.rb +0 -0
- data/spec/unit/parser/type_loader_spec.rb +0 -0
- data/spec/unit/pops/loaders/loaders_spec.rb +8 -8
- data/spec/unit/pops/types/type_asserter_spec.rb +3 -3
- data/spec/unit/pops/types/type_calculator_spec.rb +32 -6
- data/spec/unit/pops/types/type_factory_spec.rb +26 -0
- data/spec/unit/pops/types/type_formatter_spec.rb +7 -2
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +25 -0
- data/spec/unit/pops/types/type_parser_spec.rb +1 -1
- data/spec/unit/pops/types/types_spec.rb +215 -0
- data/spec/unit/property/ensure_spec.rb +0 -0
- data/spec/unit/property/keyvalue_spec.rb +0 -0
- data/spec/unit/property/list_spec.rb +0 -0
- data/spec/unit/property/ordered_list_spec.rb +0 -0
- data/spec/unit/property_spec.rb +0 -0
- data/spec/unit/provider/augeas/augeas_spec.rb +0 -0
- data/spec/unit/provider/cisco_spec.rb +0 -0
- data/spec/unit/provider/command_spec.rb +0 -0
- data/spec/unit/provider/cron/crontab_spec.rb +0 -0
- data/spec/unit/provider/exec/posix_spec.rb +0 -0
- data/spec/unit/provider/exec/shell_spec.rb +0 -0
- data/spec/unit/provider/exec/windows_spec.rb +0 -0
- data/spec/unit/provider/exec_spec.rb +0 -0
- data/spec/unit/provider/file/posix_spec.rb +0 -0
- data/spec/unit/provider/file/windows_spec.rb +0 -0
- data/spec/unit/provider/group/groupadd_spec.rb +0 -0
- data/spec/unit/provider/group/ldap_spec.rb +0 -0
- data/spec/unit/provider/group/pw_spec.rb +0 -0
- data/spec/unit/provider/group/windows_adsi_spec.rb +0 -0
- data/spec/unit/provider/host/parsed_spec.rb +0 -0
- data/spec/unit/provider/interface/cisco_spec.rb +0 -0
- data/spec/unit/provider/ldap_spec.rb +0 -0
- data/spec/unit/provider/macauthorization_spec.rb +0 -0
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -0
- data/spec/unit/provider/mount/parsed_spec.rb +0 -0
- data/spec/unit/provider/mount_spec.rb +0 -0
- data/spec/unit/provider/naginator_spec.rb +0 -0
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -0
- data/spec/unit/provider/nameservice_spec.rb +0 -0
- data/spec/unit/provider/network_device_spec.rb +0 -0
- data/spec/unit/provider/package/aix_spec.rb +0 -0
- data/spec/unit/provider/package/appdmg_spec.rb +0 -0
- data/spec/unit/provider/package/apt_spec.rb +0 -0
- data/spec/unit/provider/package/aptitude_spec.rb +0 -0
- data/spec/unit/provider/package/aptrpm_spec.rb +0 -0
- data/spec/unit/provider/package/dpkg_spec.rb +0 -0
- data/spec/unit/provider/package/freebsd_spec.rb +0 -0
- data/spec/unit/provider/package/gem_spec.rb +0 -0
- data/spec/unit/provider/package/hpux_spec.rb +0 -0
- data/spec/unit/provider/package/macports_spec.rb +0 -0
- data/spec/unit/provider/package/nim_spec.rb +0 -0
- data/spec/unit/provider/package/openbsd_spec.rb +0 -0
- data/spec/unit/provider/package/opkg_spec.rb +0 -0
- data/spec/unit/provider/package/pacman_spec.rb +0 -0
- data/spec/unit/provider/package/pip3_spec.rb +0 -0
- data/spec/unit/provider/package/pip_spec.rb +0 -0
- data/spec/unit/provider/package/pkg_spec.rb +0 -0
- data/spec/unit/provider/package/pkgutil_spec.rb +0 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +0 -0
- data/spec/unit/provider/package/rpm_spec.rb +0 -0
- data/spec/unit/provider/package/sun_spec.rb +0 -0
- data/spec/unit/provider/package/windows/package_spec.rb +0 -0
- data/spec/unit/provider/package/windows_spec.rb +0 -0
- data/spec/unit/provider/package/yum_spec.rb +0 -0
- data/spec/unit/provider/package/zypper_spec.rb +0 -0
- data/spec/unit/provider/parsedfile_spec.rb +0 -0
- data/spec/unit/provider/selboolean_spec.rb +0 -0
- data/spec/unit/provider/selmodule_spec.rb +0 -0
- data/spec/unit/provider/service/base_spec.rb +0 -0
- data/spec/unit/provider/service/bsd_spec.rb +0 -0
- data/spec/unit/provider/service/daemontools_spec.rb +0 -0
- data/spec/unit/provider/service/debian_spec.rb +0 -0
- data/spec/unit/provider/service/freebsd_spec.rb +0 -0
- data/spec/unit/provider/service/gentoo_spec.rb +0 -0
- data/spec/unit/provider/service/init_spec.rb +0 -0
- data/spec/unit/provider/service/launchd_spec.rb +0 -0
- data/spec/unit/provider/service/openbsd_spec.rb +0 -0
- data/spec/unit/provider/service/openrc_spec.rb +0 -0
- data/spec/unit/provider/service/openwrt_spec.rb +0 -0
- data/spec/unit/provider/service/rcng_spec.rb +0 -0
- data/spec/unit/provider/service/redhat_spec.rb +0 -0
- data/spec/unit/provider/service/runit_spec.rb +0 -0
- data/spec/unit/provider/service/smf_spec.rb +0 -0
- data/spec/unit/provider/service/src_spec.rb +0 -0
- data/spec/unit/provider/service/systemd_spec.rb +0 -0
- data/spec/unit/provider/service/upstart_spec.rb +0 -0
- data/spec/unit/provider/service/windows_spec.rb +0 -0
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -0
- data/spec/unit/provider/sshkey/parsed_spec.rb +0 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +0 -0
- data/spec/unit/provider/user/hpux_spec.rb +0 -0
- data/spec/unit/provider/user/ldap_spec.rb +0 -0
- data/spec/unit/provider/user/openbsd_spec.rb +0 -0
- data/spec/unit/provider/user/pw_spec.rb +0 -0
- data/spec/unit/provider/user/user_role_add_spec.rb +0 -0
- data/spec/unit/provider/user/useradd_spec.rb +0 -0
- data/spec/unit/provider/user/windows_adsi_spec.rb +0 -0
- data/spec/unit/provider/vlan/cisco_spec.rb +0 -0
- data/spec/unit/provider/zfs/zfs_spec.rb +0 -0
- data/spec/unit/provider/zone/solaris_spec.rb +0 -0
- data/spec/unit/provider/zpool/zpool_spec.rb +0 -0
- data/spec/unit/provider_spec.rb +0 -0
- data/spec/unit/puppet_spec.rb +0 -0
- data/spec/unit/relationship_spec.rb +0 -0
- data/spec/unit/reports/http_spec.rb +0 -0
- data/spec/unit/reports/store_spec.rb +0 -0
- data/spec/unit/reports_spec.rb +0 -0
- data/spec/unit/resource/catalog_spec.rb +0 -0
- data/spec/unit/resource/status_spec.rb +0 -0
- data/spec/unit/resource/type_collection_helper_spec.rb +0 -0
- data/spec/unit/resource/type_collection_spec.rb +0 -0
- data/spec/unit/resource/type_spec.rb +0 -0
- data/spec/unit/resource_spec.rb +0 -0
- data/spec/unit/settings/directory_setting_spec.rb +0 -0
- data/spec/unit/settings/duration_setting_spec.rb +0 -0
- data/spec/unit/settings/file_setting_spec.rb +0 -0
- data/spec/unit/settings/path_setting_spec.rb +0 -0
- data/spec/unit/settings/priority_setting_spec.rb +0 -0
- data/spec/unit/settings_spec.rb +1 -1
- data/spec/unit/ssl/base_spec.rb +0 -0
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +0 -0
- data/spec/unit/ssl/certificate_authority_spec.rb +0 -0
- data/spec/unit/ssl/certificate_factory_spec.rb +0 -0
- data/spec/unit/ssl/certificate_request_spec.rb +0 -0
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +0 -0
- data/spec/unit/ssl/certificate_spec.rb +0 -0
- data/spec/unit/ssl/configuration_spec.rb +0 -0
- data/spec/unit/ssl/host_spec.rb +0 -0
- data/spec/unit/ssl/inventory_spec.rb +0 -0
- data/spec/unit/ssl/key_spec.rb +0 -0
- data/spec/unit/status_spec.rb +0 -0
- data/spec/unit/transaction/event_manager_spec.rb +0 -0
- data/spec/unit/transaction/event_spec.rb +0 -0
- data/spec/unit/transaction/report_spec.rb +0 -0
- data/spec/unit/transaction/resource_harness_spec.rb +0 -0
- data/spec/unit/transaction_spec.rb +0 -0
- data/spec/unit/type/augeas_spec.rb +0 -0
- data/spec/unit/type/component_spec.rb +0 -0
- data/spec/unit/type/computer_spec.rb +0 -0
- data/spec/unit/type/cron_spec.rb +0 -0
- data/spec/unit/type/exec_spec.rb +0 -0
- data/spec/unit/type/file/checksum_spec.rb +0 -0
- data/spec/unit/type/file/checksum_value_spec.rb +0 -0
- data/spec/unit/type/file/content_spec.rb +0 -0
- data/spec/unit/type/file/ctime_spec.rb +0 -0
- data/spec/unit/type/file/ensure_spec.rb +0 -0
- data/spec/unit/type/file/group_spec.rb +0 -0
- data/spec/unit/type/file/mode_spec.rb +0 -0
- data/spec/unit/type/file/mtime_spec.rb +0 -0
- data/spec/unit/type/file/owner_spec.rb +0 -0
- data/spec/unit/type/file/selinux_spec.rb +0 -0
- data/spec/unit/type/file/source_spec.rb +0 -0
- data/spec/unit/type/file/type_spec.rb +0 -0
- data/spec/unit/type/file_spec.rb +0 -0
- data/spec/unit/type/filebucket_spec.rb +0 -0
- data/spec/unit/type/group_spec.rb +0 -0
- data/spec/unit/type/host_spec.rb +0 -0
- data/spec/unit/type/interface_spec.rb +0 -0
- data/spec/unit/type/k5login_spec.rb +0 -0
- data/spec/unit/type/macauthorization_spec.rb +0 -0
- data/spec/unit/type/mailalias_spec.rb +0 -0
- data/spec/unit/type/maillist_spec.rb +0 -0
- data/spec/unit/type/mcx_spec.rb +0 -0
- data/spec/unit/type/mount_spec.rb +0 -0
- data/spec/unit/type/nagios_spec.rb +0 -0
- data/spec/unit/type/noop_metaparam_spec.rb +0 -0
- data/spec/unit/type/package/package_settings_spec.rb +0 -0
- data/spec/unit/type/package_spec.rb +0 -0
- data/spec/unit/type/resources_spec.rb +0 -0
- data/spec/unit/type/schedule_spec.rb +0 -0
- data/spec/unit/type/selboolean_spec.rb +0 -0
- data/spec/unit/type/selmodule_spec.rb +0 -0
- data/spec/unit/type/service_spec.rb +0 -0
- data/spec/unit/type/ssh_authorized_key_spec.rb +0 -0
- data/spec/unit/type/sshkey_spec.rb +0 -0
- data/spec/unit/type/stage_spec.rb +0 -0
- data/spec/unit/type/tidy_spec.rb +0 -0
- data/spec/unit/type/user_spec.rb +0 -0
- data/spec/unit/type/vlan_spec.rb +0 -0
- data/spec/unit/type/whit_spec.rb +0 -0
- data/spec/unit/type/yumrepo_spec.rb +0 -0
- data/spec/unit/type/zfs_spec.rb +0 -0
- data/spec/unit/type/zone_spec.rb +0 -0
- data/spec/unit/type/zpool_spec.rb +0 -0
- data/spec/unit/type_spec.rb +0 -0
- data/spec/unit/util/autoload_spec.rb +0 -0
- data/spec/unit/util/backups_spec.rb +0 -0
- data/spec/unit/util/checksums_spec.rb +0 -0
- data/spec/unit/util/colors_spec.rb +0 -0
- data/spec/unit/util/command_line_spec.rb +0 -0
- data/spec/unit/util/constant_inflector_spec.rb +0 -0
- data/spec/unit/util/diff_spec.rb +0 -0
- data/spec/unit/util/errors_spec.rb +0 -0
- data/spec/unit/util/execution_spec.rb +0 -0
- data/spec/unit/util/execution_stub_spec.rb +0 -0
- data/spec/unit/util/feature_spec.rb +0 -0
- data/spec/unit/util/filetype_spec.rb +0 -0
- data/spec/unit/util/ldap/connection_spec.rb +0 -0
- data/spec/unit/util/ldap/generator_spec.rb +0 -0
- data/spec/unit/util/ldap/manager_spec.rb +0 -0
- data/spec/unit/util/log/destinations_spec.rb +0 -0
- data/spec/unit/util/log_spec.rb +0 -0
- data/spec/unit/util/logging_spec.rb +0 -0
- data/spec/unit/util/metric_spec.rb +0 -0
- data/spec/unit/util/monkey_patches_spec.rb +19 -3
- data/spec/unit/util/nagios_maker_spec.rb +0 -0
- data/spec/unit/util/network_device/cisco/device_spec.rb +0 -0
- data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -0
- data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
- data/spec/unit/util/network_device/config_spec.rb +0 -0
- data/spec/unit/util/network_device/ipcalc_spec.rb +0 -0
- data/spec/unit/util/network_device/transport/base_spec.rb +0 -0
- data/spec/unit/util/network_device/transport/ssh_spec.rb +0 -0
- data/spec/unit/util/network_device/transport/telnet_spec.rb +0 -0
- data/spec/unit/util/package_spec.rb +0 -0
- data/spec/unit/util/posix_spec.rb +0 -0
- data/spec/unit/util/rdoc_spec.rb +0 -0
- data/spec/unit/util/resource_template_spec.rb +0 -0
- data/spec/unit/util/retry_action_spec.rb +0 -0
- data/spec/unit/util/run_mode_spec.rb +0 -0
- data/spec/unit/util/selinux_spec.rb +0 -0
- data/spec/unit/util/storage_spec.rb +0 -0
- data/spec/unit/util/suidmanager_spec.rb +0 -0
- data/spec/unit/util/symbolic_file_mode_spec.rb +0 -0
- data/spec/unit/util/tagging_spec.rb +0 -0
- data/spec/unit/util/user_attr_spec.rb +0 -0
- data/spec/unit/util/warnings_spec.rb +0 -0
- data/spec/unit/util/windows/adsi_spec.rb +0 -0
- data/spec/unit/util/windows/file_spec.rb +34 -0
- data/spec/unit/util/windows/root_certs_spec.rb +0 -0
- data/spec/unit/util/windows/sid_spec.rb +0 -0
- data/spec/unit/util_spec.rb +0 -0
- data/spec/watchr.rb +0 -0
- metadata +3374 -3358
- checksums.yaml +0 -7
@@ -127,22 +127,17 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
127
127
|
expect(lambda { handler.uri2indirection("UPDATE", "#{master_url_prefix}/node/bar", params) }).to raise_error(ArgumentError)
|
128
128
|
end
|
129
129
|
|
130
|
-
it "should URI unescape the indirection key" do
|
130
|
+
it "should not URI unescape the indirection key" do
|
131
131
|
escaped = URI.escape("foo bar")
|
132
|
-
indirection,
|
133
|
-
expect(key).to eq(
|
132
|
+
indirection, _, key, _ = handler.uri2indirection("GET", "#{master_url_prefix}/node/#{escaped}", params)
|
133
|
+
expect(key).to eq(escaped)
|
134
134
|
end
|
135
135
|
|
136
|
-
it "should
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
is_a(Puppet::Node::Environment)),
|
142
|
-
has_entry(:environment,
|
143
|
-
responds_with(:name,
|
144
|
-
:env))))
|
145
|
-
handler.uri2indirection("GET", "#{master_url_prefix}/node/bar", params)
|
136
|
+
it "should not unescape the URI passed through in a call to check_authorization" do
|
137
|
+
key_escaped = URI.escape("foo bar")
|
138
|
+
uri_escaped = "#{master_url_prefix}/node/#{key_escaped}"
|
139
|
+
handler.expects(:check_authorization).with(anything, uri_escaped, anything)
|
140
|
+
indirection, _, _, _ = handler.uri2indirection("GET", uri_escaped, params)
|
146
141
|
end
|
147
142
|
|
148
143
|
it "should not pass through an environment to check_authorization and fail if the environment is unknown" do
|
@@ -153,6 +148,19 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
153
148
|
"#{master_url_prefix}/node/bar",
|
154
149
|
{:environment => 'bogus'}) }).to raise_error(ArgumentError)
|
155
150
|
end
|
151
|
+
|
152
|
+
it "should not URI unescape the indirection key as passed through to a call to check_authorization" do
|
153
|
+
handler.expects(:check_authorization).with(anything,
|
154
|
+
anything,
|
155
|
+
all_of(
|
156
|
+
has_entry(:environment,
|
157
|
+
is_a(Puppet::Node::Environment)),
|
158
|
+
has_entry(:environment,
|
159
|
+
responds_with(:name,
|
160
|
+
:env))))
|
161
|
+
handler.uri2indirection("GET", "#{master_url_prefix}/node/bar", params)
|
162
|
+
end
|
163
|
+
|
156
164
|
end
|
157
165
|
|
158
166
|
describe "when converting a request into a URI" do
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -65,6 +65,13 @@ describe "Puppet::Network::HTTP::RackREST", :if => Puppet.features.rack? do
|
|
65
65
|
expect(@handler.path(req)).to eq("/foo/bar")
|
66
66
|
end
|
67
67
|
|
68
|
+
it "should return the unescaped path for an escaped request path" do
|
69
|
+
unescaped_path = '/foo/bar baz'
|
70
|
+
escaped_path = URI.escape(unescaped_path)
|
71
|
+
req = mk_req(escaped_path)
|
72
|
+
expect(@handler.path(req)).to eq(unescaped_path)
|
73
|
+
end
|
74
|
+
|
68
75
|
it "should return the request body as the body" do
|
69
76
|
req = mk_req('/foo/bar', :input => 'mybody')
|
70
77
|
expect(@handler.body(req)).to eq("mybody")
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/unit/node_spec.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/unit/parameter_spec.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -107,7 +107,7 @@ describe 'loaders' do
|
|
107
107
|
end
|
108
108
|
|
109
109
|
it 'loader allows loading a function more than once' do
|
110
|
-
File.stubs(:read).with(user_metadata_path).returns ''
|
110
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns ''
|
111
111
|
|
112
112
|
env = environment_for(File.join(dependent_modules_with_metadata, 'modules'))
|
113
113
|
loaders = Puppet::Pops::Loaders.new(env)
|
@@ -166,7 +166,7 @@ describe 'loaders' do
|
|
166
166
|
end
|
167
167
|
|
168
168
|
it 'all dependent modules are visible' do
|
169
|
-
File.stubs(:read).with(user_metadata_path).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'}, { 'name' => 'test-usee2'} ]).to_pson
|
169
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'}, { 'name' => 'test-usee2'} ]).to_pson
|
170
170
|
loaders = Puppet::Pops::Loaders.new(env)
|
171
171
|
|
172
172
|
moduleb_loader = loaders.private_loader_for_module('user')
|
@@ -183,7 +183,7 @@ describe 'loaders' do
|
|
183
183
|
{:from => from, :called => 'a ruby function', :expects => "I'm the function usee::usee_ruby()"} ].each_with_index do |desc, called_idx|
|
184
184
|
case_number = from_idx * 3 + called_idx + 1
|
185
185
|
it "can call #{desc[:called]} from #{desc[:from]} when dependency is present in metadata.json" do
|
186
|
-
File.stubs(:read).with(user_metadata_path).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
186
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
187
187
|
Puppet[:code] = "$case_number = #{case_number}\ninclude ::user"
|
188
188
|
catalog = compiler.compile
|
189
189
|
resource = catalog.resource('Notify', "case_#{case_number}")
|
@@ -201,7 +201,7 @@ describe 'loaders' do
|
|
201
201
|
end
|
202
202
|
|
203
203
|
it 'can not call ruby function in a dependent module from outside a function if dependency is missing in existing metadata.json' do
|
204
|
-
File.stubs(:read).with(user_metadata_path).returns user_metadata.merge('dependencies' => []).to_pson
|
204
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns user_metadata.merge('dependencies' => []).to_pson
|
205
205
|
Puppet[:code] = "$case_number = #{case_number}\ninclude ::user"
|
206
206
|
expect { catalog = compiler.compile }.to raise_error(Puppet::Error, /Unknown function/)
|
207
207
|
end
|
@@ -209,7 +209,7 @@ describe 'loaders' do
|
|
209
209
|
end
|
210
210
|
|
211
211
|
it "a type can reference an autoloaded type alias from another module when dependency is present in metadata.json" do
|
212
|
-
File.stubs(:read).with(user_metadata_path).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
212
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
213
213
|
expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
|
214
214
|
assert_type(Usee::Zero, 0)
|
215
215
|
notice(ok)
|
@@ -225,7 +225,7 @@ describe 'loaders' do
|
|
225
225
|
end
|
226
226
|
|
227
227
|
it "a type can reference a type alias from another module when other module has it declared in init.pp" do
|
228
|
-
File.stubs(:read).with(user_metadata_path).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
228
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
229
229
|
expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
|
230
230
|
include 'usee'
|
231
231
|
assert_type(Usee::One, 1)
|
@@ -234,7 +234,7 @@ describe 'loaders' do
|
|
234
234
|
end
|
235
235
|
|
236
236
|
it "an autoloaded type can reference an autoloaded type alias from another module when dependency is present in metadata.json" do
|
237
|
-
File.stubs(:read).with(user_metadata_path).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
237
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
238
238
|
expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
|
239
239
|
assert_type(User::WithUseeZero, [0])
|
240
240
|
notice(ok)
|
@@ -242,7 +242,7 @@ describe 'loaders' do
|
|
242
242
|
end
|
243
243
|
|
244
244
|
it "an autoloaded type can reference an autoloaded type alias from another module when other module has it declared in init.pp" do
|
245
|
-
File.stubs(:read).with(user_metadata_path).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
245
|
+
File.stubs(:read).with(user_metadata_path, {:encoding => 'utf-8'}).returns user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson
|
246
246
|
expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
|
247
247
|
include 'usee'
|
248
248
|
assert_type(User::WithUseeOne, [1])
|
@@ -8,19 +8,19 @@ describe 'the type asserter' do
|
|
8
8
|
context 'when deferring formatting of subject'
|
9
9
|
it 'can use an array' do
|
10
10
|
expect{ asserter.assert_instance_of(['The %s in the %s', 'gizmo', 'gadget'], PIntegerType::DEFAULT, 'lens') }.to(
|
11
|
-
raise_error(TypeAssertionError, 'The gizmo in the gadget
|
11
|
+
raise_error(TypeAssertionError, 'The gizmo in the gadget had wrong type, expected an Integer value, got String'))
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'can use an array obtained from block' do
|
15
15
|
expect do
|
16
16
|
asserter.assert_instance_of('gizmo', PIntegerType::DEFAULT, 'lens') { |s| ['The %s in the %s', s, 'gadget'] }
|
17
|
-
end.to(raise_error(TypeAssertionError, 'The gizmo in the gadget
|
17
|
+
end.to(raise_error(TypeAssertionError, 'The gizmo in the gadget had wrong type, expected an Integer value, got String'))
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'can use an subject obtained from zero argument block' do
|
21
21
|
expect do
|
22
22
|
asserter.assert_instance_of(nil, PIntegerType::DEFAULT, 'lens') { 'The gizmo in the gadget' }
|
23
|
-
end.to(raise_error(TypeAssertionError, 'The gizmo in the gadget
|
23
|
+
end.to(raise_error(TypeAssertionError, 'The gizmo in the gadget had wrong type, expected an Integer value, got String'))
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'does not produce a string unless the assertion fails' do
|
@@ -833,6 +833,12 @@ describe 'The type calculator' do
|
|
833
833
|
tested_types.each {|t2| expect(t).not_to be_assignable_to(t2::DEFAULT) }
|
834
834
|
end
|
835
835
|
|
836
|
+
it 'A tuple with parameters is assignable to the default Tuple' do
|
837
|
+
t = Puppet::Pops::Types::PTupleType::DEFAULT
|
838
|
+
t2 = Puppet::Pops::Types::PTupleType.new([Puppet::Pops::Types::PStringType::DEFAULT])
|
839
|
+
expect(t2).to be_assignable_to(t)
|
840
|
+
end
|
841
|
+
|
836
842
|
it 'Tuple is not assignable to any disjunct type' do
|
837
843
|
tested_types = all_types - [
|
838
844
|
Puppet::Pops::Types::PAnyType,
|
@@ -894,6 +900,18 @@ describe 'The type calculator' do
|
|
894
900
|
t2 = struct_t({not_undef_t('other_member') => string_t})
|
895
901
|
expect(t2).not_to be_assignable_to(t1)
|
896
902
|
end
|
903
|
+
|
904
|
+
it 'A hash of string is not assignable to struct with integer value' do
|
905
|
+
t1 = struct_t({'foo' => integer_t, 'bar' => string_t})
|
906
|
+
t2 = hash_t(string_t, string_t, range_t(2, 2))
|
907
|
+
expect(t1.assignable?(t2)).to eql(false)
|
908
|
+
end
|
909
|
+
|
910
|
+
it 'A hash of with integer key is not assignable to struct with string key' do
|
911
|
+
t1 = struct_t({'foo' => string_t, 'bar' => string_t})
|
912
|
+
t2 = hash_t(integer_t, string_t, range_t(2, 2))
|
913
|
+
expect(t1.assignable?(t2)).to eql(false)
|
914
|
+
end
|
897
915
|
end
|
898
916
|
|
899
917
|
context 'for Callable, such that' do
|
@@ -906,6 +924,14 @@ describe 'The type calculator' do
|
|
906
924
|
Puppet::Pops::Types::PNotUndefType]
|
907
925
|
tested_types.each {|t2| expect(t).to_not be_assignable_to(t2::DEFAULT) }
|
908
926
|
end
|
927
|
+
|
928
|
+
it 'a callable with parameter is assignable to the default callable' do
|
929
|
+
expect(callable_t(string_t)).to be_assignable_to(Puppet::Pops::Types::PCallableType::DEFAULT)
|
930
|
+
end
|
931
|
+
|
932
|
+
it 'the default callable is not assignable to a callable with parameter' do
|
933
|
+
expect(Puppet::Pops::Types::PCallableType::DEFAULT).not_to be_assignable_to(callable_t(string_t))
|
934
|
+
end
|
909
935
|
end
|
910
936
|
|
911
937
|
it 'should recognize mapped ruby types' do
|
@@ -1091,11 +1117,11 @@ describe 'The type calculator' do
|
|
1091
1117
|
end
|
1092
1118
|
|
1093
1119
|
it 'accepts an empty tuple as assignable to a tuple with a min size of 0' do
|
1094
|
-
tuple1 = constrained_tuple_t(range_t(0, :default)
|
1095
|
-
tuple2 = tuple_t
|
1120
|
+
tuple1 = constrained_tuple_t(range_t(0, :default))
|
1121
|
+
tuple2 = tuple_t()
|
1096
1122
|
|
1097
1123
|
expect(calculator.assignable?(tuple1, tuple2)).to eq(true)
|
1098
|
-
expect(calculator.assignable?(tuple2, tuple1)).to eq(
|
1124
|
+
expect(calculator.assignable?(tuple2, tuple1)).to eq(true)
|
1099
1125
|
end
|
1100
1126
|
|
1101
1127
|
it 'should accept matching tuples' do
|
@@ -1157,7 +1183,7 @@ describe 'The type calculator' do
|
|
1157
1183
|
|
1158
1184
|
it 'should accept empty array when tuple allows min of 0' do
|
1159
1185
|
tuple1 = constrained_tuple_t(range_t(0, 1), Integer)
|
1160
|
-
array = array_t(
|
1186
|
+
array = array_t(unit_t, range_t(0, 0))
|
1161
1187
|
expect(calculator.assignable?(tuple1, array)).to eq(true)
|
1162
1188
|
expect(calculator.assignable?(array, tuple1)).to eq(false)
|
1163
1189
|
end
|
@@ -1210,9 +1236,9 @@ describe 'The type calculator' do
|
|
1210
1236
|
expect(calculator.assignable?(hsh, struct1)).to eq(true)
|
1211
1237
|
end
|
1212
1238
|
|
1213
|
-
it 'should accept empty hash with key_type
|
1239
|
+
it 'should accept empty hash with key_type unit' do
|
1214
1240
|
struct1 = struct_t({'a'=>optional_t(Integer)})
|
1215
|
-
hsh = hash_t(
|
1241
|
+
hsh = hash_t(unit_t, unit_t, range_t(0, 0))
|
1216
1242
|
expect(calculator.assignable?(struct1, hsh)).to eq(true)
|
1217
1243
|
end
|
1218
1244
|
end
|
@@ -175,6 +175,32 @@ describe 'The type factory' do
|
|
175
175
|
expect(t.size_type.to).to eq(2)
|
176
176
|
end
|
177
177
|
|
178
|
+
it 'it is illegal to create a typed empty array' do
|
179
|
+
expect {
|
180
|
+
Puppet::Pops::Types::TypeFactory.array_of(Puppet::Pops::Types::TypeFactory.data, Puppet::Pops::Types::TypeFactory.range(0,0))
|
181
|
+
}.to raise_error(/An empty collection may not specify an element type/)
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'it is legal to create an empty array of unit element type' do
|
185
|
+
t = Puppet::Pops::Types::TypeFactory.array_of(Puppet::Pops::Types::PUnitType::DEFAULT, Puppet::Pops::Types::TypeFactory.range(0,0))
|
186
|
+
expect(t.size_type.class).to eq(Puppet::Pops::Types::PIntegerType)
|
187
|
+
expect(t.size_type.from).to eq(0)
|
188
|
+
expect(t.size_type.to).to eq(0)
|
189
|
+
end
|
190
|
+
|
191
|
+
it 'it is illegal to create a typed empty hash' do
|
192
|
+
expect {
|
193
|
+
Puppet::Pops::Types::TypeFactory.hash_of(Puppet::Pops::Types::TypeFactory.scalar, Puppet::Pops::Types::TypeFactory.data, Puppet::Pops::Types::TypeFactory.range(0,0))
|
194
|
+
}.to raise_error(/An empty collection may not specify an element type/)
|
195
|
+
end
|
196
|
+
|
197
|
+
it 'it is legal to create an empty hash where key and value types are of Unit type' do
|
198
|
+
t = Puppet::Pops::Types::TypeFactory.hash_of(Puppet::Pops::Types::PUnitType::DEFAULT, Puppet::Pops::Types::PUnitType::DEFAULT, Puppet::Pops::Types::TypeFactory.range(0,0))
|
199
|
+
expect(t.size_type.class).to eq(Puppet::Pops::Types::PIntegerType)
|
200
|
+
expect(t.size_type.from).to eq(0)
|
201
|
+
expect(t.size_type.to).to eq(0)
|
202
|
+
end
|
203
|
+
|
178
204
|
context 'callable types' do
|
179
205
|
it 'the callable methods produces a Callable' do
|
180
206
|
t = Puppet::Pops::Types::TypeFactory.callable()
|
@@ -76,9 +76,14 @@ describe 'The type formatter' do
|
|
76
76
|
expect(s.string(f.array_of_data)).to eq('Array')
|
77
77
|
end
|
78
78
|
|
79
|
-
it "should yield 'Array[
|
79
|
+
it "should yield 'Array[0, 0]' for an empty array" do
|
80
80
|
t = f.array_of(PUnitType::DEFAULT, f.range(0,0))
|
81
|
-
expect(s.string(t)).to eq('Array[
|
81
|
+
expect(s.string(t)).to eq('Array[0, 0]')
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should yield 'Hash[0, 0]' for an empty hash" do
|
85
|
+
t = f.hash_of(PUnitType::DEFAULT, PUnitType::DEFAULT, f.range(0,0))
|
86
|
+
expect(s.string(t)).to eq('Hash[0, 0]')
|
82
87
|
end
|
83
88
|
|
84
89
|
it "should yield 'Collection' and from/to for PCollectionType" do
|
@@ -92,6 +92,31 @@ describe 'the type mismatch describer' do
|
|
92
92
|
/parameter 'evars' expects a match for EVariants = Enum\['a', 'b', 'c', 'd'\], got 'n'/))
|
93
93
|
end
|
94
94
|
|
95
|
+
context 'when reporting a mismatch between' do
|
96
|
+
let(:parser) { TypeParser.new }
|
97
|
+
let(:subject) { TypeMismatchDescriber.singleton }
|
98
|
+
|
99
|
+
context 'hash and struct' do
|
100
|
+
it 'reports a size mismatch when hash has unlimited size' do
|
101
|
+
expected = parser.parse('Struct[{a=>Integer,b=>Integer}]')
|
102
|
+
actual = parser.parse('Hash[String,Integer]')
|
103
|
+
expect(subject.describe_mismatch('', expected, actual)).to eq('expected size to be 2, got unlimited')
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'reports a size mismatch when hash has specified but incorrect size' do
|
107
|
+
expected = parser.parse('Struct[{a=>Integer,b=>Integer}]')
|
108
|
+
actual = parser.parse('Hash[String,Integer,1,1]')
|
109
|
+
expect(subject.describe_mismatch('', expected, actual)).to eq('expected size to be 2, got 1')
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'reports a full type mismatch when size is correct but hash value type is incorrect' do
|
113
|
+
expected = parser.parse('Struct[{a=>Integer,b=>String}]')
|
114
|
+
actual = parser.parse('Hash[String,Integer,2,2]')
|
115
|
+
expect(subject.describe_mismatch('', expected, actual)).to eq("expected a Struct[{'a' => Integer, 'b' => String}] value, got Hash[String, Integer]")
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
95
120
|
context 'when using present tense' do
|
96
121
|
let(:parser) { TypeParser.new }
|
97
122
|
let(:subject) { TypeMismatchDescriber.singleton }
|
@@ -243,7 +243,7 @@ describe Puppet::Pops::Types::TypeParser do
|
|
243
243
|
|
244
244
|
it 'parses a parameterized callable type with 0 min/max' do
|
245
245
|
t = parser.parse("Callable[0,0]")
|
246
|
-
expect(t).to be_the_type(types.callable())
|
246
|
+
expect(t).to be_the_type(types.callable(0,0))
|
247
247
|
expect(t.param_types.types).to be_empty
|
248
248
|
end
|
249
249
|
|