puppet 4.10.12 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CONTRIBUTING.md +32 -15
- data/Gemfile +31 -14
- data/MAINTAINERS +0 -5
- data/README.md +11 -11
- data/Rakefile +2 -1
- data/conf/auth.conf +21 -0
- data/conf/fileserver.conf +7 -12
- data/conf/hiera.yaml +11 -0
- data/ext/debian/puppet-common.install +0 -1
- data/ext/debian/puppet-common.manpages +0 -2
- data/ext/hiera/hiera.yaml +15 -0
- data/ext/logcheck/puppet +1 -1
- data/ext/project_data.yaml +4 -9
- data/ext/puppet-test +0 -24
- data/ext/rack/config.ru +2 -2
- data/ext/redhat/puppet.spec.erb +0 -3
- data/ext/windows/service/daemon.rb +8 -14
- data/install.rb +1 -1
- data/lib/hiera/puppet_function.rb +1 -1
- data/lib/puppet.rb +7 -5
- data/lib/puppet/agent.rb +29 -38
- data/lib/puppet/agent/disabler.rb +3 -3
- data/lib/puppet/agent/locker.rb +3 -3
- data/lib/puppet/application.rb +12 -29
- data/lib/puppet/application/agent.rb +20 -18
- data/lib/puppet/application/apply.rb +22 -18
- data/lib/puppet/application/cert.rb +2 -7
- data/lib/puppet/application/config.rb +0 -1
- data/lib/puppet/application/describe.rb +1 -1
- data/lib/puppet/application/device.rb +94 -76
- data/lib/puppet/application/doc.rb +6 -6
- data/lib/puppet/application/face_base.rb +8 -13
- data/lib/puppet/application/filebucket.rb +12 -29
- data/lib/puppet/application/help.rb +0 -1
- data/lib/puppet/application/lookup.rb +106 -101
- data/lib/puppet/application/master.rb +14 -22
- data/lib/puppet/application/resource.rb +13 -10
- data/lib/puppet/application_support.rb +1 -6
- data/lib/puppet/configurer.rb +33 -45
- data/lib/puppet/configurer/downloader.rb +2 -2
- data/lib/puppet/configurer/fact_handler.rb +13 -4
- data/lib/puppet/context.rb +5 -5
- data/lib/puppet/context/trusted_information.rb +1 -1
- data/lib/puppet/defaults.rb +18 -131
- data/lib/puppet/environments.rb +1 -1
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/external/nagios/grammar.ry +1 -1
- data/lib/puppet/external/nagios/parser.rb +1 -1
- data/lib/puppet/external/pson/common.rb +4 -0
- data/lib/puppet/face/ca.rb +49 -42
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/catalog/select.rb +4 -4
- data/lib/puppet/face/certificate.rb +20 -20
- data/lib/puppet/face/config.rb +9 -22
- data/lib/puppet/face/epp.rb +59 -61
- data/lib/puppet/face/facts.rb +4 -4
- data/lib/puppet/face/generate.rb +8 -8
- data/lib/puppet/face/help.rb +7 -7
- data/lib/puppet/face/key.rb +2 -2
- data/lib/puppet/face/man.rb +5 -5
- data/lib/puppet/face/module.rb +2 -2
- data/lib/puppet/face/module/build.rb +7 -7
- data/lib/puppet/face/module/changes.rb +6 -6
- data/lib/puppet/face/module/generate.rb +24 -24
- data/lib/puppet/face/module/install.rb +13 -9
- data/lib/puppet/face/module/list.rb +16 -12
- data/lib/puppet/face/module/search.rb +4 -4
- data/lib/puppet/face/module/uninstall.rb +13 -10
- data/lib/puppet/face/module/upgrade.rb +11 -7
- data/lib/puppet/face/node.rb +5 -5
- data/lib/puppet/face/node/clean.rb +8 -8
- data/lib/puppet/face/parser.rb +16 -16
- data/lib/puppet/face/plugin.rb +6 -6
- data/lib/puppet/face/report.rb +9 -9
- data/lib/puppet/face/resource.rb +12 -12
- data/lib/puppet/face/status.rb +4 -4
- data/lib/puppet/feature/base.rb +3 -2
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +4 -17
- data/lib/puppet/file_serving/base.rb +3 -3
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/configuration/parser.rb +12 -12
- data/lib/puppet/file_serving/content.rb +1 -1
- data/lib/puppet/file_serving/fileset.rb +7 -5
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +7 -7
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/modules.rb +1 -1
- data/lib/puppet/file_serving/terminus_selector.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +6 -6
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/file_system/windows.rb +3 -3
- data/lib/puppet/forge.rb +8 -14
- data/lib/puppet/forge/errors.rb +12 -12
- data/lib/puppet/forge/repository.rb +1 -1
- data/lib/puppet/functions.rb +17 -45
- data/lib/puppet/functions/annotate.rb +108 -0
- data/lib/puppet/functions/binary_file.rb +1 -1
- data/lib/puppet/functions/call.rb +42 -0
- data/lib/puppet/functions/defined.rb +4 -4
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/each.rb +4 -10
- data/lib/puppet/functions/epp.rb +0 -3
- data/lib/puppet/functions/hiera_include.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +2 -2
- data/lib/puppet/functions/json_data.rb +1 -1
- data/lib/puppet/functions/lookup.rb +2 -2
- data/lib/puppet/functions/map.rb +3 -13
- data/lib/puppet/functions/match.rb +2 -2
- data/lib/puppet/functions/reduce.rb +0 -31
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/slice.rb +3 -3
- data/lib/puppet/functions/strftime.rb +10 -2
- data/lib/puppet/functions/unique.rb +132 -0
- data/lib/puppet/generate/models/type/property.rb +1 -1
- data/lib/puppet/generate/type.rb +12 -12
- data/lib/puppet/graph/relationship_graph.rb +4 -7
- data/lib/puppet/graph/simple_graph.rb +45 -66
- data/lib/puppet/indirector.rb +2 -2
- data/lib/puppet/indirector/catalog/compiler.rb +58 -44
- data/lib/puppet/indirector/catalog/json.rb +18 -0
- data/lib/puppet/indirector/certificate/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_request/ca.rb +3 -3
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_status/file.rb +6 -6
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +18 -18
- data/lib/puppet/indirector/file_bucket_file/file.rb +10 -9
- data/lib/puppet/indirector/file_metadata/http.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +10 -2
- data/lib/puppet/indirector/hiera.rb +5 -3
- data/lib/puppet/indirector/indirection.rb +16 -18
- data/lib/puppet/indirector/json.rb +11 -12
- data/lib/puppet/indirector/key/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/key/file.rb +2 -2
- data/lib/puppet/indirector/ldap.rb +6 -5
- data/lib/puppet/indirector/memory.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +8 -7
- data/lib/puppet/indirector/node/exec.rb +8 -6
- data/lib/puppet/indirector/node/ldap.rb +9 -7
- data/lib/puppet/indirector/node/plain.rb +2 -1
- data/lib/puppet/indirector/node/write_only_yaml.rb +6 -1
- data/lib/puppet/indirector/node/yaml.rb +0 -9
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +13 -0
- data/lib/puppet/indirector/request.rb +11 -23
- data/lib/puppet/indirector/resource/ral.rb +1 -1
- data/lib/puppet/indirector/resource/validator.rb +1 -1
- data/lib/puppet/indirector/rest.rb +28 -10
- data/lib/puppet/indirector/ssl_file.rb +9 -9
- data/lib/puppet/indirector/terminus.rb +3 -3
- data/lib/puppet/indirector/yaml.rb +5 -5
- data/lib/puppet/info_service/class_information_service.rb +4 -5
- data/lib/puppet/interface.rb +2 -7
- data/lib/puppet/interface/face_collection.rb +6 -1
- data/lib/puppet/module.rb +10 -35
- data/lib/puppet/module_tool.rb +7 -3
- data/lib/puppet/module_tool/applications/application.rb +8 -9
- data/lib/puppet/module_tool/applications/builder.rb +5 -6
- data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
- data/lib/puppet/module_tool/applications/installer.rb +11 -10
- data/lib/puppet/module_tool/applications/searcher.rb +1 -1
- data/lib/puppet/module_tool/applications/uninstaller.rb +2 -1
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -3
- data/lib/puppet/module_tool/applications/upgrader.rb +10 -9
- data/lib/puppet/module_tool/contents_description.rb +1 -1
- data/lib/puppet/module_tool/dependency.rb +0 -1
- data/lib/puppet/module_tool/errors/installer.rb +22 -22
- data/lib/puppet/module_tool/errors/shared.rb +44 -42
- data/lib/puppet/module_tool/errors/uninstaller.rb +13 -9
- data/lib/puppet/module_tool/errors/upgrader.rb +11 -11
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/installed_modules.rb +3 -3
- data/lib/puppet/module_tool/local_tarball.rb +4 -4
- data/lib/puppet/module_tool/metadata.rb +16 -13
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +10 -4
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +2 -2
- data/lib/puppet/module_tool/tar.rb +2 -1
- data/lib/puppet/module_tool/tar/mini.rb +4 -57
- data/lib/puppet/network/auth_config_parser.rb +12 -11
- data/lib/puppet/network/authconfig.rb +2 -2
- data/lib/puppet/network/authstore.rb +2 -2
- data/lib/puppet/network/format.rb +7 -7
- data/lib/puppet/network/format_handler.rb +12 -9
- data/lib/puppet/network/format_support.rb +11 -5
- data/lib/puppet/network/formats.rb +38 -27
- data/lib/puppet/network/http/api/indirected_routes.rb +72 -33
- data/lib/puppet/network/http/api/master/v3/environment.rb +33 -14
- data/lib/puppet/network/http/compression.rb +10 -7
- data/lib/puppet/network/http/connection.rb +19 -23
- data/lib/puppet/network/http/error.rb +14 -10
- data/lib/puppet/network/http/factory.rb +0 -12
- data/lib/puppet/network/http/handler.rb +8 -4
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/pool.rb +1 -1
- data/lib/puppet/network/http/rack.rb +2 -2
- data/lib/puppet/network/http/rack/rest.rb +1 -1
- data/lib/puppet/network/http/request.rb +34 -20
- data/lib/puppet/network/http/response.rb +13 -1
- data/lib/puppet/network/http/webrick.rb +8 -6
- data/lib/puppet/network/http/webrick/rest.rb +2 -2
- data/lib/puppet/network/rights.rb +6 -6
- data/lib/puppet/network/server.rb +2 -2
- data/lib/puppet/node.rb +25 -23
- data/lib/puppet/node/environment.rb +21 -4
- data/lib/puppet/node/facts.rb +0 -14
- data/lib/puppet/parameter.rb +3 -28
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/path.rb +3 -3
- data/lib/puppet/parameter/value_collection.rb +4 -4
- data/lib/puppet/parser/ast/leaf.rb +1 -1
- data/lib/puppet/parser/ast/node.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -3
- data/lib/puppet/parser/ast/resource.rb +1 -1
- data/lib/puppet/parser/ast/resource_instance.rb +1 -1
- data/lib/puppet/parser/ast/resourceparam.rb +1 -1
- data/lib/puppet/parser/compiler.rb +44 -117
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +6 -9
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +1 -1
- data/lib/puppet/parser/e4_parser_adapter.rb +1 -2
- data/lib/puppet/parser/environment_compiler.rb +13 -15
- data/lib/puppet/parser/functions.rb +6 -6
- data/lib/puppet/parser/functions/assert_type.rb +1 -1
- data/lib/puppet/parser/functions/binary_file.rb +1 -1
- data/lib/puppet/parser/functions/break.rb +1 -1
- data/lib/puppet/parser/functions/contain.rb +1 -1
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/defined.rb +1 -1
- data/lib/puppet/parser/functions/dig.rb +1 -1
- data/lib/puppet/parser/functions/each.rb +1 -1
- data/lib/puppet/parser/functions/epp.rb +1 -4
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/filter.rb +1 -1
- data/lib/puppet/parser/functions/find_file.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +5 -4
- data/lib/puppet/parser/functions/hiera_include.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_epp.rb +1 -1
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/lest.rb +1 -1
- data/lib/puppet/parser/functions/map.rb +1 -1
- data/lib/puppet/parser/functions/match.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +45 -30
- data/lib/puppet/parser/functions/next.rb +1 -1
- data/lib/puppet/parser/functions/reduce.rb +1 -1
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions/return.rb +2 -23
- data/lib/puppet/parser/functions/reverse_each.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +1 -1
- data/lib/puppet/parser/functions/sprintf.rb +3 -17
- data/lib/puppet/parser/functions/step.rb +1 -1
- data/lib/puppet/parser/functions/strftime.rb +1 -1
- data/lib/puppet/parser/functions/then.rb +1 -1
- data/lib/puppet/parser/functions/type.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +1 -1
- data/lib/puppet/parser/parser_factory.rb +0 -30
- data/lib/puppet/parser/relationship.rb +49 -20
- data/lib/puppet/parser/resource.rb +31 -30
- data/lib/puppet/parser/resource/param.rb +0 -3
- data/lib/puppet/parser/scope.rb +122 -168
- data/lib/puppet/parser/templatewrapper.rb +2 -2
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/configuration.rb +15 -67
- data/lib/puppet/plugins/syntax_checkers.rb +6 -11
- data/lib/puppet/pops.rb +7 -37
- data/lib/puppet/pops/adaptable.rb +8 -3
- data/lib/puppet/pops/adapters.rb +23 -83
- data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
- data/lib/puppet/pops/evaluator/collector_transformer.rb +7 -12
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +7 -7
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +46 -38
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -9
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -2
- data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +26 -9
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +17 -1
- data/lib/puppet/pops/evaluator/runtime3_support.rb +13 -30
- data/lib/puppet/pops/functions/dispatch.rb +1 -6
- data/lib/puppet/pops/issues.rb +182 -162
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/gem_support.rb +2 -2
- data/lib/puppet/pops/loader/module_loaders.rb +59 -8
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -6
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -10
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +3 -3
- data/lib/puppet/pops/loader/static_loader.rb +33 -64
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +7 -7
- data/lib/puppet/pops/loader/typed_name.rb +5 -0
- data/lib/puppet/pops/loaders.rb +15 -5
- data/lib/puppet/pops/lookup.rb +4 -2
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_provider.rb +3 -18
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +12 -35
- data/lib/puppet/pops/lookup/interpolation.rb +1 -0
- data/lib/puppet/pops/lookup/invocation.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +20 -64
- data/lib/puppet/pops/lookup/lookup_key.rb +1 -1
- data/lib/puppet/pops/lookup/module_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/sub_lookup.rb +2 -1
- data/lib/puppet/pops/merge_strategy.rb +1 -1
- data/lib/puppet/pops/model/ast.pp +692 -0
- data/lib/puppet/pops/model/ast.rb +4833 -0
- data/lib/puppet/pops/model/ast_transformer.rb +9 -10
- data/lib/puppet/pops/model/factory.rb +454 -527
- data/lib/puppet/pops/model/model_label_provider.rb +3 -2
- data/lib/puppet/pops/model/model_tree_dumper.rb +9 -8
- data/lib/puppet/pops/parser/egrammar.ra +66 -60
- data/lib/puppet/pops/parser/eparser.rb +1483 -1578
- data/lib/puppet/pops/parser/evaluating_parser.rb +5 -5
- data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
- data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
- data/lib/puppet/pops/parser/lexer2.rb +7 -33
- data/lib/puppet/pops/parser/locator.rb +39 -16
- data/lib/puppet/pops/parser/parser_support.rb +25 -29
- data/lib/puppet/pops/patterns.rb +1 -2
- data/lib/puppet/pops/pcore.rb +26 -19
- data/lib/puppet/pops/resource/param.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -2
- data/lib/puppet/pops/serialization.rb +25 -1
- data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
- data/lib/puppet/pops/serialization/deserializer.rb +1 -1
- data/lib/puppet/pops/serialization/from_data_converter.rb +181 -0
- data/lib/puppet/pops/serialization/json.rb +4 -4
- data/lib/puppet/pops/serialization/json_path.rb +126 -0
- data/lib/puppet/pops/serialization/object.rb +5 -5
- data/lib/puppet/pops/serialization/serializer.rb +23 -9
- data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
- data/lib/puppet/pops/time/timespan.rb +11 -11
- data/lib/puppet/pops/time/timestamp.rb +8 -8
- data/lib/puppet/pops/types/annotatable.rb +7 -7
- data/lib/puppet/pops/types/annotation.rb +71 -0
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/enumeration.rb +2 -2
- data/lib/puppet/pops/types/iterable.rb +2 -4
- data/lib/puppet/pops/types/p_binary_type.rb +7 -1
- data/lib/puppet/pops/types/p_meta_type.rb +16 -12
- data/lib/puppet/pops/types/p_object_type.rb +135 -96
- data/lib/puppet/pops/types/p_runtime_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +6 -2
- data/lib/puppet/pops/types/p_timespan_type.rb +55 -4
- data/lib/puppet/pops/types/p_type_set_type.rb +42 -34
- data/lib/puppet/pops/types/puppet_object.rb +13 -3
- data/lib/puppet/pops/types/ruby_generator.rb +291 -127
- data/lib/puppet/pops/types/ruby_method.rb +31 -0
- data/lib/puppet/pops/types/string_converter.rb +107 -30
- data/lib/puppet/pops/types/type_calculator.rb +56 -94
- data/lib/puppet/pops/types/type_factory.rb +34 -6
- data/lib/puppet/pops/types/type_formatter.rb +64 -16
- data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -22
- data/lib/puppet/pops/types/type_parser.rb +28 -13
- data/lib/puppet/pops/types/type_set_reference.rb +6 -6
- data/lib/puppet/pops/types/types.rb +169 -245
- data/lib/puppet/pops/utils.rb +0 -24
- data/lib/puppet/pops/validation.rb +3 -9
- data/lib/puppet/pops/validation/checker4_0.rb +86 -76
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -1
- data/lib/puppet/pops/visitor.rb +21 -0
- data/lib/puppet/property.rb +17 -14
- data/lib/puppet/property/ensure.rb +3 -3
- data/lib/puppet/property/list.rb +1 -10
- data/lib/puppet/provider.rb +2 -0
- data/lib/puppet/provider/aixobject.rb +7 -7
- data/lib/puppet/provider/augeas/augeas.rb +37 -37
- data/lib/puppet/provider/command.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +2 -2
- data/lib/puppet/provider/exec.rb +4 -4
- data/lib/puppet/provider/exec/posix.rb +4 -4
- data/lib/puppet/provider/exec/windows.rb +3 -3
- data/lib/puppet/provider/file/posix.rb +5 -5
- data/lib/puppet/provider/file/windows.rb +4 -4
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/group/groupadd.rb +2 -2
- data/lib/puppet/provider/group/pw.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +7 -4
- data/lib/puppet/provider/host/parsed.rb +1 -1
- data/lib/puppet/provider/macauthorization/macauthorization.rb +9 -9
- data/lib/puppet/provider/maillist/mailman.rb +2 -2
- data/lib/puppet/provider/mcx/mcxcontent.rb +3 -3
- data/lib/puppet/provider/mount.rb +2 -1
- data/lib/puppet/provider/mount/parsed.rb +10 -8
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +8 -10
- data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
- data/lib/puppet/provider/network_device.rb +2 -1
- data/lib/puppet/provider/package/aix.rb +6 -6
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +4 -4
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/aptrpm.rb +2 -2
- data/lib/puppet/provider/package/blastwave.rb +4 -4
- data/lib/puppet/provider/package/dnf.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +3 -3
- data/lib/puppet/provider/package/fink.rb +3 -3
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +6 -6
- data/lib/puppet/provider/package/hpux.rb +1 -1
- data/lib/puppet/provider/package/nim.rb +15 -12
- data/lib/puppet/provider/package/openbsd.rb +4 -4
- data/lib/puppet/provider/package/opkg.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +9 -9
- data/lib/puppet/provider/package/pkg.rb +9 -9
- data/lib/puppet/provider/package/pkgdmg.rb +4 -4
- data/lib/puppet/provider/package/pkgin.rb +3 -3
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/pkgutil.rb +6 -6
- data/lib/puppet/provider/package/portage.rb +167 -59
- data/lib/puppet/provider/package/ports.rb +3 -3
- data/lib/puppet/provider/package/portupgrade.rb +4 -4
- data/lib/puppet/provider/package/rpm.rb +7 -4
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +3 -2
- data/lib/puppet/provider/package/up2date.rb +1 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -1
- data/lib/puppet/provider/package/windows.rb +4 -4
- data/lib/puppet/provider/package/windows/package.rb +3 -3
- data/lib/puppet/provider/package/yum.rb +5 -6
- data/lib/puppet/provider/package/zypper.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/service/base.rb +8 -21
- data/lib/puppet/provider/service/smf.rb +2 -2
- data/lib/puppet/provider/service/systemd.rb +1 -2
- data/lib/puppet/provider/service/upstart.rb +1 -3
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
- data/lib/puppet/provider/zfs/zfs.rb +1 -5
- data/lib/puppet/reference/configuration.rb +0 -2
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +6 -6
- data/lib/puppet/reference/type.rb +2 -2
- data/lib/puppet/relationship.rb +7 -9
- data/lib/puppet/reports/http.rb +8 -6
- data/lib/puppet/resource.rb +75 -134
- data/lib/puppet/resource/capability_finder.rb +1 -1
- data/lib/puppet/resource/catalog.rb +26 -34
- data/lib/puppet/resource/status.rb +13 -24
- data/lib/puppet/resource/type.rb +13 -61
- data/lib/puppet/resource/type_collection.rb +29 -23
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/boolean_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -2
- data/lib/puppet/settings/duration_setting.rb +1 -1
- data/lib/puppet/settings/enum_setting.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +2 -10
- data/lib/puppet/settings/file_setting.rb +2 -2
- data/lib/puppet/settings/priority_setting.rb +1 -1
- data/lib/puppet/settings/server_list_setting.rb +1 -1
- data/lib/puppet/settings/symbolic_enum_setting.rb +1 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -1
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/ssl/base.rb +2 -2
- data/lib/puppet/ssl/certificate_authority.rb +21 -21
- data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/certificate_request.rb +14 -14
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -3
- data/lib/puppet/ssl/host.rb +29 -29
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/oids.rb +5 -5
- data/lib/puppet/ssl/validator/default_validator.rb +3 -4
- data/lib/puppet/syntax_checkers/base64.rb +7 -7
- data/lib/puppet/syntax_checkers/json.rb +5 -5
- data/lib/puppet/test/test_helper.rb +0 -4
- data/lib/puppet/transaction.rb +38 -23
- data/lib/puppet/transaction/additional_resource_generator.rb +4 -3
- data/lib/puppet/transaction/event.rb +19 -8
- data/lib/puppet/transaction/event_manager.rb +6 -6
- data/lib/puppet/transaction/persistence.rb +6 -6
- data/lib/puppet/transaction/report.rb +34 -47
- data/lib/puppet/transaction/resource_harness.rb +14 -12
- data/lib/puppet/type.rb +9 -7
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +14 -31
- data/lib/puppet/type/exec.rb +16 -16
- data/lib/puppet/type/file.rb +21 -22
- data/lib/puppet/type/file/content.rb +1 -1
- data/lib/puppet/type/file/group.rb +3 -3
- data/lib/puppet/type/file/mode.rb +6 -6
- data/lib/puppet/type/file/owner.rb +3 -3
- data/lib/puppet/type/file/selcontext.rb +18 -1
- data/lib/puppet/type/file/source.rb +5 -1
- data/lib/puppet/type/filebucket.rb +3 -8
- data/lib/puppet/type/group.rb +2 -2
- data/lib/puppet/type/host.rb +6 -6
- data/lib/puppet/type/interface.rb +1 -1
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/macauthorization.rb +1 -1
- data/lib/puppet/type/mailalias.rb +2 -18
- data/lib/puppet/type/maillist.rb +1 -1
- data/lib/puppet/type/mount.rb +8 -8
- data/lib/puppet/type/notify.rb +2 -0
- data/lib/puppet/type/package.rb +5 -5
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/scheduled_task.rb +9 -8
- data/lib/puppet/type/service.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +3 -19
- data/lib/puppet/type/sshkey.rb +4 -4
- data/lib/puppet/type/tidy.rb +16 -19
- data/lib/puppet/type/user.rb +35 -70
- data/lib/puppet/type/yumrepo.rb +8 -8
- data/lib/puppet/type/zone.rb +7 -7
- data/lib/puppet/type/zpool.rb +3 -3
- data/lib/puppet/util.rb +16 -12
- data/lib/puppet/util/at_fork.rb +35 -0
- data/lib/puppet/util/at_fork/noop.rb +18 -0
- data/lib/puppet/util/at_fork/solaris.rb +158 -0
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/classgen.rb +4 -4
- data/lib/puppet/util/command_line.rb +4 -4
- data/lib/puppet/util/command_line/puppet_option_parser.rb +3 -3
- data/lib/puppet/util/command_line/trollop.rb +31 -31
- data/lib/puppet/util/diff.rb +1 -1
- data/lib/puppet/util/errors.rb +4 -4
- data/lib/puppet/util/execution.rb +9 -9
- data/lib/puppet/util/feature.rb +5 -5
- data/lib/puppet/util/fileparsing.rb +8 -8
- data/lib/puppet/util/filetype.rb +15 -15
- data/lib/puppet/util/http_proxy.rb +7 -15
- data/lib/puppet/util/inifile.rb +4 -4
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/json_lockfile.rb +4 -4
- data/lib/puppet/util/ldap/connection.rb +2 -2
- data/lib/puppet/util/ldap/manager.rb +2 -2
- data/lib/puppet/util/limits.rb +1 -1
- data/lib/puppet/util/log.rb +23 -16
- data/lib/puppet/util/log/destinations.rb +10 -16
- data/lib/puppet/util/logging.rb +11 -8
- data/lib/puppet/util/metric.rb +9 -6
- data/lib/puppet/util/monkey_patches.rb +27 -66
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/network_device/cisco/device.rb +7 -7
- data/lib/puppet/util/network_device/cisco/interface.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +6 -6
- data/lib/puppet/util/network_device/transport/ssh.rb +6 -6
- data/lib/puppet/util/plist.rb +4 -2
- data/lib/puppet/util/posix.rb +5 -5
- data/lib/puppet/util/profiler/wall_clock.rb +1 -1
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/psych_support.rb +3 -11
- data/lib/puppet/util/rdoc.rb +4 -4
- data/lib/puppet/util/reference.rb +14 -7
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retry_action.rb +2 -2
- data/lib/puppet/util/selinux.rb +54 -12
- data/lib/puppet/util/splayer.rb +1 -1
- data/lib/puppet/util/storage.rb +5 -5
- data/lib/puppet/util/suidmanager.rb +4 -4
- data/lib/puppet/util/symbolic_file_mode.rb +9 -9
- data/lib/puppet/util/tag_set.rb +1 -4
- data/lib/puppet/util/tagging.rb +2 -2
- data/lib/puppet/util/windows.rb +2 -0
- data/lib/puppet/util/windows/adsi.rb +19 -16
- data/lib/puppet/util/windows/api_types.rb +7 -11
- data/lib/puppet/util/windows/com.rb +4 -4
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/eventlog.rb +192 -0
- data/lib/puppet/util/windows/file.rb +13 -96
- data/lib/puppet/util/windows/principal.rb +6 -7
- data/lib/puppet/util/windows/process.rb +6 -14
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/root_certs.rb +1 -1
- data/lib/puppet/util/windows/security.rb +14 -14
- data/lib/puppet/util/windows/sid.rb +13 -66
- data/lib/puppet/util/windows/taskscheduler.rb +62 -62
- data/lib/puppet/util/windows/user.rb +6 -6
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +1 -1
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +122 -114
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +678 -342
- data/lib/puppet/vendor/semantic_puppet/{lib/semantic_puppet/locales → locales}/config.yaml +0 -0
- data/lib/puppet/version.rb +1 -1
- data/locales/config.yaml +1 -1
- data/locales/puppet.pot +7847 -112
- data/man/man5/puppet.conf.5 +55 -296
- data/man/man8/puppet-agent.8 +10 -32
- data/man/man8/puppet-apply.8 +6 -21
- data/man/man8/puppet-ca.8 +34 -48
- data/man/man8/puppet-catalog.8 +4 -4
- data/man/man8/puppet-cert.8 +6 -23
- data/man/man8/puppet-certificate.8 +28 -44
- data/man/man8/puppet-certificate_request.8 +4 -4
- data/man/man8/puppet-certificate_revocation_list.8 +4 -4
- data/man/man8/puppet-config.8 +5 -5
- data/man/man8/puppet-describe.8 +3 -3
- data/man/man8/puppet-device.8 +13 -23
- data/man/man8/puppet-doc.8 +5 -5
- data/man/man8/puppet-epp.8 +10 -16
- data/man/man8/puppet-facts.8 +4 -4
- data/man/man8/puppet-filebucket.8 +6 -63
- data/man/man8/puppet-help.8 +4 -4
- data/man/man8/puppet-inspect.8 +5 -8
- data/man/man8/puppet-key.8 +4 -4
- data/man/man8/puppet-man.8 +5 -5
- data/man/man8/puppet-master.8 +5 -5
- data/man/man8/puppet-module.8 +13 -22
- data/man/man8/puppet-node.8 +4 -4
- data/man/man8/puppet-parser.8 +4 -4
- data/man/man8/puppet-plugin.8 +4 -4
- data/man/man8/puppet-report.8 +4 -4
- data/man/man8/puppet-resource.8 +8 -4
- data/man/man8/puppet-status.8 +5 -5
- data/man/man8/puppet.8 +3 -12
- data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -2
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +9 -0
- data/spec/integration/agent/logging_spec.rb +0 -2
- data/spec/integration/application/apply_spec.rb +19 -23
- data/spec/integration/application/lookup_spec.rb +0 -21
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +2 -2
- data/spec/integration/file_bucket/file_spec.rb +5 -20
- data/spec/integration/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/integration/parser/catalog_spec.rb +1 -1
- data/spec/integration/parser/class_spec.rb +6 -6
- data/spec/integration/parser/compiler_spec.rb +184 -142
- data/spec/integration/parser/dynamic_scoping_spec.rb +0 -1
- data/spec/integration/parser/pcore_resource_spec.rb +1 -1
- data/spec/integration/parser/scope_spec.rb +53 -4
- data/spec/integration/provider/cron/crontab_spec.rb +0 -1
- data/spec/integration/resource/catalog_spec.rb +0 -4
- data/spec/integration/transaction/report_spec.rb +2 -2
- data/spec/integration/transaction_spec.rb +4 -37
- data/spec/integration/type/package_spec.rb +7 -1
- data/spec/integration/util/execution_spec.rb +0 -8
- data/spec/integration/util/windows/adsi_spec.rb +1 -86
- data/spec/integration/util/windows/principal_spec.rb +1 -10
- data/spec/integration/util/windows/process_spec.rb +0 -45
- data/spec/lib/matchers/json.rb +3 -3
- data/spec/lib/puppet/indirector_testing.rb +4 -0
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/modules.rb +2 -2
- data/spec/lib/puppet_spec/network.rb +10 -6
- data/spec/shared_contexts/types_setup.rb +28 -9
- data/spec/spec_helper.rb +0 -11
- data/spec/unit/agent_spec.rb +12 -34
- data/spec/unit/application/agent_spec.rb +16 -0
- data/spec/unit/application/apply_spec.rb +37 -13
- data/spec/unit/application/cert_spec.rb +1 -40
- data/spec/unit/application/config_spec.rb +0 -4
- data/spec/unit/application/describe_spec.rb +19 -0
- data/spec/unit/application/device_spec.rb +41 -2
- data/spec/unit/application/face_base_spec.rb +6 -6
- data/spec/unit/application/lookup_spec.rb +1 -31
- data/spec/unit/application/master_spec.rb +22 -6
- data/spec/unit/application/resource_spec.rb +17 -0
- data/spec/unit/application_spec.rb +0 -24
- data/spec/unit/capability_spec.rb +2 -6
- data/spec/unit/configurer/fact_handler_spec.rb +74 -41
- data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
- data/spec/unit/configurer_spec.rb +36 -33
- data/spec/unit/defaults_spec.rb +0 -44
- data/spec/unit/environments_spec.rb +0 -15
- data/spec/unit/face/config_spec.rb +2 -1
- data/spec/unit/face/epp_face_spec.rb +0 -9
- data/spec/unit/face/module/list_spec.rb +60 -0
- data/spec/unit/file_bucket/file_spec.rb +3 -3
- data/spec/unit/file_serving/http_metadata_spec.rb +1 -1
- data/spec/unit/file_serving/metadata_spec.rb +14 -9
- data/spec/unit/forge/forge_spec.rb +2 -2
- data/spec/unit/forge_spec.rb +0 -105
- data/spec/unit/functions/annotate_spec.rb +175 -0
- data/spec/unit/functions/break_spec.rb +52 -83
- data/spec/unit/functions/call_spec.rb +77 -0
- data/spec/unit/functions/contain_spec.rb +1 -1
- data/spec/unit/functions/defined_spec.rb +2 -2
- data/spec/unit/functions/epp_spec.rb +0 -10
- data/spec/unit/functions/hiera_spec.rb +0 -5
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
- data/spec/unit/functions/lookup_spec.rb +4 -97
- data/spec/unit/functions/new_spec.rb +1 -1
- data/spec/unit/functions/unique_spec.rb +111 -0
- data/spec/unit/functions4_spec.rb +2 -43
- data/spec/unit/graph/relationship_graph_spec.rb +0 -15
- data/spec/unit/graph/simple_graph_spec.rb +58 -55
- data/spec/unit/indirector/catalog/compiler_spec.rb +206 -174
- data/spec/unit/indirector/catalog/json_spec.rb +50 -1
- data/spec/unit/indirector/facts/facter_spec.rb +1 -2
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
- data/spec/unit/indirector/file_server_spec.rb +17 -2
- data/spec/unit/indirector/indirection_spec.rb +3 -60
- data/spec/unit/indirector/json_spec.rb +27 -6
- data/spec/unit/indirector/node/exec_spec.rb +12 -12
- data/spec/unit/indirector/node/ldap_spec.rb +29 -8
- data/spec/unit/indirector/node/plain_spec.rb +16 -6
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +12 -0
- data/spec/unit/indirector/report/processor_spec.rb +2 -2
- data/spec/unit/indirector/report/rest_spec.rb +29 -3
- data/spec/unit/indirector/request_spec.rb +0 -45
- data/spec/unit/indirector/rest_spec.rb +57 -15
- data/spec/unit/interface/face_collection_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +0 -12
- data/spec/unit/module_spec.rb +10 -31
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -1
- data/spec/unit/module_tool/tar/mini_spec.rb +5 -34
- data/spec/unit/network/format_handler_spec.rb +11 -11
- data/spec/unit/network/format_spec.rb +9 -0
- data/spec/unit/network/formats_spec.rb +322 -138
- data/spec/unit/network/http/api/indirected_routes_spec.rb +62 -52
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +128 -2
- data/spec/unit/network/http/api/master/v3_spec.rb +1 -1
- data/spec/unit/network/http/api_spec.rb +1 -1
- data/spec/unit/network/http/compression_spec.rb +105 -88
- data/spec/unit/network/http/error_spec.rb +1 -2
- data/spec/unit/network/http/factory_spec.rb +9 -38
- data/spec/unit/network/http/handler_spec.rb +8 -12
- data/spec/unit/network/http/request_spec.rb +110 -0
- data/spec/unit/network/http/response_spec.rb +108 -0
- data/spec/unit/network/http/webrick_spec.rb +29 -30
- data/spec/unit/node/facts_spec.rb +13 -13
- data/spec/unit/node_spec.rb +33 -10
- data/spec/unit/parameter_spec.rb +73 -5
- data/spec/unit/parser/ast/leaf_spec.rb +4 -3
- data/spec/unit/parser/compiler_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +0 -2
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -26
- data/spec/unit/parser/resource_spec.rb +86 -24
- data/spec/unit/parser/scope_spec.rb +4 -81
- data/spec/unit/pops/benchmark_spec.rb +8 -26
- data/spec/unit/pops/containment_spec.rb +0 -26
- data/spec/unit/pops/evaluator/access_ops_spec.rb +103 -103
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +59 -6
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +5 -5
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +26 -26
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +19 -7
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +7 -7
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +36 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +10 -10
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
- data/spec/unit/pops/factory_rspec_helper.rb +0 -4
- data/spec/unit/pops/factory_spec.rb +83 -83
- data/spec/unit/pops/loaders/loaders_spec.rb +69 -1
- data/spec/unit/pops/loaders/static_loader_spec.rb +3 -7
- data/spec/unit/pops/model/model_spec.rb +10 -10
- data/spec/unit/pops/parser/epp_parser_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +4 -59
- data/spec/unit/pops/parser/{source_pos_adapter_spec.rb → locator_spec.rb} +9 -11
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_containers_spec.rb +17 -19
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -3
- data/spec/unit/pops/parser/parser_spec.rb +8 -10
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -3
- data/spec/unit/pops/serialization/serialization_spec.rb +87 -1
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +494 -0
- data/spec/unit/pops/time/timestamp_spec.rb +13 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_object_type_spec.rb +99 -13
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
- data/spec/unit/pops/types/p_type_set_type_spec.rb +1 -9
- data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
- data/spec/unit/pops/types/string_converter_spec.rb +78 -30
- data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +207 -123
- data/spec/unit/pops/types/type_factory_spec.rb +9 -9
- data/spec/unit/pops/types/type_formatter_spec.rb +32 -19
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
- data/spec/unit/pops/types/type_parser_spec.rb +6 -6
- data/spec/unit/pops/types/types_spec.rb +42 -2
- data/spec/unit/pops/validator/validator_spec.rb +25 -86
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property/list_spec.rb +2 -2
- data/spec/unit/provider/augeas/augeas_spec.rb +1 -1
- data/spec/unit/provider/group/windows_adsi_spec.rb +22 -79
- data/spec/unit/provider/package/aix_spec.rb +0 -8
- data/spec/unit/provider/package/portage_spec.rb +103 -17
- data/spec/unit/provider/package/rpm_spec.rb +14 -1
- data/spec/unit/provider/package/yum_spec.rb +0 -10
- data/spec/unit/provider/service/base_spec.rb +0 -20
- data/spec/unit/provider/service/smf_spec.rb +4 -2
- data/spec/unit/provider/service/systemd_spec.rb +1 -15
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
- data/spec/unit/provider/zfs/zfs_spec.rb +1 -7
- data/spec/unit/puppet_spec.rb +2 -3
- data/spec/unit/relationship_spec.rb +15 -36
- data/spec/unit/reports/http_spec.rb +11 -8
- data/spec/unit/resource/catalog_spec.rb +47 -49
- data/spec/unit/resource/status_spec.rb +114 -103
- data/spec/unit/resource/type_collection_spec.rb +5 -5
- data/spec/unit/resource/type_spec.rb +4 -71
- data/spec/unit/resource_spec.rb +30 -34
- data/spec/unit/settings_spec.rb +4 -2
- data/spec/unit/ssl/host_spec.rb +34 -34
- data/spec/unit/status_spec.rb +7 -7
- data/spec/unit/transaction/event_spec.rb +18 -15
- data/spec/unit/transaction/report_spec.rb +100 -81
- data/spec/unit/transaction/resource_harness_spec.rb +3 -3
- data/spec/unit/transaction_spec.rb +53 -8
- data/spec/unit/type/file/group_spec.rb +2 -2
- data/spec/unit/type/file/mode_spec.rb +9 -9
- data/spec/unit/type/file/owner_spec.rb +2 -2
- data/spec/unit/type/file/selinux_spec.rb +2 -0
- data/spec/unit/type/file/source_spec.rb +13 -0
- data/spec/unit/type/nagios_spec.rb +1 -21
- data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
- data/spec/unit/type/tidy_spec.rb +0 -14
- data/spec/unit/type/user_spec.rb +2 -4
- data/spec/unit/util/at_fork_spec.rb +150 -0
- data/spec/unit/util/execution_spec.rb +31 -2
- data/spec/unit/util/http_proxy_spec.rb +0 -37
- data/spec/unit/util/log/destinations_spec.rb +5 -6
- data/spec/unit/util/log_spec.rb +62 -17
- data/spec/unit/util/metric_spec.rb +9 -2
- data/spec/unit/util/monkey_patches_spec.rb +6 -188
- data/spec/unit/util/run_mode_spec.rb +17 -10
- data/spec/unit/util/tag_set_spec.rb +2 -2
- data/spec/unit/util/tagging_spec.rb +55 -0
- data/spec/unit/util/windows/adsi_spec.rb +27 -31
- data/spec/unit/util/windows/api_types_spec.rb +0 -51
- data/spec/unit/util/windows/eventlog_spec.rb +123 -0
- data/spec/unit/util/windows/sid_spec.rb +15 -86
- data/spec/unit/util_spec.rb +7 -1
- data/tasks/benchmark.rake +3 -3
- data/tasks/cfpropertylist.rake +1 -1
- data/tasks/generate_ast_model.rake +78 -0
- data/tasks/manpages.rake +1 -1
- data/tasks/parallel.rake +7 -12
- metadata +3436 -3695
- checksums.yaml +0 -7
- data/bin/extlookup2hiera +0 -56
- data/ext/emacs/puppet-mode-init.el +0 -6
- data/ext/emacs/puppet-mode.el +0 -433
- data/ext/vim/README +0 -3
- data/ext/vim/ftdetect/puppet.vim +0 -2
- data/ext/vim/ftplugin/puppet.vim +0 -94
- data/ext/vim/indent/puppet.vim +0 -76
- data/ext/vim/syntax/puppet.vim +0 -115
- data/lib/puppet/application/file.rb +0 -4
- data/lib/puppet/application/inspect.rb +0 -184
- data/lib/puppet/application/resource_type.rb +0 -7
- data/lib/puppet/data_providers.rb +0 -34
- data/lib/puppet/data_providers/data_adapter.rb +0 -37
- data/lib/puppet/data_providers/data_function_support.rb +0 -32
- data/lib/puppet/data_providers/function_env_data_provider.rb +0 -26
- data/lib/puppet/data_providers/function_module_data_provider.rb +0 -24
- data/lib/puppet/data_providers/hiera_config.rb +0 -151
- data/lib/puppet/data_providers/hiera_env_data_provider.rb +0 -25
- data/lib/puppet/data_providers/hiera_interpolate.rb +0 -21
- data/lib/puppet/data_providers/hiera_module_data_provider.rb +0 -30
- data/lib/puppet/data_providers/hiera_support.rb +0 -42
- data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -38
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +0 -40
- data/lib/puppet/face/file.rb +0 -50
- data/lib/puppet/face/file/download.rb +0 -56
- data/lib/puppet/face/file/store.rb +0 -21
- data/lib/puppet/face/resource_type.rb +0 -84
- data/lib/puppet/feature/cfacter.rb +0 -15
- data/lib/puppet/feature/external_facts.rb +0 -5
- data/lib/puppet/indirector/catalog/static_compiler.rb +0 -232
- data/lib/puppet/indirector/resource_type.rb +0 -5
- data/lib/puppet/indirector/resource_type/parser.rb +0 -108
- data/lib/puppet/indirector/resource_type/rest.rb +0 -7
- data/lib/puppet/parser/yaml_trimmer.rb +0 -7
- data/lib/puppet/plugins/binding_schemes.rb +0 -140
- data/lib/puppet/plugins/data_providers.rb +0 -45
- data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
- data/lib/puppet/plugins/data_providers/registry.rb +0 -51
- data/lib/puppet/pops/binder/binder.rb +0 -398
- data/lib/puppet/pops/binder/binder_issues.rb +0 -124
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -201
- data/lib/puppet/pops/binder/bindings_composer.rb +0 -181
- data/lib/puppet/pops/binder/bindings_factory.rb +0 -813
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -45
- data/lib/puppet/pops/binder/bindings_loader.rb +0 -87
- data/lib/puppet/pops/binder/bindings_model.rb +0 -70
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +0 -215
- data/lib/puppet/pops/binder/bindings_model_meta.rb +0 -215
- data/lib/puppet/pops/binder/bindings_validator_factory.rb +0 -28
- data/lib/puppet/pops/binder/config/binder_config.rb +0 -107
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +0 -142
- data/lib/puppet/pops/binder/config/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/config/issues.rb +0 -90
- data/lib/puppet/pops/binder/injector.rb +0 -771
- data/lib/puppet/pops/binder/injector_entry.rb +0 -57
- data/lib/puppet/pops/binder/key_factory.rb +0 -65
- data/lib/puppet/pops/binder/producers.rb +0 -831
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +0 -34
- data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +0 -143
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +0 -53
- data/lib/puppet/pops/binder/system_bindings.rb +0 -60
- data/lib/puppet/pops/containment.rb +0 -104
- data/lib/puppet/pops/model/model.rb +0 -131
- data/lib/puppet/pops/model/model_meta.rb +0 -629
- data/lib/puppet/pops/serialization/rgen.rb +0 -152
- data/lib/puppet/vendor/load_rgen.rb +0 -2
- data/lib/puppet/vendor/rgen/CHANGELOG +0 -197
- data/lib/puppet/vendor/rgen/MIT-LICENSE +0 -20
- data/lib/puppet/vendor/rgen/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/rgen/README.rdoc +0 -78
- data/lib/puppet/vendor/rgen/Rakefile +0 -41
- data/lib/puppet/vendor/rgen/TODO +0 -41
- data/lib/puppet/vendor/rgen/anounce.txt +0 -61
- data/lib/puppet/vendor/rgen/design_rationale.txt +0 -71
- data/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +0 -54
- data/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +0 -562
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +0 -43
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +0 -103
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +0 -559
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +0 -20
- data/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +0 -28
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +0 -37
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +0 -172
- data/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +0 -218
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +0 -81
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +0 -69
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +0 -167
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/rgen/environment.rb +0 -129
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +0 -63
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +0 -140
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +0 -289
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +0 -117
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +0 -169
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +0 -126
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +0 -331
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +0 -94
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +0 -137
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +0 -97
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +0 -128
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +0 -224
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +0 -556
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +0 -174
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +0 -77
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +0 -30
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +0 -23
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +0 -334
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +0 -225
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +0 -156
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +0 -121
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +0 -18
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +0 -116
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +0 -71
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +0 -98
- data/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +0 -297
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +0 -83
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +0 -87
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +0 -234
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +0 -475
- data/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +0 -61
- data/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +0 -67
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +0 -124
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +0 -84
- data/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +0 -114
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +0 -68
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +0 -142
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +0 -29
- data/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +0 -329
- data/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +0 -79
- data/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +0 -127
- data/lib/puppet/vendor/rgen/test/array_extensions_test.rb +0 -64
- data/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +0 -35
- data/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +0 -23
- data/lib/puppet/vendor/rgen/test/ecore_self_test.rb +0 -54
- data/lib/puppet/vendor/rgen/test/environment_test.rb +0 -90
- data/lib/puppet/vendor/rgen/test/json_test.rb +0 -171
- data/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +0 -1482
- data/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +0 -57
- data/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +0 -131
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +0 -98
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +0 -70
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +0 -42
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +0 -44
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +0 -9
- data/lib/puppet/vendor/rgen/test/method_delegation_test.rb +0 -178
- data/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +0 -59
- data/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +0 -242
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +0 -156
- data/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +0 -94
- data/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +0 -42
- data/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +0 -23
- data/lib/puppet/vendor/rgen/test/model_builder_test.rb +0 -6
- data/lib/puppet/vendor/rgen/test/model_fragment_test.rb +0 -30
- data/lib/puppet/vendor/rgen/test/output_handler_test.rb +0 -58
- data/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +0 -48
- data/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +0 -102
- data/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +0 -117
- data/lib/puppet/vendor/rgen/test/rgen_test.rb +0 -26
- data/lib/puppet/vendor/rgen/test/template_language_test.rb +0 -163
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +0 -11
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +0 -24
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +0 -13
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +0 -10
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +0 -17
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +0 -31
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
- data/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +0 -119
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +0 -1029
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +0 -317
- data/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +0 -101
- data/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +0 -22
- data/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +0 -67
- data/lib/puppet/vendor/rgen/test/transformer_test.rb +0 -254
- data/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +0 -99
- data/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +0 -97
- data/lib/puppet/vendor/rgen/test/util_test.rb +0 -5
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +0 -160
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +0 -94
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +0 -53
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +0 -49
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +0 -75
- data/lib/puppet/vendor/rgen_patch.rb +0 -132
- data/lib/semver.rb +0 -146
- data/man/man8/extlookup2hiera.8 +0 -10
- data/man/man8/puppet-file.8 +0 -189
- data/man/man8/puppet-generate.8 +0 -84
- data/man/man8/puppet-lookup.8 +0 -87
- data/man/man8/puppet-resource_type.8 +0 -188
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +0 -2
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +0 -23
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +0 -54
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +0 -5
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -10
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -23
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +0 -3
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +0 -9
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
- data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
- data/spec/unit/application/inspect_spec.rb +0 -316
- data/spec/unit/data_providers/custom_data_provider_spec.rb +0 -50
- data/spec/unit/face/file_spec.rb +0 -14
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -255
- data/spec/unit/indirector/resource_type/parser_spec.rb +0 -259
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -14
- data/spec/unit/pops/binder/binder_spec.rb +0 -43
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -155
- data/spec/unit/pops/binder/bindings_composer_spec.rb +0 -64
- data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +0 -18
- data/spec/unit/pops/binder/config/binder_config_spec.rb +0 -42
- data/spec/unit/pops/binder/injector_spec.rb +0 -768
- data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +0 -23
- data/spec/unit/pops/serialization/rgen_spec.rb +0 -88
- data/spec/unit/semver_spec.rb +0 -546
@@ -247,9 +247,9 @@ describe Puppet::Parser::Scope do
|
|
247
247
|
@scope.class_scope(klass)
|
248
248
|
end
|
249
249
|
|
250
|
-
it "should be able to look up explicitly fully qualified variables from
|
250
|
+
it "should be able to look up explicitly fully qualified variables from compiler's top scope" do
|
251
251
|
Puppet.expects(:deprecation_warning).never
|
252
|
-
other_scope =
|
252
|
+
other_scope = @scope.compiler.topscope
|
253
253
|
|
254
254
|
other_scope["othervar"] = "otherval"
|
255
255
|
|
@@ -367,59 +367,13 @@ describe Puppet::Parser::Scope do
|
|
367
367
|
end
|
368
368
|
end
|
369
369
|
|
370
|
-
describe "when variables are set with append=true" do
|
371
|
-
it "should raise error if the variable is already defined in this scope" do
|
372
|
-
@scope.setvar("var", "1", :append => false)
|
373
|
-
expect {
|
374
|
-
@scope.setvar("var", "1", :append => true)
|
375
|
-
}.to raise_error(
|
376
|
-
Puppet::ParseError,
|
377
|
-
"Cannot append, variable '$var' is defined in this scope"
|
378
|
-
)
|
379
|
-
end
|
380
|
-
|
381
|
-
it "should lookup current variable value" do
|
382
|
-
@scope.expects(:[]).with("var").returns("2")
|
383
|
-
@scope.setvar("var", "1", :append => true)
|
384
|
-
end
|
385
|
-
|
386
|
-
it "should store the concatenated string '42'" do
|
387
|
-
@topscope.setvar("var", "4", :append => false)
|
388
|
-
@scope.setvar("var", "2", :append => true)
|
389
|
-
expect(@scope["var"]).to eq("42")
|
390
|
-
end
|
391
|
-
|
392
|
-
it "should store the concatenated array [4,2]" do
|
393
|
-
@topscope.setvar("var", [4], :append => false)
|
394
|
-
@scope.setvar("var", [2], :append => true)
|
395
|
-
expect(@scope["var"]).to eq([4,2])
|
396
|
-
end
|
397
|
-
|
398
|
-
it "should store the merged hash {a => b, c => d}" do
|
399
|
-
@topscope.setvar("var", {"a" => "b"}, :append => false)
|
400
|
-
@scope.setvar("var", {"c" => "d"}, :append => true)
|
401
|
-
expect(@scope["var"]).to eq({"a" => "b", "c" => "d"})
|
402
|
-
end
|
403
|
-
|
404
|
-
it "should raise an error when appending a hash with something other than another hash" do
|
405
|
-
@topscope.setvar("var", {"a" => "b"}, :append => false)
|
406
|
-
|
407
|
-
expect {
|
408
|
-
@scope.setvar("var", "not a hash", :append => true)
|
409
|
-
}.to raise_error(
|
410
|
-
ArgumentError,
|
411
|
-
"Trying to append to a hash with something which is not a hash is unsupported"
|
412
|
-
)
|
413
|
-
end
|
414
|
-
end
|
415
|
-
|
416
370
|
describe "when calling number?" do
|
417
371
|
it "should return nil if called with anything not a number" do
|
418
372
|
expect(Puppet::Parser::Scope.number?([2])).to be_nil
|
419
373
|
end
|
420
374
|
|
421
|
-
it "should return a
|
422
|
-
expect(Puppet::Parser::Scope.number?(2)).to
|
375
|
+
it "should return a Integer for an Integer" do
|
376
|
+
expect(Puppet::Parser::Scope.number?(2)).to be_a(Integer)
|
423
377
|
end
|
424
378
|
|
425
379
|
it "should return a Float for a Float" do
|
@@ -477,31 +431,10 @@ describe Puppet::Parser::Scope do
|
|
477
431
|
|
478
432
|
describe "when using ephemeral variables" do
|
479
433
|
it "should store the variable value" do
|
480
|
-
# @scope.setvar("1", :value, :ephemeral => true)
|
481
434
|
@scope.set_match_data({1 => :value})
|
482
435
|
expect(@scope["1"]).to eq(:value)
|
483
436
|
end
|
484
437
|
|
485
|
-
it "should remove the variable value when unset_ephemeral_var(:all) is called" do
|
486
|
-
# @scope.setvar("1", :value, :ephemeral => true)
|
487
|
-
@scope.set_match_data({1 => :value})
|
488
|
-
@scope.stubs(:parent).returns(nil)
|
489
|
-
|
490
|
-
@scope.unset_ephemeral_var(:all)
|
491
|
-
|
492
|
-
expect(@scope["1"]).to be_nil
|
493
|
-
end
|
494
|
-
|
495
|
-
it "should not remove classic variables when unset_ephemeral_var(:all) is called" do
|
496
|
-
@scope['myvar'] = :value1
|
497
|
-
@scope.set_match_data({1 => :value2})
|
498
|
-
@scope.stubs(:parent).returns(nil)
|
499
|
-
|
500
|
-
@scope.unset_ephemeral_var(:all)
|
501
|
-
|
502
|
-
expect(@scope["myvar"]).to eq(:value1)
|
503
|
-
end
|
504
|
-
|
505
438
|
it "should raise an error when setting numerical variable" do
|
506
439
|
expect {
|
507
440
|
@scope.setvar("1", :value3, :ephemeral => true)
|
@@ -523,8 +456,6 @@ describe Puppet::Parser::Scope do
|
|
523
456
|
end
|
524
457
|
|
525
458
|
it "should not check presence of an ephemeral variable across multiple levels" do
|
526
|
-
# This test was testing that scope actuallys screwed up - making values from earlier matches show as if they
|
527
|
-
# where true for latest match - insanity !
|
528
459
|
@scope.new_ephemeral
|
529
460
|
@scope.set_match_data({1 => :value1})
|
530
461
|
@scope.new_ephemeral
|
@@ -571,14 +502,6 @@ describe Puppet::Parser::Scope do
|
|
571
502
|
expect(@scope["apple"]).to eq(:fruit)
|
572
503
|
end
|
573
504
|
|
574
|
-
it "should remove all local scope variables on unset" do
|
575
|
-
@scope.new_ephemeral true
|
576
|
-
@scope.setvar("apple", :fruit)
|
577
|
-
expect(@scope["apple"]).to eq(:fruit)
|
578
|
-
@scope.unset_ephemeral_var
|
579
|
-
expect(@scope["apple"]).to eq(nil)
|
580
|
-
end
|
581
|
-
|
582
505
|
it 'should store an undef in local scope and let it override parent scope' do
|
583
506
|
@scope['cloaked'] = 'Cloak me please'
|
584
507
|
@scope.new_ephemeral(true)
|
@@ -4,11 +4,6 @@ require 'puppet/pops'
|
|
4
4
|
require 'puppet_spec/pops'
|
5
5
|
require 'puppet_spec/scope'
|
6
6
|
|
7
|
-
require 'rgen/environment'
|
8
|
-
require 'rgen/metamodel_builder'
|
9
|
-
require 'rgen/serializer/json_serializer'
|
10
|
-
require 'rgen/instantiator/json_instantiator'
|
11
|
-
|
12
7
|
describe "Benchmark", :benchmark => true do
|
13
8
|
include PuppetSpec::Pops
|
14
9
|
include PuppetSpec::Scope
|
@@ -28,30 +23,17 @@ $a = "interpolate ${foo} and stuff"
|
|
28
23
|
alias write concat
|
29
24
|
end
|
30
25
|
|
31
|
-
class MyJSonSerializer < RGen::Serializer::JsonSerializer
|
32
|
-
def attributeValue(value, a)
|
33
|
-
x = super
|
34
|
-
puts "#{a.eType} value: <<#{value}>> serialize: <<#{x}>>"
|
35
|
-
x
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
26
|
def json_dump(model)
|
40
27
|
output = StringWriter.new
|
41
|
-
ser =
|
42
|
-
ser.
|
28
|
+
ser = Puppet::Pops::Serialization::Serializer.new(Puppet::Pops::Serialization::JSON.writer.new(output))
|
29
|
+
ser.write(model)
|
30
|
+
ser.finish
|
43
31
|
output
|
44
32
|
end
|
45
33
|
|
46
|
-
def json_load(string)
|
47
|
-
env = RGen::Environment.new
|
48
|
-
inst = RGen::Instantiator::JsonInstantiator.new(env, Puppet::Pops::Model)
|
49
|
-
inst.instantiate(string)
|
50
|
-
end
|
51
|
-
|
52
34
|
it "transformer", :profile => true do
|
53
35
|
parser = Puppet::Pops::Parser::Parser.new()
|
54
|
-
model = parser.parse_string(code).
|
36
|
+
model = parser.parse_string(code).model
|
55
37
|
transformer = Puppet::Pops::Model::AstTransformer.new()
|
56
38
|
m = Benchmark.measure { 10000.times { transformer.transform(model) }}
|
57
39
|
puts "Transformer: #{m}"
|
@@ -67,7 +49,7 @@ $a = "interpolate ${foo} and stuff"
|
|
67
49
|
it "parse transform", :profile => true do
|
68
50
|
parser = Puppet::Pops::Parser::Parser.new()
|
69
51
|
transformer = Puppet::Pops::Model::AstTransformer.new()
|
70
|
-
m = Benchmark.measure { 10000.times { transformer.transform(parser.parse_string(code).
|
52
|
+
m = Benchmark.measure { 10000.times { transformer.transform(parser.parse_string(code).model) }}
|
71
53
|
puts "Parse and transform: #{m}"
|
72
54
|
end
|
73
55
|
|
@@ -85,7 +67,7 @@ $a = "interpolate ${foo} and stuff"
|
|
85
67
|
|
86
68
|
it "marshal1", :profile => true do
|
87
69
|
parser = Puppet::Pops::Parser::EvaluatingParser.new()
|
88
|
-
model = parser.parse_string(code).
|
70
|
+
model = parser.parse_string(code).model
|
89
71
|
dumped = Marshal.dump(model)
|
90
72
|
m = Benchmark.measure { 10000.times { Marshal.load(dumped) }}
|
91
73
|
puts "Marshal1: #{m}"
|
@@ -93,10 +75,10 @@ $a = "interpolate ${foo} and stuff"
|
|
93
75
|
|
94
76
|
it "rgenjson", :profile => true do
|
95
77
|
parser = Puppet::Pops::Parser::EvaluatingParser.new()
|
96
|
-
model = parser.parse_string(code).
|
78
|
+
model = parser.parse_string(code).model
|
97
79
|
dumped = json_dump(model)
|
98
80
|
m = Benchmark.measure { 10000.times { json_load(dumped) }}
|
99
|
-
puts "
|
81
|
+
puts "Pcore Json: #{m}"
|
100
82
|
end
|
101
83
|
|
102
84
|
it "lexer2", :profile => true do
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppet/pops'
|
3
|
-
require File.join(File.dirname(__FILE__), 'factory_rspec_helper')
|
4
|
-
|
5
|
-
describe Puppet::Pops::Containment do
|
6
|
-
include FactoryRspecHelper
|
7
|
-
|
8
|
-
it "Should return an Enumerable if eAllContents is called without arguments" do
|
9
|
-
expect((literal(1) + literal(2)).current.eAllContents.is_a?(Enumerable)).to eq(true)
|
10
|
-
end
|
11
|
-
|
12
|
-
it "Should return all content" do
|
13
|
-
# Note the top object is not included (an ArithmeticOperation with + operator)
|
14
|
-
expect((literal(1) + literal(2) + literal(3)).current.eAllContents.collect {|x| x}.size).to eq(4)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "Should return containing feature" do
|
18
|
-
left = literal(1)
|
19
|
-
right = literal(2)
|
20
|
-
op = left + right
|
21
|
-
|
22
|
-
#pending "eContainingFeature does not work on _uni containments in RGen < 0.6.1"
|
23
|
-
expect(left.current.eContainingFeature).to eq(:left_expr)
|
24
|
-
expect(right.current.eContainingFeature).to eq(:right_expr)
|
25
|
-
end
|
26
|
-
end
|
@@ -24,115 +24,115 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl/AccessOperator' do
|
|
24
24
|
# Note that the factory is not aware of Binary and cannot operate on a
|
25
25
|
# literal binary. Instead, it must create a call to Binary.new() with the base64 encoded
|
26
26
|
# string as an argument
|
27
|
-
CALL_NAMED(QREF("Binary"), true, [Base64.strict_encode64(s)])
|
27
|
+
CALL_NAMED(QREF("Binary"), true, [infer(Base64.strict_encode64(s))])
|
28
28
|
end
|
29
29
|
|
30
30
|
context 'The evaluator when operating on a String' do
|
31
31
|
it 'can get a single character using a single key index to []' do
|
32
|
-
expect(evaluate(literal('abc')
|
32
|
+
expect(evaluate(literal('abc').access_at(1))).to eql('b')
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'can get the last character using the key -1 in []' do
|
36
|
-
expect(evaluate(literal('abc')
|
36
|
+
expect(evaluate(literal('abc').access_at(-1))).to eql('c')
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'can get a substring by giving two keys' do
|
40
|
-
expect(evaluate(literal('abcd')
|
40
|
+
expect(evaluate(literal('abcd').access_at(1,2))).to eql('bc')
|
41
41
|
# flattens keys
|
42
|
-
expect(evaluate(literal('abcd')[
|
42
|
+
expect(evaluate(literal('abcd').access_at([1,2]))).to eql('bc')
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'produces empty string for a substring out of range' do
|
46
|
-
expect(evaluate(literal('abc')
|
46
|
+
expect(evaluate(literal('abc').access_at(100))).to eql('')
|
47
47
|
end
|
48
48
|
|
49
49
|
it 'raises an error if arity is wrong for []' do
|
50
|
-
expect{evaluate(literal('abc')
|
51
|
-
expect{evaluate(literal('abc')
|
50
|
+
expect{evaluate(literal('abc').access_at)}.to raise_error(/String supports \[\] with one or two arguments\. Got 0/)
|
51
|
+
expect{evaluate(literal('abc').access_at(1,2,3))}.to raise_error(/String supports \[\] with one or two arguments\. Got 3/)
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
55
|
context 'The evaluator when operating on a Binary' do
|
56
56
|
it 'can get a single character using a single key index to []' do
|
57
|
-
expect(evaluate(binary('abc')
|
57
|
+
expect(evaluate(binary('abc').access_at(1)).binary_buffer).to eql('b')
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'can get the last character using the key -1 in []' do
|
61
|
-
expect(evaluate(binary('abc')
|
61
|
+
expect(evaluate(binary('abc').access_at(-1)).binary_buffer).to eql('c')
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'can get a substring by giving two keys' do
|
65
|
-
expect(evaluate(binary('abcd')
|
65
|
+
expect(evaluate(binary('abcd').access_at(1,2)).binary_buffer).to eql('bc')
|
66
66
|
# flattens keys
|
67
|
-
expect(evaluate(binary('abcd')[
|
67
|
+
expect(evaluate(binary('abcd').access_at([1,2])).binary_buffer).to eql('bc')
|
68
68
|
end
|
69
69
|
|
70
70
|
it 'produces empty string for a substring out of range' do
|
71
|
-
expect(evaluate(binary('abc')
|
71
|
+
expect(evaluate(binary('abc').access_at(100)).binary_buffer).to eql('')
|
72
72
|
end
|
73
73
|
|
74
74
|
it 'raises an error if arity is wrong for []' do
|
75
|
-
expect{evaluate(binary('abc')
|
76
|
-
expect{evaluate(binary('abc')
|
75
|
+
expect{evaluate(binary('abc').access_at)}.to raise_error(/String supports \[\] with one or two arguments\. Got 0/)
|
76
|
+
expect{evaluate(binary('abc').access_at(1,2,3))}.to raise_error(/String supports \[\] with one or two arguments\. Got 3/)
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
80
|
context 'The evaluator when operating on an Array' do
|
81
81
|
it 'is tested with the correct assumptions' do
|
82
|
-
expect(literal([1,2,3])
|
82
|
+
expect(literal([1,2,3]).access_at(1).model_class <= Puppet::Pops::Model::AccessExpression).to eql(true)
|
83
83
|
end
|
84
84
|
|
85
85
|
it 'can get an element using a single key index to []' do
|
86
|
-
expect(evaluate(literal([1,2,3])
|
86
|
+
expect(evaluate(literal([1,2,3]).access_at(1))).to eql(2)
|
87
87
|
end
|
88
88
|
|
89
89
|
it 'can get the last element using the key -1 in []' do
|
90
|
-
expect(evaluate(literal([1,2,3])
|
90
|
+
expect(evaluate(literal([1,2,3]).access_at(-1))).to eql(3)
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'can get a slice of elements using two keys' do
|
94
|
-
expect(evaluate(literal([1,2,3,4])
|
94
|
+
expect(evaluate(literal([1,2,3,4]).access_at(1,2))).to eql([2,3])
|
95
95
|
# flattens keys
|
96
|
-
expect(evaluate(literal([1,2,3,4])[
|
96
|
+
expect(evaluate(literal([1,2,3,4]).access_at([1,2]))).to eql([2,3])
|
97
97
|
end
|
98
98
|
|
99
99
|
it 'produces nil for a missing entry' do
|
100
|
-
expect(evaluate(literal([1,2,3])
|
100
|
+
expect(evaluate(literal([1,2,3]).access_at(100))).to eql(nil)
|
101
101
|
end
|
102
102
|
|
103
103
|
it 'raises an error if arity is wrong for []' do
|
104
|
-
expect{evaluate(literal([1,2,3,4])
|
105
|
-
expect{evaluate(literal([1,2,3,4])
|
104
|
+
expect{evaluate(literal([1,2,3,4]).access_at)}.to raise_error(/Array supports \[\] with one or two arguments\. Got 0/)
|
105
|
+
expect{evaluate(literal([1,2,3,4]).access_at(1,2,3))}.to raise_error(/Array supports \[\] with one or two arguments\. Got 3/)
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
109
|
context 'The evaluator when operating on a Hash' do
|
110
110
|
it 'can get a single element giving a single key to []' do
|
111
|
-
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3})
|
111
|
+
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3}).access_at('b'))).to eql(2)
|
112
112
|
end
|
113
113
|
|
114
114
|
it 'can lookup an array' do
|
115
|
-
expect(evaluate(literal({[1]=>10,[2]=>20})[
|
115
|
+
expect(evaluate(literal({[1]=>10,[2]=>20}).access_at([2]))).to eql(20)
|
116
116
|
end
|
117
117
|
|
118
118
|
it 'produces nil for a missing key' do
|
119
|
-
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3})
|
119
|
+
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3}).access_at('x'))).to eql(nil)
|
120
120
|
end
|
121
121
|
|
122
122
|
it 'can get multiple elements by giving multiple keys to []' do
|
123
|
-
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3, 'd'=>4})
|
123
|
+
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3, 'd'=>4}).access_at('b', 'd'))).to eql([2, 4])
|
124
124
|
end
|
125
125
|
|
126
126
|
it 'compacts the result when using multiple keys' do
|
127
|
-
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3, 'd'=>4})
|
127
|
+
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3, 'd'=>4}).access_at('b', 'x'))).to eql([2])
|
128
128
|
end
|
129
129
|
|
130
130
|
it 'produces an empty array if none of multiple given keys were missing' do
|
131
|
-
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3, 'd'=>4})
|
131
|
+
expect(evaluate(literal({'a'=>1,'b'=>2,'c'=>3, 'd'=>4}).access_at('x', 'y'))).to eql([])
|
132
132
|
end
|
133
133
|
|
134
134
|
it 'raises an error if arity is wrong for []' do
|
135
|
-
expect{evaluate(literal({'a'=>1,'b'=>2,'c'=>3})
|
135
|
+
expect{evaluate(literal({'a'=>1,'b'=>2,'c'=>3}).access_at)}.to raise_error(/Hash supports \[\] with one or more arguments\. Got 0/)
|
136
136
|
end
|
137
137
|
end
|
138
138
|
|
@@ -142,187 +142,187 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl/AccessOperator' do
|
|
142
142
|
# Integer
|
143
143
|
#
|
144
144
|
it 'produces an Integer[from, to]' do
|
145
|
-
expr = fqr('Integer')
|
145
|
+
expr = fqr('Integer').access_at(1, 3)
|
146
146
|
expect(evaluate(expr)).to eql(range(1,3))
|
147
147
|
|
148
148
|
# arguments are flattened
|
149
|
-
expr = fqr('Integer')[
|
149
|
+
expr = fqr('Integer').access_at([1, 3])
|
150
150
|
expect(evaluate(expr)).to eql(range(1,3))
|
151
151
|
end
|
152
152
|
|
153
153
|
it 'produces an Integer[1]' do
|
154
|
-
expr = fqr('Integer')
|
154
|
+
expr = fqr('Integer').access_at(1)
|
155
155
|
expect(evaluate(expr)).to eql(range(1,:default))
|
156
156
|
end
|
157
157
|
|
158
158
|
it 'gives an error for Integer[from, <from]' do
|
159
|
-
expr = fqr('Integer')
|
159
|
+
expr = fqr('Integer').access_at(1,0)
|
160
160
|
expect{evaluate(expr)}.to raise_error(/'from' must be less or equal to 'to'/)
|
161
161
|
end
|
162
162
|
|
163
163
|
it 'produces an error for Integer[] if there are more than 2 keys' do
|
164
|
-
expr = fqr('Integer')
|
164
|
+
expr = fqr('Integer').access_at(1,2,3)
|
165
165
|
expect { evaluate(expr)}.to raise_error(/with one or two arguments/)
|
166
166
|
end
|
167
167
|
|
168
168
|
# Float
|
169
169
|
#
|
170
170
|
it 'produces a Float[from, to]' do
|
171
|
-
expr = fqr('Float')
|
171
|
+
expr = fqr('Float').access_at(1, 3)
|
172
172
|
expect(evaluate(expr)).to eql(float_range(1.0,3.0))
|
173
173
|
|
174
174
|
# arguments are flattened
|
175
|
-
expr = fqr('Float')[
|
175
|
+
expr = fqr('Float').access_at([1, 3])
|
176
176
|
expect(evaluate(expr)).to eql(float_range(1.0,3.0))
|
177
177
|
end
|
178
178
|
|
179
179
|
it 'produces a Float[1.0]' do
|
180
|
-
expr = fqr('Float')
|
180
|
+
expr = fqr('Float').access_at(1.0)
|
181
181
|
expect(evaluate(expr)).to eql(float_range(1.0,:default))
|
182
182
|
end
|
183
183
|
|
184
184
|
it 'produces a Float[1]' do
|
185
|
-
expr = fqr('Float')
|
185
|
+
expr = fqr('Float').access_at(1)
|
186
186
|
expect(evaluate(expr)).to eql(float_range(1.0,:default))
|
187
187
|
end
|
188
188
|
|
189
189
|
it 'gives an error for Float[from, <from]' do
|
190
|
-
expr = fqr('Float')
|
190
|
+
expr = fqr('Float').access_at(1.0,0.0)
|
191
191
|
expect{evaluate(expr)}.to raise_error(/'from' must be less or equal to 'to'/)
|
192
192
|
end
|
193
193
|
|
194
194
|
it 'produces an error for Float[] if there are more than 2 keys' do
|
195
|
-
expr = fqr('Float')
|
195
|
+
expr = fqr('Float').access_at(1,2,3)
|
196
196
|
expect { evaluate(expr)}.to raise_error(/with one or two arguments/)
|
197
197
|
end
|
198
198
|
|
199
199
|
# Hash Type
|
200
200
|
#
|
201
201
|
it 'produces a Hash[0, 0] from the expression Hash[0, 0]' do
|
202
|
-
expr = fqr('Hash')
|
202
|
+
expr = fqr('Hash').access_at(0, 0)
|
203
203
|
expect(evaluate(expr)).to be_the_type(types.hash_of(types.default, types.default, types.range(0, 0)))
|
204
204
|
end
|
205
205
|
|
206
206
|
it 'produces a Hash[Scalar,String] from the expression Hash[Scalar, String]' do
|
207
|
-
expr = fqr('Hash')
|
207
|
+
expr = fqr('Hash').access_at(fqr('Scalar'), fqr('String'))
|
208
208
|
expect(evaluate(expr)).to be_the_type(types.hash_of(types.string, types.scalar))
|
209
209
|
|
210
210
|
# arguments are flattened
|
211
|
-
expr = fqr('Hash')[
|
211
|
+
expr = fqr('Hash').access_at([fqr('Scalar'), fqr('String')])
|
212
212
|
expect(evaluate(expr)).to be_the_type(types.hash_of(types.string, types.scalar))
|
213
213
|
end
|
214
214
|
|
215
215
|
it 'gives an error if only one type is specified ' do
|
216
|
-
expr = fqr('Hash')
|
216
|
+
expr = fqr('Hash').access_at(fqr('String'))
|
217
217
|
expect {evaluate(expr)}.to raise_error(/accepts 2 to 4 arguments/)
|
218
218
|
end
|
219
219
|
|
220
220
|
it 'produces a Hash[Scalar,String] from the expression Hash[Integer, Array][Integer, String]' do
|
221
|
-
expr = fqr('Hash')
|
221
|
+
expr = fqr('Hash').access_at(fqr('Integer'), fqr('Array')).access_at(fqr('Integer'), fqr('String'))
|
222
222
|
expect(evaluate(expr)).to be_the_type(types.hash_of(types.string, types.integer))
|
223
223
|
end
|
224
224
|
|
225
225
|
it "gives an error if parameter is not a type" do
|
226
|
-
expr = fqr('Hash')
|
226
|
+
expr = fqr('Hash').access_at('String')
|
227
227
|
expect { evaluate(expr)}.to raise_error(/Hash-Type\[\] arguments must be types/)
|
228
228
|
end
|
229
229
|
|
230
230
|
# Array Type
|
231
231
|
#
|
232
232
|
it 'produces an Array[0, 0] from the expression Array[0, 0]' do
|
233
|
-
expr = fqr('Array')
|
233
|
+
expr = fqr('Array').access_at(0, 0)
|
234
234
|
expect(evaluate(expr)).to be_the_type(types.array_of(types.default, types.range(0, 0)))
|
235
235
|
|
236
236
|
# arguments are flattened
|
237
|
-
expr = fqr('Array')[
|
237
|
+
expr = fqr('Array').access_at([fqr('String')])
|
238
238
|
expect(evaluate(expr)).to be_the_type(types.array_of(types.string))
|
239
239
|
end
|
240
240
|
|
241
241
|
it 'produces an Array[String] from the expression Array[String]' do
|
242
|
-
expr = fqr('Array')
|
242
|
+
expr = fqr('Array').access_at(fqr('String'))
|
243
243
|
expect(evaluate(expr)).to be_the_type(types.array_of(types.string))
|
244
244
|
|
245
245
|
# arguments are flattened
|
246
|
-
expr = fqr('Array')[
|
246
|
+
expr = fqr('Array').access_at([fqr('String')])
|
247
247
|
expect(evaluate(expr)).to be_the_type(types.array_of(types.string))
|
248
248
|
end
|
249
249
|
|
250
250
|
it 'produces an Array[String] from the expression Array[Integer][String]' do
|
251
|
-
expr = fqr('Array')
|
251
|
+
expr = fqr('Array').access_at(fqr('Integer')).access_at(fqr('String'))
|
252
252
|
expect(evaluate(expr)).to be_the_type(types.array_of(types.string))
|
253
253
|
end
|
254
254
|
|
255
255
|
it 'produces a size constrained Array when the last two arguments specify this' do
|
256
|
-
expr = fqr('Array')
|
256
|
+
expr = fqr('Array').access_at(fqr('String'), 1)
|
257
257
|
expected_t = types.array_of(String, types.range(1, :default))
|
258
258
|
expect(evaluate(expr)).to be_the_type(expected_t)
|
259
259
|
|
260
|
-
expr = fqr('Array')
|
260
|
+
expr = fqr('Array').access_at(fqr('String'), 1, 2)
|
261
261
|
expected_t = types.array_of(String, types.range(1, 2))
|
262
262
|
expect(evaluate(expr)).to be_the_type(expected_t)
|
263
263
|
end
|
264
264
|
|
265
265
|
it "Array parameterization gives an error if parameter is not a type" do
|
266
|
-
expr = fqr('Array')
|
266
|
+
expr = fqr('Array').access_at('String')
|
267
267
|
expect { evaluate(expr)}.to raise_error(/Array-Type\[\] arguments must be types/)
|
268
268
|
end
|
269
269
|
|
270
270
|
# Timespan Type
|
271
271
|
#
|
272
272
|
it 'produdes a Timespan type with a lower bound' do
|
273
|
-
expr = fqr('Timespan')
|
273
|
+
expr = fqr('Timespan').access_at({fqn('hours') => literal(3)})
|
274
274
|
expect(evaluate(expr)).to be_the_type(types.timespan({'hours' => 3}))
|
275
275
|
end
|
276
276
|
|
277
277
|
it 'produdes a Timespan type with an upper bound' do
|
278
|
-
expr = fqr('Timespan')
|
278
|
+
expr = fqr('Timespan').access_at(literal(:default), {fqn('hours') => literal(9)})
|
279
279
|
expect(evaluate(expr)).to be_the_type(types.timespan(nil, {'hours' => 9}))
|
280
280
|
end
|
281
281
|
|
282
282
|
it 'produdes a Timespan type with both lower and upper bounds' do
|
283
|
-
expr = fqr('Timespan')
|
283
|
+
expr = fqr('Timespan').access_at({fqn('hours') => literal(3)}, {fqn('hours') => literal(9)})
|
284
284
|
expect(evaluate(expr)).to be_the_type(types.timespan({'hours' => 3}, {'hours' => 9}))
|
285
285
|
end
|
286
286
|
|
287
287
|
# Timestamp Type
|
288
288
|
#
|
289
289
|
it 'produdes a Timestamp type with a lower bound' do
|
290
|
-
expr = fqr('Timestamp')
|
290
|
+
expr = fqr('Timestamp').access_at(literal('2014-12-12T13:14:15 CET'))
|
291
291
|
expect(evaluate(expr)).to be_the_type(types.timestamp('2014-12-12T13:14:15 CET'))
|
292
292
|
end
|
293
293
|
|
294
294
|
it 'produdes a Timestamp type with an upper bound' do
|
295
|
-
expr = fqr('Timestamp')
|
295
|
+
expr = fqr('Timestamp').access_at(literal(:default), literal('2016-08-23T17:50:00 CET'))
|
296
296
|
expect(evaluate(expr)).to be_the_type(types.timestamp(nil, '2016-08-23T17:50:00 CET'))
|
297
297
|
end
|
298
298
|
|
299
299
|
it 'produdes a Timestamp type with both lower and upper bounds' do
|
300
|
-
expr = fqr('Timestamp')
|
300
|
+
expr = fqr('Timestamp').access_at(literal('2014-12-12T13:14:15 CET'), literal('2016-08-23T17:50:00 CET'))
|
301
301
|
expect(evaluate(expr)).to be_the_type(types.timestamp('2014-12-12T13:14:15 CET', '2016-08-23T17:50:00 CET'))
|
302
302
|
end
|
303
303
|
|
304
304
|
# Tuple Type
|
305
305
|
#
|
306
306
|
it 'produces a Tuple[String] from the expression Tuple[String]' do
|
307
|
-
expr = fqr('Tuple')
|
307
|
+
expr = fqr('Tuple').access_at(fqr('String'))
|
308
308
|
expect(evaluate(expr)).to be_the_type(types.tuple([String]))
|
309
309
|
|
310
310
|
# arguments are flattened
|
311
|
-
expr = fqr('Tuple')[
|
311
|
+
expr = fqr('Tuple').access_at([fqr('String')])
|
312
312
|
expect(evaluate(expr)).to be_the_type(types.tuple([String]))
|
313
313
|
end
|
314
314
|
|
315
315
|
it "Tuple parameterization gives an error if parameter is not a type" do
|
316
|
-
expr = fqr('Tuple')
|
316
|
+
expr = fqr('Tuple').access_at('String')
|
317
317
|
expect { evaluate(expr)}.to raise_error(/Tuple-Type, Cannot use String where Any-Type is expected/)
|
318
318
|
end
|
319
319
|
|
320
320
|
it 'produces a varargs Tuple when the last two arguments specify size constraint' do
|
321
|
-
expr = fqr('Tuple')
|
321
|
+
expr = fqr('Tuple').access_at(fqr('String'), 1)
|
322
322
|
expected_t = types.tuple([String], types.range(1, :default))
|
323
323
|
expect(evaluate(expr)).to be_the_type(expected_t)
|
324
324
|
|
325
|
-
expr = fqr('Tuple')
|
325
|
+
expr = fqr('Tuple').access_at(fqr('String'), 1, 2)
|
326
326
|
expected_t = types.tuple([String], types.range(1, 2))
|
327
327
|
expect(evaluate(expr)).to be_the_type(expected_t)
|
328
328
|
end
|
@@ -330,116 +330,116 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl/AccessOperator' do
|
|
330
330
|
# Pattern Type
|
331
331
|
#
|
332
332
|
it 'creates a PPatternType instance when applied to a Pattern' do
|
333
|
-
regexp_expr = fqr('Pattern')
|
333
|
+
regexp_expr = fqr('Pattern').access_at('foo')
|
334
334
|
expect(evaluate(regexp_expr)).to eql(Puppet::Pops::Types::TypeFactory.pattern('foo'))
|
335
335
|
end
|
336
336
|
|
337
337
|
# Regexp Type
|
338
338
|
#
|
339
339
|
it 'creates a Regexp instance when applied to a Pattern' do
|
340
|
-
regexp_expr = fqr('Regexp')
|
340
|
+
regexp_expr = fqr('Regexp').access_at('foo')
|
341
341
|
expect(evaluate(regexp_expr)).to eql(Puppet::Pops::Types::TypeFactory.regexp('foo'))
|
342
342
|
|
343
343
|
# arguments are flattened
|
344
|
-
regexp_expr = fqr('Regexp')[
|
344
|
+
regexp_expr = fqr('Regexp').access_at(['foo'])
|
345
345
|
expect(evaluate(regexp_expr)).to eql(Puppet::Pops::Types::TypeFactory.regexp('foo'))
|
346
346
|
end
|
347
347
|
|
348
348
|
# Class
|
349
349
|
#
|
350
350
|
it 'produces a specific class from Class[classname]' do
|
351
|
-
expr = fqr('Class')
|
351
|
+
expr = fqr('Class').access_at(fqn('apache'))
|
352
352
|
expect(evaluate(expr)).to be_the_type(types.host_class('apache'))
|
353
|
-
expr = fqr('Class')
|
353
|
+
expr = fqr('Class').access_at(literal('apache'))
|
354
354
|
expect(evaluate(expr)).to be_the_type(types.host_class('apache'))
|
355
355
|
end
|
356
356
|
|
357
357
|
it 'produces an array of Class when args are in an array' do
|
358
358
|
# arguments are flattened
|
359
|
-
expr = fqr('Class')[
|
359
|
+
expr = fqr('Class').access_at([fqn('apache')])
|
360
360
|
expect(evaluate(expr)[0]).to be_the_type(types.host_class('apache'))
|
361
361
|
end
|
362
362
|
|
363
363
|
it 'produces undef for Class if arg is undef' do
|
364
364
|
# arguments are flattened
|
365
|
-
expr = fqr('Class')
|
365
|
+
expr = fqr('Class').access_at(nil)
|
366
366
|
expect(evaluate(expr)).to be_nil
|
367
367
|
end
|
368
368
|
|
369
369
|
it 'produces empty array for Class if arg is [undef]' do
|
370
370
|
# arguments are flattened
|
371
|
-
expr = fqr('Class')[
|
371
|
+
expr = fqr('Class').access_at([])
|
372
372
|
expect(evaluate(expr)).to be_eql([])
|
373
|
-
expr = fqr('Class')[
|
373
|
+
expr = fqr('Class').access_at([nil])
|
374
374
|
expect(evaluate(expr)).to be_eql([])
|
375
375
|
end
|
376
376
|
|
377
377
|
it 'raises error if access is to no keys' do
|
378
|
-
expr = fqr('Class')
|
378
|
+
expr = fqr('Class').access_at(fqn('apache')).access_at
|
379
379
|
expect { evaluate(expr) }.to raise_error(/Evaluation Error: Class\[apache\]\[\] accepts 1 or more arguments\. Got 0/)
|
380
380
|
end
|
381
381
|
|
382
382
|
it 'produces a collection of classes when multiple class names are given' do
|
383
|
-
expr = fqr('Class')
|
383
|
+
expr = fqr('Class').access_at(fqn('apache'), literal('nginx'))
|
384
384
|
result = evaluate(expr)
|
385
385
|
expect(result[0]).to be_the_type(types.host_class('apache'))
|
386
386
|
expect(result[1]).to be_the_type(types.host_class('nginx'))
|
387
387
|
end
|
388
388
|
|
389
389
|
it 'removes leading :: in class name' do
|
390
|
-
expr = fqr('Class')
|
390
|
+
expr = fqr('Class').access_at('::evoe')
|
391
391
|
expect(evaluate(expr)).to be_the_type(types.host_class('evoe'))
|
392
392
|
end
|
393
393
|
|
394
394
|
it 'raises error if the name is not a valid name' do
|
395
|
-
expr = fqr('Class')
|
395
|
+
expr = fqr('Class').access_at('fail-whale')
|
396
396
|
expect { evaluate(expr) }.to raise_error(/Illegal name/)
|
397
397
|
end
|
398
398
|
|
399
399
|
it 'downcases capitalized class names' do
|
400
|
-
expr = fqr('Class')
|
400
|
+
expr = fqr('Class').access_at('My::Class')
|
401
401
|
|
402
402
|
expect(evaluate(expr)).to be_the_type(types.host_class('my::class'))
|
403
403
|
end
|
404
404
|
|
405
405
|
it 'gives an error if no keys are given as argument' do
|
406
|
-
expr = fqr('Class')
|
406
|
+
expr = fqr('Class').access_at
|
407
407
|
expect {evaluate(expr)}.to raise_error(/Evaluation Error: Class\[\] accepts 1 or more arguments. Got 0/)
|
408
408
|
end
|
409
409
|
|
410
410
|
it 'produces an empty array if the keys reduce to empty array' do
|
411
|
-
expr = fqr('Class')
|
411
|
+
expr = fqr('Class').access_at(literal([[],[]]))
|
412
412
|
expect(evaluate(expr)).to be_eql([])
|
413
413
|
end
|
414
414
|
|
415
415
|
# Resource
|
416
416
|
it 'produces a specific resource type from Resource[type]' do
|
417
|
-
expr = fqr('Resource')
|
417
|
+
expr = fqr('Resource').access_at(fqr('File'))
|
418
418
|
expect(evaluate(expr)).to be_the_type(types.resource('File'))
|
419
|
-
expr = fqr('Resource')
|
419
|
+
expr = fqr('Resource').access_at(literal('File'))
|
420
420
|
expect(evaluate(expr)).to be_the_type(types.resource('File'))
|
421
421
|
end
|
422
422
|
|
423
423
|
it 'does not allow the type to be specified in an array' do
|
424
424
|
# arguments are flattened
|
425
|
-
expr = fqr('Resource')[
|
425
|
+
expr = fqr('Resource').access_at([fqr('File')])
|
426
426
|
expect{evaluate(expr)}.to raise_error(Puppet::ParseError, /must be a resource type or a String/)
|
427
427
|
end
|
428
428
|
|
429
429
|
it 'produces a specific resource reference type from File[title]' do
|
430
|
-
expr = fqr('File')
|
430
|
+
expr = fqr('File').access_at(literal('/tmp/x'))
|
431
431
|
expect(evaluate(expr)).to be_the_type(types.resource('File', '/tmp/x'))
|
432
432
|
end
|
433
433
|
|
434
434
|
it 'produces a collection of specific resource references when multiple titles are used' do
|
435
435
|
# Using a resource type
|
436
|
-
expr = fqr('File')
|
436
|
+
expr = fqr('File').access_at(literal('x'),literal('y'))
|
437
437
|
result = evaluate(expr)
|
438
438
|
expect(result[0]).to be_the_type(types.resource('File', 'x'))
|
439
439
|
expect(result[1]).to be_the_type(types.resource('File', 'y'))
|
440
440
|
|
441
441
|
# Using generic resource
|
442
|
-
expr = fqr('Resource')
|
442
|
+
expr = fqr('Resource').access_at(fqr('File'), literal('x'),literal('y'))
|
443
443
|
result = evaluate(expr)
|
444
444
|
expect(result[0]).to be_the_type(types.resource('File', 'x'))
|
445
445
|
expect(result[1]).to be_the_type(types.resource('File', 'y'))
|
@@ -447,32 +447,32 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl/AccessOperator' do
|
|
447
447
|
|
448
448
|
it 'produces undef for Resource if arg is undef' do
|
449
449
|
# arguments are flattened
|
450
|
-
expr = fqr('File')
|
450
|
+
expr = fqr('File').access_at(nil)
|
451
451
|
expect(evaluate(expr)).to be_nil
|
452
452
|
end
|
453
453
|
|
454
454
|
it 'gives an error if no keys are given as argument to Resource' do
|
455
|
-
expr = fqr('Resource')
|
455
|
+
expr = fqr('Resource').access_at
|
456
456
|
expect {evaluate(expr)}.to raise_error(/Evaluation Error: Resource\[\] accepts 1 or more arguments. Got 0/)
|
457
457
|
end
|
458
458
|
|
459
459
|
it 'produces an empty array if the type is given, and keys reduce to empty array for Resource' do
|
460
|
-
expr = fqr('Resource')
|
460
|
+
expr = fqr('Resource').access_at(fqr('File'),literal([[],[]]))
|
461
461
|
expect(evaluate(expr)).to be_eql([])
|
462
462
|
end
|
463
463
|
|
464
464
|
it 'gives an error i no keys are given as argument to a specific Resource type' do
|
465
|
-
expr = fqr('File')
|
465
|
+
expr = fqr('File').access_at
|
466
466
|
expect {evaluate(expr)}.to raise_error(/Evaluation Error: File\[\] accepts 1 or more arguments. Got 0/)
|
467
467
|
end
|
468
468
|
|
469
469
|
it 'produces an empty array if the keys reduce to empty array for a specific Resource tyoe' do
|
470
|
-
expr = fqr('File')
|
470
|
+
expr = fqr('File').access_at(literal([[],[]]))
|
471
471
|
expect(evaluate(expr)).to be_eql([])
|
472
472
|
end
|
473
473
|
|
474
474
|
it 'gives an error if resource is not found' do
|
475
|
-
expr = fqr('File')
|
475
|
+
expr = fqr('File').access_at(fqn('x')).access_at(fqn('y'))
|
476
476
|
expect {evaluate(expr)}.to raise_error(/Resource not found: File\['x'\]/)
|
477
477
|
end
|
478
478
|
|
@@ -484,19 +484,19 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl/AccessOperator' do
|
|
484
484
|
end
|
485
485
|
|
486
486
|
it 'produces a NotUndef instance with contained type' do
|
487
|
-
type_expr = fqr('NotUndef')
|
487
|
+
type_expr = fqr('NotUndef').access_at(fqr('Integer'))
|
488
488
|
tf = Puppet::Pops::Types::TypeFactory
|
489
489
|
expect(evaluate(type_expr)).to eql(tf.not_undef(tf.integer))
|
490
490
|
end
|
491
491
|
|
492
492
|
it 'produces a NotUndef instance with String type when given a literal String' do
|
493
|
-
type_expr = fqr('NotUndef')
|
493
|
+
type_expr = fqr('NotUndef').access_at(literal('hey'))
|
494
494
|
tf = Puppet::Pops::Types::TypeFactory
|
495
495
|
expect(evaluate(type_expr)).to be_the_type(tf.not_undef(tf.string('hey')))
|
496
496
|
end
|
497
497
|
|
498
498
|
it 'Produces Optional instance with String type when using a String argument' do
|
499
|
-
type_expr = fqr('Optional')
|
499
|
+
type_expr = fqr('Optional').access_at(literal('hey'))
|
500
500
|
tf = Puppet::Pops::Types::TypeFactory
|
501
501
|
expect(evaluate(type_expr)).to be_the_type(tf.optional(tf.string('hey')))
|
502
502
|
end
|
@@ -504,37 +504,37 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl/AccessOperator' do
|
|
504
504
|
# Type Type
|
505
505
|
#
|
506
506
|
it 'creates a Type instance when applied to a Type' do
|
507
|
-
type_expr = fqr('Type')
|
507
|
+
type_expr = fqr('Type').access_at(fqr('Integer'))
|
508
508
|
tf = Puppet::Pops::Types::TypeFactory
|
509
509
|
expect(evaluate(type_expr)).to eql(tf.type_type(tf.integer))
|
510
510
|
|
511
511
|
# arguments are flattened
|
512
|
-
type_expr = fqr('Type')[
|
512
|
+
type_expr = fqr('Type').access_at([fqr('Integer')])
|
513
513
|
expect(evaluate(type_expr)).to eql(tf.type_type(tf.integer))
|
514
514
|
end
|
515
515
|
|
516
516
|
# Ruby Type
|
517
517
|
#
|
518
518
|
it 'creates a Ruby Type instance when applied to a Ruby Type' do
|
519
|
-
type_expr = fqr('Runtime')
|
519
|
+
type_expr = fqr('Runtime').access_at('ruby','String')
|
520
520
|
tf = Puppet::Pops::Types::TypeFactory
|
521
521
|
expect(evaluate(type_expr)).to eql(tf.ruby_type('String'))
|
522
522
|
|
523
523
|
# arguments are flattened
|
524
|
-
type_expr = fqr('Runtime')[
|
524
|
+
type_expr = fqr('Runtime').access_at(['ruby', 'String'])
|
525
525
|
expect(evaluate(type_expr)).to eql(tf.ruby_type('String'))
|
526
526
|
end
|
527
527
|
|
528
528
|
# Callable Type
|
529
529
|
#
|
530
530
|
it 'produces Callable instance without return type' do
|
531
|
-
type_expr = fqr('Callable')
|
531
|
+
type_expr = fqr('Callable').access_at(fqr('String'))
|
532
532
|
tf = Puppet::Pops::Types::TypeFactory
|
533
533
|
expect(evaluate(type_expr)).to eql(tf.callable(String))
|
534
534
|
end
|
535
535
|
|
536
536
|
it 'produces Callable instance with parameters and return type' do
|
537
|
-
type_expr = fqr('Callable')[
|
537
|
+
type_expr = fqr('Callable').access_at([fqr('String')], fqr('Integer'))
|
538
538
|
tf = Puppet::Pops::Types::TypeFactory
|
539
539
|
expect(evaluate(type_expr)).to eql(tf.callable([String], Integer))
|
540
540
|
end
|