puppet 4.4.0 → 4.5.0
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.
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +2 -2
- data/LICENSE +2 -2
- data/README.md +5 -0
- data/conf/puppet.conf +1 -1
- data/ext/project_data.yaml +2 -0
- data/ext/redhat/puppet.spec.erb +0 -9
- data/ext/upload_facts.rb +1 -1
- data/lib/hiera_puppet.rb +6 -14
- data/lib/puppet/application/agent.rb +3 -4
- data/lib/puppet/application/apply.rb +1 -1
- data/lib/puppet/application/ca.rb +1 -0
- data/lib/puppet/application/cert.rb +1 -1
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/inspect.rb +2 -2
- data/lib/puppet/application/lookup.rb +8 -20
- data/lib/puppet/application/master.rb +1 -1
- data/lib/puppet/application/resource.rb +1 -5
- data/lib/puppet/data_providers/hiera_config.rb +2 -4
- data/lib/puppet/data_providers/hiera_interpolate.rb +12 -105
- data/lib/puppet/data_providers/json_data_provider_factory.rb +1 -8
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +2 -8
- data/lib/puppet/defaults.rb +104 -25
- data/lib/puppet/face/config.rb +1 -1
- data/lib/puppet/face/help/man.erb +1 -1
- 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/dig.rb +39 -0
- data/lib/puppet/functions/hiera_include.rb +2 -2
- data/lib/puppet/functions/inline_epp.rb +1 -1
- data/lib/puppet/functions/lest.rb +53 -0
- data/lib/puppet/functions/lookup.rb +40 -30
- data/lib/puppet/functions/new.rb +502 -0
- data/lib/puppet/functions/regsubst.rb +11 -10
- data/lib/puppet/functions/then.rb +74 -0
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/with.rb +1 -1
- data/lib/puppet/functions.rb +69 -0
- data/lib/puppet/indirector/catalog/compiler.rb +4 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/resource_type/parser.rb +5 -0
- data/lib/puppet/indirector/rest.rb +5 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/loaders.rb +2 -0
- data/lib/puppet/metatype/manager.rb +19 -2
- data/lib/puppet/module.rb +3 -3
- data/lib/puppet/module_tool/applications/application.rb +1 -1
- data/lib/puppet/module_tool/applications/builder.rb +2 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +6 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +19 -4
- data/lib/puppet/module_tool/skeleton/templates/generator/{tests → examples}/init.pp.erb +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -1
- 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/api/master/v3/environment.rb +6 -2
- data/lib/puppet/network/http/rack/rest.rb +10 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +20 -3
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +24 -2
- data/lib/puppet/parser/e4_parser_adapter.rb +13 -12
- data/lib/puppet/parser/environment_compiler.rb +2 -2
- data/lib/puppet/parser/functions/hiera_include.rb +2 -2
- data/lib/puppet/parser/functions/inline_epp.rb +1 -1
- data/lib/puppet/parser/functions/lookup.rb +0 -3
- data/lib/puppet/parser/resource.rb +14 -5
- data/lib/puppet/parser/scope.rb +18 -15
- data/lib/puppet/plugins/data_providers/data_provider.rb +19 -8
- data/lib/puppet/pops/adapters.rb +5 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +77 -15
- data/lib/puppet/pops/evaluator/closure.rb +10 -5
- data/lib/puppet/pops/evaluator/compare_operator.rb +34 -4
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +75 -22
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +7 -6
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +13 -1
- data/lib/puppet/pops/evaluator/runtime3_support.rb +14 -4
- data/lib/puppet/pops/functions/dispatcher.rb +1 -1
- data/lib/puppet/pops/issues.rb +18 -2
- data/lib/puppet/pops/loader/base_loader.rb +48 -7
- data/lib/puppet/pops/loader/dependency_loader.rb +27 -2
- data/lib/puppet/pops/loader/loader.rb +12 -0
- data/lib/puppet/pops/loader/predefined_loader.rb +29 -0
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +57 -0
- data/lib/puppet/pops/loader/static_loader.rb +92 -5
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +25 -3
- data/lib/puppet/pops/loaders.rb +84 -14
- data/lib/puppet/pops/lookup/explainer.rb +38 -1
- data/lib/puppet/pops/lookup/interpolation.rb +115 -0
- data/lib/puppet/pops/lookup/sub_lookup.rb +86 -0
- data/lib/puppet/pops/merge_strategy.rb +0 -10
- data/lib/puppet/pops/model/ast_transformer.rb +8 -1
- data/lib/puppet/pops/model/factory.rb +31 -8
- data/lib/puppet/pops/model/model.rb +8 -0
- data/lib/puppet/pops/model/model_label_provider.rb +1 -0
- data/lib/puppet/pops/model/model_meta.rb +7 -1
- data/lib/puppet/pops/model/model_tree_dumper.rb +4 -0
- data/lib/puppet/pops/parser/egrammar.ra +24 -7
- data/lib/puppet/pops/parser/eparser.rb +863 -798
- data/lib/puppet/pops/parser/evaluating_parser.rb +4 -0
- data/lib/puppet/pops/parser/locator.rb +8 -4
- data/lib/puppet/pops/pcore.rb +30 -0
- data/lib/puppet/pops/types/class_loader.rb +2 -4
- data/lib/puppet/pops/types/implementation_registry.rb +146 -0
- data/lib/puppet/pops/types/iterable.rb +4 -4
- data/lib/puppet/pops/types/p_object_type.rb +846 -0
- data/lib/puppet/pops/types/p_runtime_type.rb +102 -0
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +164 -0
- data/lib/puppet/pops/types/p_sem_ver_type.rb +113 -0
- data/lib/puppet/pops/types/puppet_object.rb +21 -0
- data/lib/puppet/pops/types/recursion_guard.rb +10 -0
- data/lib/puppet/pops/types/ruby_generator.rb +258 -0
- data/lib/puppet/pops/types/string_converter.rb +922 -0
- data/lib/puppet/pops/types/type_asserter.rb +2 -2
- data/lib/puppet/pops/types/type_calculator.rb +30 -6
- data/lib/puppet/pops/types/type_conversion_error.rb +15 -0
- data/lib/puppet/pops/types/type_factory.rb +49 -16
- data/lib/puppet/pops/types/type_formatter.rb +341 -106
- data/lib/puppet/pops/types/type_mismatch_describer.rb +132 -41
- data/lib/puppet/pops/types/type_parser.rb +205 -197
- data/lib/puppet/pops/types/types.rb +722 -202
- data/lib/puppet/pops/validation/checker4_0.rb +66 -4
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/pops/validation.rb +1 -1
- data/lib/puppet/pops/visitor.rb +3 -1
- data/lib/puppet/pops.rb +6 -0
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/provider/augeas/augeas.rb +1 -1
- data/lib/puppet/provider/package/pip.rb +64 -20
- data/lib/puppet/provider/package/pip3.rb +2 -0
- data/lib/puppet/provider/package/puppet_gem.rb +0 -0
- data/lib/puppet/provider/package/rpm.rb +112 -0
- data/lib/puppet/provider/package/yum.rb +7 -68
- data/lib/puppet/provider/service/daemontools.rb +3 -3
- data/lib/puppet/provider/service/init.rb +4 -2
- data/lib/puppet/provider/service/runit.rb +3 -3
- data/lib/puppet/provider/service/smf.rb +6 -3
- data/lib/puppet/provider/service/systemd.rb +59 -73
- data/lib/puppet/provider/user/user_role_add.rb +3 -1
- data/lib/puppet/reference/providers.rb +2 -3
- data/lib/puppet/resource/catalog.rb +34 -30
- data/lib/puppet/resource/type_collection.rb +23 -8
- data/lib/puppet/resource.rb +54 -37
- data/lib/puppet/settings/base_setting.rb +9 -3
- data/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
- data/lib/puppet/settings.rb +5 -3
- data/lib/puppet/ssl/oids.rb +24 -2
- data/lib/puppet/test/test_helper.rb +0 -1
- data/lib/puppet/transaction.rb +0 -24
- data/lib/puppet/type/exec.rb +17 -17
- data/lib/puppet/type/file/content.rb +8 -8
- data/lib/puppet/type/file/ensure.rb +4 -4
- data/lib/puppet/type/file/source.rb +4 -4
- data/lib/puppet/type/file/target.rb +2 -2
- data/lib/puppet/type/file.rb +15 -5
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/mount.rb +18 -1
- data/lib/puppet/type/package.rb +3 -3
- data/lib/puppet/type/schedule.rb +5 -5
- data/lib/puppet/type/service.rb +15 -0
- data/lib/puppet/type/sshkey.rb +5 -3
- data/lib/puppet/type/stage.rb +1 -1
- data/lib/puppet/type/tidy.rb +3 -3
- data/lib/puppet/type/zone.rb +5 -5
- data/lib/puppet/type.rb +13 -7
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/monkey_patches.rb +18 -5
- data/lib/puppet/util/network_device/cisco/device.rb +16 -6
- data/lib/puppet/util/network_device/cisco/interface.rb +5 -6
- data/lib/puppet/util/plist.rb +3 -3
- 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/application/environments/production/data/common.yaml +13 -0
- 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/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +2 -1
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +2 -1
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json +1 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml +5 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp +2 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml +1 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml +5 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp +2 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/data/empty.yaml +1 -0
- data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +5 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -0
- data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/fixtures/unit/provider/service/smf/svcs.out +4 -3
- 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 -34
- 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/module_tool/tar/mini_spec.rb +27 -27
- 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/catalog_spec.rb +14 -2
- data/spec/integration/parser/collection_spec.rb +0 -0
- data/spec/integration/parser/compiler_spec.rb +94 -3
- data/spec/integration/parser/functions/require_spec.rb +0 -0
- data/spec/integration/parser/parameter_defaults_spec.rb +19 -1
- data/spec/integration/parser/resource_expressions_spec.rb +1 -1
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
- data/spec/integration/provider/mount_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 +8 -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/compiler.rb +11 -4
- 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/shared_contexts/types_setup.rb +4 -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 +19 -8
- data/spec/unit/application/lookup_spec.rb +92 -10
- 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/appmgmt_spec.rb +44 -35
- data/spec/unit/capability_spec.rb +33 -53
- 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/function_data_provider_spec.rb +19 -1
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +2 -2
- data/spec/unit/defaults_spec.rb +18 -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/dig_spec.rb +58 -0
- data/spec/unit/functions/hiera_spec.rb +0 -0
- data/spec/unit/functions/lest_spec.rb +34 -0
- data/spec/unit/functions/lookup_spec.rb +109 -3
- data/spec/unit/functions/new_spec.rb +543 -0
- data/spec/unit/functions/regsubst_spec.rb +8 -0
- data/spec/unit/functions/split_spec.rb +0 -0
- data/spec/unit/functions/then_spec.rb +40 -0
- data/spec/unit/functions/versioncmp_spec.rb +0 -0
- data/spec/unit/functions4_spec.rb +78 -10
- data/spec/unit/graph/relationship_graph_spec.rb +0 -0
- data/spec/unit/graph/simple_graph_spec.rb +0 -0
- data/spec/unit/hiera_puppet_spec.rb +49 -8
- 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 +5 -0
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -0
- data/spec/unit/indirector/rest_spec.rb +12 -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/environment_spec.rb +60 -0
- 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 +10 -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 +20 -1
- data/spec/unit/parser/files_spec.rb +0 -0
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -2
- 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/shared.rb +1 -1
- 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 +8 -1
- data/spec/unit/parser/scope_spec.rb +45 -0
- data/spec/unit/parser/templatewrapper_spec.rb +0 -0
- data/spec/unit/parser/type_loader_spec.rb +0 -0
- data/spec/unit/pops/evaluator/access_ops_spec.rb +14 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +13 -5
- data/spec/unit/pops/loaders/loaders_spec.rb +8 -8
- data/spec/unit/pops/loaders/static_loader_spec.rb +92 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +313 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +2 -9
- data/spec/unit/pops/parser/parse_application_spec.rb +3 -8
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +19 -0
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +3 -10
- data/spec/unit/pops/parser/parse_site_spec.rb +19 -10
- data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -4
- data/spec/unit/pops/types/enumeration_spec.rb +13 -12
- data/spec/unit/pops/types/iterable_spec.rb +2 -2
- data/spec/unit/pops/types/p_object_type_spec.rb +1060 -0
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +285 -0
- data/spec/unit/pops/types/recursion_guard_spec.rb +19 -17
- data/spec/unit/pops/types/ruby_generator_spec.rb +261 -0
- data/spec/unit/pops/types/string_converter_spec.rb +904 -0
- data/spec/unit/pops/types/type_asserter_spec.rb +3 -3
- data/spec/unit/pops/types/type_calculator_spec.rb +462 -412
- data/spec/unit/pops/types/type_factory_spec.rb +129 -88
- data/spec/unit/pops/types/type_formatter_spec.rb +80 -8
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +27 -2
- data/spec/unit/pops/types/type_parser_spec.rb +55 -16
- data/spec/unit/pops/types/types_spec.rb +320 -0
- data/spec/unit/pops/validator/validator_spec.rb +84 -10
- 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 +9 -262
- data/spec/unit/provider/package/pip_spec.rb +85 -22
- 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 +160 -3
- 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 +23 -134
- 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 +14 -2
- data/spec/unit/provider/service/src_spec.rb +0 -0
- data/spec/unit/provider/service/systemd_spec.rb +34 -42
- 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/capability_finder_spec.rb +10 -2
- data/spec/unit/resource/catalog_spec.rb +27 -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 +6 -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/additional_resource_generator_spec.rb +80 -65
- 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 +51 -10
- 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 +16 -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 +14 -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 +1 -1
- 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 +79 -3
- data/spec/unit/util/nagios_maker_spec.rb +0 -0
- data/spec/unit/util/network_device/cisco/device_spec.rb +1 -1
- 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 +3402 -3337
- checksums.yaml +0 -7
- data/ext/puppet-nm-dispatcher +0 -13
- data/lib/puppet/pops/types/types_meta.rb +0 -0
- data/spec/integration/provider/package_spec.rb +0 -35
- data/spec/unit/data_providers/hiera_interpolation_spec.rb +0 -57
data/spec/unit/appmgmt_spec.rb
CHANGED
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
#! /usr/bin/env ruby
|
|
2
2
|
require 'spec_helper'
|
|
3
3
|
require 'puppet_spec/compiler'
|
|
4
|
-
require_relative 'pops/parser/parser_rspec_helper'
|
|
5
4
|
require 'puppet/parser/environment_compiler'
|
|
6
5
|
|
|
7
6
|
describe "Application instantiation" do
|
|
8
7
|
include PuppetSpec::Compiler
|
|
9
|
-
# We pull this in because we need access to with_app_management; and
|
|
10
|
-
# since that has to root around in the guts of the Pops parser, there's
|
|
11
|
-
# no really elegant way to do this
|
|
12
|
-
include ParserRspecHelper
|
|
13
8
|
|
|
14
|
-
|
|
9
|
+
let(:env) { Puppet::Node::Environment.create(:testing, []) }
|
|
10
|
+
let(:node) { Puppet::Node.new('test', :environment => env) }
|
|
11
|
+
let(:loaders) { Puppet::Pops::Loaders.new(env) }
|
|
12
|
+
|
|
13
|
+
def compile_to_env_catalog(string, code_id=nil)
|
|
15
14
|
Puppet[:code] = string
|
|
16
|
-
|
|
17
|
-
Puppet::Parser::EnvironmentCompiler.compile(env).filter { |r| r.virtual? }
|
|
15
|
+
Puppet::Parser::EnvironmentCompiler.compile(env, code_id).filter { |r| r.virtual? }
|
|
18
16
|
end
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Puppet::
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
around :each do |example|
|
|
19
|
+
Puppet[:app_management] = true
|
|
20
|
+
Puppet::Parser::Compiler.any_instance.stubs(:loaders).returns(loaders)
|
|
21
|
+
Puppet::Parser::EnvironmentCompiler.any_instance.stubs(:loaders).returns(loaders)
|
|
22
|
+
Puppet.override(:loaders => loaders, :current_environment => env) do
|
|
23
|
+
Puppet::Type.newtype :cap, :is_capability => true do
|
|
24
|
+
newparam :name
|
|
25
|
+
newparam :host
|
|
26
|
+
end
|
|
27
|
+
example.run
|
|
28
|
+
Puppet::Type.rmtype(:cap)
|
|
26
29
|
end
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
after :each do
|
|
30
|
-
Puppet::Type.rmtype(:cap)
|
|
31
|
-
with_app_management(false)
|
|
30
|
+
Puppet[:app_management] = false
|
|
32
31
|
end
|
|
33
32
|
|
|
34
33
|
MANIFEST = <<-EOS
|
|
@@ -318,29 +317,29 @@ MANIFEST_WITH_CLASS = <<-EOS
|
|
|
318
317
|
EOS
|
|
319
318
|
|
|
320
319
|
|
|
321
|
-
|
|
320
|
+
context 'a node catalog' do
|
|
322
321
|
it "is unaffected for a non-participating node" do
|
|
323
|
-
catalog = compile_to_catalog(MANIFEST, Puppet::Node.new('other'))
|
|
322
|
+
catalog = compile_to_catalog(MANIFEST, Puppet::Node.new('other', :environment => env))
|
|
324
323
|
types = catalog.resource_keys.map { |type, _| type }.uniq.sort
|
|
325
324
|
expect(types).to eq(["Class", "Stage"])
|
|
326
325
|
end
|
|
327
326
|
|
|
328
327
|
it "an application instance must be contained in a site" do
|
|
329
|
-
expect { compile_to_catalog(FAULTY_MANIFEST, Puppet::Node.new('first'))
|
|
328
|
+
expect { compile_to_catalog(FAULTY_MANIFEST, Puppet::Node.new('first', :environment => env))
|
|
330
329
|
}.to raise_error(/Application instances .* can only be contained within a Site/)
|
|
331
330
|
end
|
|
332
331
|
|
|
333
332
|
it "does not raise an error when node mappings are not provided" do
|
|
334
|
-
expect { compile_to_catalog(MANIFEST_WO_NODE) }.to_not raise_error
|
|
333
|
+
expect { compile_to_catalog(MANIFEST_WO_NODE, node) }.to_not raise_error
|
|
335
334
|
end
|
|
336
335
|
|
|
337
336
|
it "raises an error if node mapping is a string" do
|
|
338
|
-
expect { compile_to_catalog(MANIFEST_WITH_STRING_NODES)
|
|
337
|
+
expect { compile_to_catalog(MANIFEST_WITH_STRING_NODES, node)
|
|
339
338
|
}.to raise_error(/Invalid node mapping in .*: Mapping must be a hash/)
|
|
340
339
|
end
|
|
341
340
|
|
|
342
341
|
it "raises an error if node mapping is false" do
|
|
343
|
-
expect { compile_to_catalog(MANIFEST_WITH_FALSE_NODES)
|
|
342
|
+
expect { compile_to_catalog(MANIFEST_WITH_FALSE_NODES, node)
|
|
344
343
|
}.to raise_error(/Invalid node mapping in .*: Mapping must be a hash/)
|
|
345
344
|
end
|
|
346
345
|
|
|
@@ -360,7 +359,7 @@ EOS
|
|
|
360
359
|
end
|
|
361
360
|
|
|
362
361
|
context "for producing node" do
|
|
363
|
-
let(:compiled_node) { Puppet::Node.new('first') }
|
|
362
|
+
let(:compiled_node) { Puppet::Node.new('first', :environment => env) }
|
|
364
363
|
let(:compiled_catalog) { compile_to_catalog(MANIFEST, compiled_node)}
|
|
365
364
|
|
|
366
365
|
{ "App[anapp]" => 'application instance',
|
|
@@ -379,7 +378,7 @@ EOS
|
|
|
379
378
|
end
|
|
380
379
|
|
|
381
380
|
context "for consuming node" do
|
|
382
|
-
let(:compiled_node) { Puppet::Node.new('second') }
|
|
381
|
+
let(:compiled_node) { Puppet::Node.new('second', :environment => env) }
|
|
383
382
|
let(:compiled_catalog) { compile_to_catalog(MANIFEST, compiled_node)}
|
|
384
383
|
let(:cap) {
|
|
385
384
|
the_cap = Puppet::Resource.new("Cap", "cap")
|
|
@@ -407,7 +406,7 @@ EOS
|
|
|
407
406
|
end
|
|
408
407
|
|
|
409
408
|
context "for node with class producer" do
|
|
410
|
-
let(:compiled_node) { Puppet::Node.new('first') }
|
|
409
|
+
let(:compiled_node) { Puppet::Node.new('first', :environment => env) }
|
|
411
410
|
let(:compiled_catalog) { compile_to_catalog(MANIFEST_WITH_CLASS, compiled_node)}
|
|
412
411
|
|
|
413
412
|
{ "App[anapp]" => 'application instance',
|
|
@@ -427,7 +426,7 @@ EOS
|
|
|
427
426
|
end
|
|
428
427
|
|
|
429
428
|
context "for node with class consumer" do
|
|
430
|
-
let(:compiled_node) { Puppet::Node.new('second') }
|
|
429
|
+
let(:compiled_node) { Puppet::Node.new('second', :environment => env) }
|
|
431
430
|
let(:compiled_catalog) { compile_to_catalog(MANIFEST_WITH_CLASS, compiled_node)}
|
|
432
431
|
let(:cap) {
|
|
433
432
|
the_cap = Puppet::Resource.new("Cap", "cap")
|
|
@@ -460,7 +459,7 @@ EOS
|
|
|
460
459
|
# that are used to instantiate an application. The application instances are needed.
|
|
461
460
|
#
|
|
462
461
|
it "the node expressions is evaluated" do
|
|
463
|
-
catalog = compile_to_catalog(MANIFEST_WITH_SITE, Puppet::Node.new('other'))
|
|
462
|
+
catalog = compile_to_catalog(MANIFEST_WITH_SITE, Puppet::Node.new('other', :environment => env))
|
|
464
463
|
types = catalog.resource_keys.map { |type, _| type }.uniq.sort
|
|
465
464
|
expect(types).to eq(["Class", "Node", "Notify", "Stage"])
|
|
466
465
|
expect(catalog.resource("Notify[on a node]")).to_not be_nil
|
|
@@ -471,7 +470,7 @@ EOS
|
|
|
471
470
|
|
|
472
471
|
context "when using a site expression" do
|
|
473
472
|
it "the site expression is not evaluated in a node compilation" do
|
|
474
|
-
catalog = compile_to_catalog(MANIFEST_WITH_SITE, Puppet::Node.new('other'))
|
|
473
|
+
catalog = compile_to_catalog(MANIFEST_WITH_SITE, Puppet::Node.new('other', :environment => env))
|
|
475
474
|
types = catalog.resource_keys.map { |type, _| type }.uniq.sort
|
|
476
475
|
expect(types).to eq(["Class", "Node", "Notify", "Stage"])
|
|
477
476
|
expect(catalog.resource("Notify[on a node]")).to_not be_nil
|
|
@@ -574,12 +573,22 @@ EOS
|
|
|
574
573
|
}.to raise_error(/Only application components can appear inside a site - Notify\[fail me\] is not allowed at line 20/)
|
|
575
574
|
end
|
|
576
575
|
end
|
|
576
|
+
|
|
577
|
+
it "includes code_id if specified" do
|
|
578
|
+
catalog = compile_to_env_catalog(MANIFEST_WITH_SITE, "12345")
|
|
579
|
+
expect(catalog.code_id).to eq("12345")
|
|
580
|
+
end
|
|
581
|
+
|
|
582
|
+
it "omits code_id if unspecified" do
|
|
583
|
+
catalog = compile_to_env_catalog(MANIFEST_WITH_SITE)
|
|
584
|
+
expect(catalog.code_id).to be_nil
|
|
585
|
+
end
|
|
577
586
|
end
|
|
578
587
|
|
|
579
588
|
|
|
580
589
|
describe "when validation of nodes" do
|
|
581
590
|
it 'validates that the key of a node mapping is a Node' do
|
|
582
|
-
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('other'))
|
|
591
|
+
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('other', :environment => env))
|
|
583
592
|
application app {
|
|
584
593
|
}
|
|
585
594
|
|
|
@@ -595,7 +604,7 @@ EOS
|
|
|
595
604
|
end
|
|
596
605
|
|
|
597
606
|
it 'validates that the value of a node mapping is a resource' do
|
|
598
|
-
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('other'))
|
|
607
|
+
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('other', :environment => env))
|
|
599
608
|
application app {
|
|
600
609
|
}
|
|
601
610
|
|
|
@@ -611,7 +620,7 @@ EOS
|
|
|
611
620
|
end
|
|
612
621
|
|
|
613
622
|
it 'validates that the value can be an array or resources' do
|
|
614
|
-
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('other'))
|
|
623
|
+
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('other', :environment => env))
|
|
615
624
|
define p {
|
|
616
625
|
notify {$title:}
|
|
617
626
|
}
|
|
@@ -633,7 +642,7 @@ EOS
|
|
|
633
642
|
end
|
|
634
643
|
|
|
635
644
|
it 'validates that the is bound to exactly one node' do
|
|
636
|
-
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('first'))
|
|
645
|
+
expect { compile_to_catalog(<<-EOS, Puppet::Node.new('first', :environment => env))
|
|
637
646
|
define p {
|
|
638
647
|
notify {$title:}
|
|
639
648
|
}
|
|
@@ -1,33 +1,30 @@
|
|
|
1
1
|
#! /usr/bin/env ruby
|
|
2
2
|
require 'spec_helper'
|
|
3
3
|
require 'puppet_spec/compiler'
|
|
4
|
-
require_relative 'pops/parser/parser_rspec_helper'
|
|
5
4
|
|
|
6
|
-
describe
|
|
5
|
+
describe 'Capability types' do
|
|
7
6
|
include PuppetSpec::Compiler
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Puppet::
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
let(:env) { Puppet::Node::Environment.create(:testing, []) }
|
|
8
|
+
let(:node) { Puppet::Node.new('test', :environment => env) }
|
|
9
|
+
let(:loaders) { Puppet::Pops::Loaders.new(env) }
|
|
10
|
+
|
|
11
|
+
around :each do |example|
|
|
12
|
+
Puppet[:app_management] = true
|
|
13
|
+
Puppet::Parser::Compiler.any_instance.stubs(:loaders).returns(loaders)
|
|
14
|
+
Puppet.override(:loaders => loaders, :current_environment => env) do
|
|
15
|
+
Puppet::Type.newtype :cap, :is_capability => true do
|
|
16
|
+
newparam :name
|
|
17
|
+
newparam :host
|
|
18
|
+
end
|
|
19
|
+
example.run
|
|
20
|
+
Puppet::Type.rmtype(:cap)
|
|
17
21
|
end
|
|
22
|
+
Puppet[:app_management] = false
|
|
18
23
|
end
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
with_app_management(true)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
after :each do
|
|
25
|
-
with_app_management(false)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe "annotations" do
|
|
25
|
+
context 'annotations' do
|
|
29
26
|
it "adds a blueprint for a produced resource" do
|
|
30
|
-
catalog = compile_to_catalog(<<-MANIFEST)
|
|
27
|
+
catalog = compile_to_catalog(<<-MANIFEST, node)
|
|
31
28
|
define test($hostname) {
|
|
32
29
|
notify { "hostname ${hostname}":}
|
|
33
30
|
}
|
|
@@ -49,7 +46,7 @@ describe "Capability types" do
|
|
|
49
46
|
end
|
|
50
47
|
|
|
51
48
|
it "adds a blueprint for a consumed resource" do
|
|
52
|
-
catalog = compile_to_catalog(<<-MANIFEST)
|
|
49
|
+
catalog = compile_to_catalog(<<-MANIFEST, node)
|
|
53
50
|
define test($hostname) {
|
|
54
51
|
notify { "hostname ${hostname}":}
|
|
55
52
|
}
|
|
@@ -136,7 +133,7 @@ describe "Capability types" do
|
|
|
136
133
|
end
|
|
137
134
|
it "does not allow operator '+>' in a mapping" do
|
|
138
135
|
expect do
|
|
139
|
-
compile_to_catalog(<<-MANIFEST)
|
|
136
|
+
compile_to_catalog(<<-MANIFEST, node)
|
|
140
137
|
define test($hostname) {
|
|
141
138
|
notify { "hostname ${hostname}":}
|
|
142
139
|
}
|
|
@@ -150,7 +147,7 @@ describe "Capability types" do
|
|
|
150
147
|
|
|
151
148
|
it "does not allow operator '*=>' in a mapping" do
|
|
152
149
|
expect do
|
|
153
|
-
compile_to_catalog(<<-MANIFEST)
|
|
150
|
+
compile_to_catalog(<<-MANIFEST, node)
|
|
154
151
|
define test($hostname) {
|
|
155
152
|
notify { "hostname ${hostname}":}
|
|
156
153
|
}
|
|
@@ -163,9 +160,8 @@ describe "Capability types" do
|
|
|
163
160
|
end
|
|
164
161
|
|
|
165
162
|
it "does not allow 'before' relationship to capability mapping" do
|
|
166
|
-
make_cap_type
|
|
167
163
|
expect do
|
|
168
|
-
compile_to_catalog(<<-MANIFEST)
|
|
164
|
+
compile_to_catalog(<<-MANIFEST, node)
|
|
169
165
|
define test() {
|
|
170
166
|
notify { "hello":}
|
|
171
167
|
}
|
|
@@ -186,22 +182,14 @@ describe "Capability types" do
|
|
|
186
182
|
MANIFEST
|
|
187
183
|
|
|
188
184
|
expect {
|
|
189
|
-
compile_to_catalog(manifest)
|
|
185
|
+
compile_to_catalog(manifest, node)
|
|
190
186
|
}.to raise_error(Puppet::Error,
|
|
191
187
|
/#{kw} clause references nonexistent type Test/)
|
|
192
188
|
end
|
|
193
189
|
end
|
|
194
190
|
end
|
|
195
191
|
|
|
196
|
-
|
|
197
|
-
before(:each) do
|
|
198
|
-
make_cap_type
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
after :each do
|
|
202
|
-
Puppet::Type.rmtype(:cap)
|
|
203
|
-
end
|
|
204
|
-
|
|
192
|
+
context 'exporting a capability' do
|
|
205
193
|
it "does not add produced resources that are not exported" do
|
|
206
194
|
manifest = <<-MANIFEST
|
|
207
195
|
define test($hostname) {
|
|
@@ -214,7 +202,7 @@ Test produces Cap {
|
|
|
214
202
|
|
|
215
203
|
test { one: hostname => "ahost" }
|
|
216
204
|
MANIFEST
|
|
217
|
-
catalog = compile_to_catalog(manifest)
|
|
205
|
+
catalog = compile_to_catalog(manifest, node)
|
|
218
206
|
expect(catalog.resource("Test[one]")).to be_instance_of(Puppet::Resource)
|
|
219
207
|
expect(catalog.resource_keys.find { |type, _| type == "Cap" }).to be_nil
|
|
220
208
|
end
|
|
@@ -236,7 +224,7 @@ Test produces Cap {
|
|
|
236
224
|
|
|
237
225
|
test { one: hostname => "ahost", export => Cap[two] }
|
|
238
226
|
MANIFEST
|
|
239
|
-
catalog = compile_to_catalog(manifest)
|
|
227
|
+
catalog = compile_to_catalog(manifest, node)
|
|
240
228
|
expect(catalog.resource("Test[one]")).to be_instance_of(Puppet::Resource)
|
|
241
229
|
|
|
242
230
|
caps = catalog.resource_keys.select { |type, _| type == "Cap" }
|
|
@@ -247,19 +235,11 @@ test { one: hostname => "ahost", export => Cap[two] }
|
|
|
247
235
|
expect(cap["require"]).to eq("Test[one]")
|
|
248
236
|
expect(cap["host"]).to eq("ahost")
|
|
249
237
|
expect(cap.resource_type).to eq(Puppet::Type::Cap)
|
|
250
|
-
expect(cap.tags.any? { |t| t ==
|
|
238
|
+
expect(cap.tags.any? { |t| t == 'producer:testing' }).to eq(true)
|
|
251
239
|
end
|
|
252
240
|
end
|
|
253
241
|
|
|
254
|
-
|
|
255
|
-
before(:each) do
|
|
256
|
-
make_cap_type
|
|
257
|
-
end
|
|
258
|
-
|
|
259
|
-
after :each do
|
|
260
|
-
Puppet::Type.rmtype(:cap)
|
|
261
|
-
end
|
|
262
|
-
|
|
242
|
+
context 'consuming a capability' do
|
|
263
243
|
def make_catalog(instance)
|
|
264
244
|
manifest = <<-MANIFEST
|
|
265
245
|
define test($hostname = nohost) {
|
|
@@ -270,7 +250,7 @@ test { one: hostname => "ahost", export => Cap[two] }
|
|
|
270
250
|
hostname => $host
|
|
271
251
|
}
|
|
272
252
|
MANIFEST
|
|
273
|
-
compile_to_catalog(manifest + instance)
|
|
253
|
+
compile_to_catalog(manifest + instance, node)
|
|
274
254
|
end
|
|
275
255
|
|
|
276
256
|
def mock_cap_finding
|
|
@@ -322,10 +302,10 @@ test { one: hostname => "ahost", export => Cap[two] }
|
|
|
322
302
|
end
|
|
323
303
|
end
|
|
324
304
|
|
|
325
|
-
|
|
305
|
+
context 'producing/consuming resources' do
|
|
326
306
|
|
|
327
307
|
let(:ral) do
|
|
328
|
-
compile_to_ral(<<-MANIFEST)
|
|
308
|
+
compile_to_ral(<<-MANIFEST, node)
|
|
329
309
|
define producer() {
|
|
330
310
|
notify { "producer":}
|
|
331
311
|
}
|
|
@@ -365,10 +345,10 @@ test { one: hostname => "ahost", export => Cap[two] }
|
|
|
365
345
|
end
|
|
366
346
|
end
|
|
367
347
|
|
|
368
|
-
|
|
348
|
+
context 'producing/consuming resources to/from classes' do
|
|
369
349
|
|
|
370
350
|
let(:ral) do
|
|
371
|
-
compile_to_ral(<<-MANIFEST)
|
|
351
|
+
compile_to_ral(<<-MANIFEST, node)
|
|
372
352
|
define test($hostname) {
|
|
373
353
|
notify { $hostname:}
|
|
374
354
|
}
|
|
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/confine_spec.rb
CHANGED
|
File without changes
|
data/spec/unit/confiner_spec.rb
CHANGED
|
File without changes
|
data/spec/unit/daemon_spec.rb
CHANGED
|
File without changes
|
|
@@ -43,7 +43,7 @@ describe "when using function data provider" do
|
|
|
43
43
|
node = Puppet::Node.new("testnode", :facts => Puppet::Node::Facts.new("facts", {}), :environment => 'production')
|
|
44
44
|
compiler = Puppet::Parser::Compiler.new(node)
|
|
45
45
|
catalog = compiler.compile()
|
|
46
|
-
resources_created_in_fixture = ["Notify[env_test1]", "Notify[env_test2]", "Notify[module_test3]"]
|
|
46
|
+
resources_created_in_fixture = ["Notify[env_test1]", "Notify[env_test2]", "Notify[module_test3]", "Notify[env_test2-ipl]"]
|
|
47
47
|
expect(resources_in(catalog)).to include(*resources_created_in_fixture)
|
|
48
48
|
end
|
|
49
49
|
|
|
@@ -56,6 +56,24 @@ describe "when using function data provider" do
|
|
|
56
56
|
expect(resources_in(catalog)).to include(*resources_created_in_fixture)
|
|
57
57
|
end
|
|
58
58
|
|
|
59
|
+
it 'gets data from puppet function delivering environment data' do
|
|
60
|
+
Puppet[:code] = <<-CODE
|
|
61
|
+
function environment::data() {
|
|
62
|
+
{ 'cls::test1' => 'env_puppet1',
|
|
63
|
+
'cls::test2' => 'env_puppet2'
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
class cls ($test1, $test2) {
|
|
67
|
+
notify { $test1: }
|
|
68
|
+
notify { $test2: }
|
|
69
|
+
}
|
|
70
|
+
include cls
|
|
71
|
+
CODE
|
|
72
|
+
node = Puppet::Node.new('testnode', :facts => Puppet::Node::Facts.new('facts', {}), :environment => 'production')
|
|
73
|
+
catalog = Puppet::Parser::Compiler.new(node).compile
|
|
74
|
+
expect(resources_in(catalog)).to include('Notify[env_puppet1]', 'Notify[env_puppet2]')
|
|
75
|
+
end
|
|
76
|
+
|
|
59
77
|
it 'raises an error if the environment data function does not return a hash' do
|
|
60
78
|
Puppet[:code] = 'include abc'
|
|
61
79
|
# find the loaders to patch with faulty function
|
|
@@ -45,7 +45,7 @@ describe "when using a hiera data provider" do
|
|
|
45
45
|
|
|
46
46
|
it 'reads hiera.yaml in environment root and configures multiple json and yaml providers' do
|
|
47
47
|
resources = compile_and_get_notifications('hiera_env_config')
|
|
48
|
-
expect(resources).to include(
|
|
48
|
+
expect(resources).to include("env data param_a is 10, env data param_b is 20, env data param_c is 30, env data param_d is 40, env data param_e is 50, env data param_yaml_utf8 is \u16EB\u16D2\u16E6, env data param_json_utf8 is \u16A0\u16C7\u16BB")
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
it 'reads hiera.yaml in module root and configures multiple json and yaml providers' do
|
|
@@ -186,7 +186,7 @@ Merge strategy first
|
|
|
186
186
|
Path "#{environmentpath}/hiera_misc/data/common.yaml"
|
|
187
187
|
Original path: "common"
|
|
188
188
|
Interpolation on "Value from interpolation %{scope("target_scope")}"
|
|
189
|
-
Global Scope
|
|
189
|
+
Global Scope
|
|
190
190
|
Found key: "target_scope" value: "with scope"
|
|
191
191
|
Found key: "km_scope" value: "Value from interpolation with scope"
|
|
192
192
|
Merged result: "Value from interpolation with scope"
|
data/spec/unit/defaults_spec.rb
CHANGED
|
@@ -72,6 +72,24 @@ describe "Defaults" do
|
|
|
72
72
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
|
+
describe 'strict' do
|
|
76
|
+
it 'should accept the valid value :off' do
|
|
77
|
+
expect {Puppet.settings[:strict] = 'off'}.to_not raise_exception
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
it 'should accept the valid value :warning' do
|
|
81
|
+
expect {Puppet.settings[:strict] = 'warning'}.to_not raise_exception
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
it 'should accept the valid value :error' do
|
|
85
|
+
expect {Puppet.settings[:strict] = 'error'}.to_not raise_exception
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
it 'should fail if given an invalid value' do
|
|
89
|
+
expect {Puppet.settings[:strict] = 'ignore'}.to raise_exception(/Invalid value 'ignore' for parameter strict\./)
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
75
93
|
describe 'supported_checksum_types' do
|
|
76
94
|
it 'should default to md5,sha256' do
|
|
77
95
|
expect(Puppet.settings[:supported_checksum_types]).to eq(['md5', 'sha256'])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/unit/face/file_spec.rb
CHANGED
|
File without changes
|
data/spec/unit/face/help_spec.rb
CHANGED
|
File without changes
|
data/spec/unit/face/node_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/unit/face_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
|
|
@@ -46,6 +46,26 @@ describe Puppet::FileSystem::Uniquefile do
|
|
|
46
46
|
expect(Puppet::FileSystem.exist?(filename)).to be_falsey
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
+
it "propagates lock creation failures" do
|
|
50
|
+
# use an arbitrary exception so as not accidentally collide
|
|
51
|
+
# with the ENOENT that occurs when trying to call rmdir
|
|
52
|
+
Puppet::FileSystem::Uniquefile.stubs(:mkdir).raises 'arbitrary failure'
|
|
53
|
+
Puppet::FileSystem::Uniquefile.expects(:rmdir).never
|
|
54
|
+
|
|
55
|
+
expect {
|
|
56
|
+
Puppet::FileSystem::Uniquefile.open_tmp('foo') { |tmp| }
|
|
57
|
+
}.to raise_error('arbitrary failure')
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it "only removes lock files that exist" do
|
|
61
|
+
# prevent the .lock directory from being created
|
|
62
|
+
Puppet::FileSystem::Uniquefile.stubs(:mkdir) { }
|
|
63
|
+
|
|
64
|
+
# and expect cleanup to be skipped
|
|
65
|
+
Puppet::FileSystem::Uniquefile.expects(:rmdir).never
|
|
66
|
+
|
|
67
|
+
Puppet::FileSystem::Uniquefile.open_tmp('foo') { |tmp| }
|
|
68
|
+
end
|
|
49
69
|
|
|
50
70
|
context "Ruby 1.9.3 Tempfile tests" do
|
|
51
71
|
# the remaining tests in this file are ported directly from the ruby 1.9.3 source,
|
|
@@ -243,6 +243,67 @@ describe "Puppet::FileSystem" do
|
|
|
243
243
|
end
|
|
244
244
|
end
|
|
245
245
|
|
|
246
|
+
it "should return false for exist? when resolving a cyclic symlink chain" do
|
|
247
|
+
# point symlink -> file
|
|
248
|
+
symlink = tmpfile("somefile_link")
|
|
249
|
+
Puppet::FileSystem.symlink(file, symlink)
|
|
250
|
+
|
|
251
|
+
# point symlink2 -> symlink
|
|
252
|
+
symlink2 = tmpfile("somefile_link2")
|
|
253
|
+
Puppet::FileSystem.symlink(symlink, symlink2)
|
|
254
|
+
|
|
255
|
+
# point symlink3 -> symlink2
|
|
256
|
+
symlink3 = tmpfile("somefile_link3")
|
|
257
|
+
Puppet::FileSystem.symlink(symlink2, symlink3)
|
|
258
|
+
|
|
259
|
+
# yank file, temporarily dangle
|
|
260
|
+
::File.delete(file)
|
|
261
|
+
|
|
262
|
+
# and trash it so that we can recreate it OK on windows
|
|
263
|
+
Puppet::FileSystem.unlink(symlink)
|
|
264
|
+
|
|
265
|
+
# point symlink -> symlink3 to create a cycle
|
|
266
|
+
Puppet::FileSystem.symlink(symlink3, symlink)
|
|
267
|
+
|
|
268
|
+
expect(Puppet::FileSystem.exist?(symlink3)).to be_falsey
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
it "should return true for exist? when resolving a symlink chain pointing to a file" do
|
|
272
|
+
# point symlink -> file
|
|
273
|
+
symlink = tmpfile("somefile_link")
|
|
274
|
+
Puppet::FileSystem.symlink(file, symlink)
|
|
275
|
+
|
|
276
|
+
# point symlink2 -> symlink
|
|
277
|
+
symlink2 = tmpfile("somefile_link2")
|
|
278
|
+
Puppet::FileSystem.symlink(symlink, symlink2)
|
|
279
|
+
|
|
280
|
+
# point symlink3 -> symlink2
|
|
281
|
+
symlink3 = tmpfile("somefile_link3")
|
|
282
|
+
Puppet::FileSystem.symlink(symlink2, symlink3)
|
|
283
|
+
|
|
284
|
+
expect(Puppet::FileSystem.exist?(symlink3)).to be_truthy
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
it "should return false for exist? when resolving a symlink chain that dangles" do
|
|
288
|
+
# point symlink -> file
|
|
289
|
+
symlink = tmpfile("somefile_link")
|
|
290
|
+
Puppet::FileSystem.symlink(file, symlink)
|
|
291
|
+
|
|
292
|
+
# point symlink2 -> symlink
|
|
293
|
+
symlink2 = tmpfile("somefile_link2")
|
|
294
|
+
Puppet::FileSystem.symlink(symlink, symlink2)
|
|
295
|
+
|
|
296
|
+
# point symlink3 -> symlink2
|
|
297
|
+
symlink3 = tmpfile("somefile_link3")
|
|
298
|
+
Puppet::FileSystem.symlink(symlink2, symlink3)
|
|
299
|
+
|
|
300
|
+
# yank file, and make symlink dangle
|
|
301
|
+
::File.delete(file)
|
|
302
|
+
|
|
303
|
+
# symlink3 is now indirectly dangled
|
|
304
|
+
expect(Puppet::FileSystem.exist?(symlink3)).to be_falsey
|
|
305
|
+
end
|
|
306
|
+
|
|
246
307
|
it "should not create a symlink when the :noop option is specified" do
|
|
247
308
|
[file, dir].each do |target|
|
|
248
309
|
symlink = tmpfile("#{Puppet::FileSystem.basename(target)}_link")
|