puppet 3.5.1-x86-mingw32 → 3.6.0.rc1-x86-mingw32
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 +5 -0
- data/Gemfile +17 -9
- data/README.md +1 -0
- data/conf/fileserver.conf +4 -3
- data/ext/README.environment +8 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/debian/control +2 -2
- data/ext/debian/puppet-common.dirs +4 -0
- data/ext/debian/rules +4 -0
- data/ext/emacs/puppet-mode-init.el +1 -1
- data/ext/emacs/puppet-mode.el +36 -17
- data/ext/redhat/client.init +3 -3
- data/ext/redhat/puppet.spec.erb +9 -0
- data/ext/systemd/puppet.service +3 -4
- data/ext/systemd/puppetmaster.service +1 -3
- data/install.rb +1 -1
- data/lib/puppet.rb +2 -1
- data/lib/puppet/agent.rb +1 -1
- data/lib/puppet/application.rb +17 -17
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/configurer.rb +4 -1
- data/lib/puppet/configurer/downloader.rb +13 -12
- data/lib/puppet/configurer/plugin_handler.rb +3 -3
- data/lib/puppet/context.rb +6 -1
- data/lib/puppet/defaults.rb +82 -12
- data/lib/puppet/environments.rb +169 -13
- data/lib/puppet/external/nagios/grammar.ry +2 -0
- data/lib/puppet/external/nagios/parser.rb +28 -19
- data/lib/puppet/face/config.rb +19 -6
- data/lib/puppet/face/module/generate.rb +209 -7
- data/lib/puppet/face/module/install.rb +17 -16
- data/lib/puppet/face/module/list.rb +83 -82
- data/lib/puppet/face/module/search.rb +1 -1
- data/lib/puppet/face/module/upgrade.rb +10 -9
- data/lib/puppet/face/parser.rb +3 -2
- data/lib/puppet/face/plugin.rb +8 -4
- data/lib/puppet/file_bucket/dipper.rb +6 -3
- data/lib/puppet/file_bucket/file.rb +4 -2
- data/lib/puppet/file_serving/metadata.rb +1 -1
- data/lib/puppet/file_system/memory_file.rb +27 -1
- data/lib/puppet/file_system/memory_impl.rb +15 -1
- data/lib/puppet/forge.rb +148 -52
- data/lib/puppet/forge/cache.rb +5 -1
- data/lib/puppet/forge/errors.rb +10 -0
- data/lib/puppet/forge/repository.rb +61 -26
- data/lib/puppet/functions.rb +548 -0
- data/lib/puppet/functions/assert_type.rb +42 -0
- data/lib/puppet/functions/import.rb +7 -0
- data/lib/puppet/indirector/facts/facter.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +3 -2
- data/lib/puppet/indirector/rest.rb +18 -0
- data/lib/puppet/loaders.rb +20 -0
- data/lib/puppet/module.rb +2 -2
- data/lib/puppet/module_tool.rb +40 -14
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/applications/application.rb +35 -26
- data/lib/puppet/module_tool/applications/builder.rb +16 -6
- data/lib/puppet/module_tool/applications/checksummer.rb +25 -19
- data/lib/puppet/module_tool/applications/installer.rb +196 -35
- data/lib/puppet/module_tool/applications/searcher.rb +1 -0
- data/lib/puppet/module_tool/applications/uninstaller.rb +7 -1
- data/lib/puppet/module_tool/applications/unpacker.rb +57 -31
- data/lib/puppet/module_tool/applications/upgrader.rb +221 -65
- data/lib/puppet/module_tool/checksums.rb +5 -8
- data/lib/puppet/module_tool/errors/installer.rb +12 -44
- data/lib/puppet/module_tool/errors/shared.rb +84 -11
- data/lib/puppet/module_tool/errors/upgrader.rb +16 -45
- data/lib/puppet/module_tool/install_directory.rb +7 -6
- data/lib/puppet/module_tool/installed_modules.rb +92 -0
- data/lib/puppet/module_tool/local_tarball.rb +91 -0
- data/lib/puppet/module_tool/metadata.rb +119 -115
- data/lib/puppet/module_tool/modulefile.rb +9 -9
- data/lib/puppet/module_tool/shared_behaviors.rb +19 -7
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +79 -0
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +18 -0
- data/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +1 -0
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +7 -0
- data/lib/puppet/module_tool/tar.rb +3 -7
- data/lib/puppet/module_tool/tar/gnu.rb +21 -9
- data/lib/puppet/module_tool/tar/mini.rb +2 -8
- data/lib/puppet/network/http/api/v1.rb +1 -1
- data/lib/puppet/network/http/api/v2/authorization.rb +4 -2
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http_pool.rb +15 -6
- data/lib/puppet/node/environment.rb +91 -20
- data/lib/puppet/parser/ast/pops_bridge.rb +44 -3
- data/lib/puppet/parser/collector.rb +1 -1
- data/lib/puppet/parser/compiler.rb +50 -7
- data/lib/puppet/parser/functions.rb +6 -0
- data/lib/puppet/parser/functions/generate.rb +1 -1
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/pops.rb +22 -1
- data/lib/puppet/pops/adapters.rb +8 -1
- data/lib/puppet/pops/binder/bindings_composer.rb +1 -1
- data/lib/puppet/pops/binder/bindings_factory.rb +1 -1
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +1 -1
- data/lib/puppet/pops/binder/producers.rb +2 -2
- data/lib/puppet/pops/evaluator/access_operator.rb +65 -25
- data/lib/puppet/pops/evaluator/callable_signature.rb +101 -0
- data/lib/puppet/pops/evaluator/closure.rb +57 -2
- data/lib/puppet/pops/evaluator/compare_operator.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +9 -11
- data/lib/puppet/pops/evaluator/runtime3_support.rb +72 -21
- data/lib/puppet/pops/functions/dispatch.rb +71 -0
- data/lib/puppet/pops/functions/dispatcher.rb +237 -0
- data/lib/puppet/pops/functions/function.rb +77 -0
- data/lib/puppet/pops/issues.rb +12 -0
- data/lib/puppet/pops/loader/base_loader.rb +102 -0
- data/lib/puppet/pops/loader/dependency_loader.rb +60 -0
- data/lib/puppet/pops/loader/gem_support.rb +49 -0
- data/lib/puppet/pops/loader/loader.rb +180 -0
- data/lib/puppet/pops/loader/loader_paths.rb +137 -0
- data/lib/puppet/pops/loader/module_loaders.rb +242 -0
- data/lib/puppet/pops/loader/null_loader.rb +44 -0
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +34 -0
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +109 -0
- data/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
- data/lib/puppet/pops/loader/static_loader.rb +69 -0
- data/lib/puppet/pops/loader/uri_helper.rb +22 -0
- data/lib/puppet/pops/loaders.rb +240 -0
- data/lib/puppet/pops/model/factory.rb +13 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +12 -4
- data/lib/puppet/pops/parser/egrammar.ra +31 -18
- data/lib/puppet/pops/parser/eparser.rb +1137 -1106
- data/lib/puppet/pops/parser/lexer2.rb +17 -16
- data/lib/puppet/pops/semantic_error.rb +17 -0
- data/lib/puppet/pops/types/type_calculator.rb +150 -15
- data/lib/puppet/pops/types/type_factory.rb +69 -0
- data/lib/puppet/pops/types/type_parser.rb +9 -0
- data/lib/puppet/pops/types/types.rb +65 -4
- data/lib/puppet/pops/validation/checker4_0.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider/augeas/augeas.rb +2 -2
- data/lib/puppet/provider/cron/crontab.rb +13 -2
- data/lib/puppet/provider/package.rb +24 -0
- data/lib/puppet/provider/package/apt.rb +6 -1
- data/lib/puppet/provider/package/gem.rb +8 -2
- data/lib/puppet/provider/package/msi.rb +0 -15
- data/lib/puppet/provider/package/openbsd.rb +0 -24
- data/lib/puppet/provider/package/rpm.rb +3 -29
- data/lib/puppet/provider/package/windows.rb +0 -15
- data/lib/puppet/provider/package/yum.rb +101 -24
- data/lib/puppet/provider/package/yumhelper.py +31 -1
- data/lib/puppet/provider/package/zypper.rb +10 -28
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/init.rb +3 -0
- data/lib/puppet/provider/service/openbsd.rb +318 -0
- data/lib/puppet/provider/service/redhat.rb +6 -3
- data/lib/puppet/provider/service/systemd.rb +2 -2
- data/lib/puppet/provider/yumrepo/inifile.rb +115 -42
- data/lib/puppet/resource.rb +13 -9
- data/lib/puppet/resource/catalog.rb +12 -6
- data/lib/puppet/resource/type_collection.rb +3 -3
- data/lib/puppet/settings.rb +57 -36
- data/lib/puppet/settings/config_file.rb +5 -0
- data/lib/puppet/settings/environment_conf.rb +147 -0
- data/lib/puppet/settings/ttl_setting.rb +48 -0
- data/lib/puppet/ssl/certificate_authority.rb +2 -3
- data/lib/puppet/ssl/certificate_authority/autosign_command.rb +1 -1
- data/lib/puppet/ssl/certificate_request.rb +4 -4
- data/lib/puppet/ssl/validator/default_validator.rb +2 -2
- data/lib/puppet/status.rb +1 -1
- data/lib/puppet/test/test_helper.rb +1 -0
- data/lib/puppet/type/augeas.rb +13 -1
- data/lib/puppet/type/cron.rb +32 -18
- data/lib/puppet/type/file.rb +4 -2
- data/lib/puppet/type/file/checksum.rb +15 -5
- data/lib/puppet/type/file/content.rb +3 -1
- data/lib/puppet/type/file/source.rb +5 -5
- data/lib/puppet/type/package.rb +12 -17
- data/lib/puppet/type/resources.rb +3 -1
- data/lib/puppet/type/scheduled_task.rb +4 -5
- data/lib/puppet/type/service.rb +12 -2
- data/lib/puppet/type/user.rb +106 -0
- data/lib/puppet/type/yumrepo.rb +9 -1
- data/lib/puppet/util/checksums.rb +60 -1
- data/lib/puppet/util/diff.rb +3 -1
- data/lib/puppet/util/execution.rb +20 -16
- data/lib/puppet/util/feature.rb +3 -0
- data/lib/puppet/util/logging.rb +19 -12
- data/lib/puppet/util/rubygems.rb +10 -0
- data/lib/puppet/util/watched_file.rb +1 -1
- data/lib/puppet/util/windows/security.rb +5 -3
- data/lib/puppet/vendor/load_semantic.rb +1 -0
- data/lib/puppet/vendor/require_vendored.rb +2 -0
- data/lib/puppet/vendor/semantic/Gemfile +20 -0
- data/lib/puppet/vendor/semantic/Rakefile +69 -0
- data/lib/puppet/vendor/semantic/lib/semantic.rb +7 -0
- data/lib/puppet/vendor/semantic/lib/semantic/dependency.rb +181 -0
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/graph.rb +60 -0
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/graph_node.rb +117 -0
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb +46 -0
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/source.rb +25 -0
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/unsatisfiable_graph.rb +31 -0
- data/lib/puppet/vendor/semantic/lib/semantic/version.rb +168 -0
- data/lib/puppet/vendor/semantic/lib/semantic/version_range.rb +424 -0
- data/lib/puppet/vendor/semantic/spec/spec_helper.rb +24 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_node_spec.rb +141 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_spec.rb +162 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/module_release_spec.rb +143 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/source_spec.rb +5 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/unsatisfiable_graph_spec.rb +44 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency_spec.rb +383 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/version_range_spec.rb +307 -0
- data/lib/puppet/vendor/semantic/spec/unit/semantic/version_spec.rb +608 -0
- data/lib/puppet/version.rb +1 -1
- data/spec/fixtures/java.tgz +0 -0
- data/spec/fixtures/stdlib.tgz +0 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/usee/lib/puppet/functions/usee/callee.rb +5 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/user/lib/puppet/functions/user/caller.rb +5 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/user/metadata.json +9 -0
- data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +5 -0
- data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +5 -0
- data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +3 -0
- data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +19 -0
- data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +6 -0
- data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +3 -0
- data/spec/fixtures/unit/provider/naginator/define_empty_param +6 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +7 -0
- data/spec/fixtures/unit/type/user/authorized_keys +5 -0
- data/spec/integration/application/apply_spec.rb +1 -2
- data/spec/integration/configurer_spec.rb +2 -2
- data/spec/integration/faces/plugin_spec.rb +62 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +1 -1
- data/spec/integration/indirector/catalog/queue_spec.rb +1 -1
- data/spec/integration/node/environment_spec.rb +2 -2
- data/spec/integration/parser/future_compiler_spec.rb +96 -142
- data/spec/integration/parser/ruby_manifest_spec.rb +0 -5
- data/spec/integration/provider/cron/crontab_spec.rb +35 -0
- data/spec/integration/type/file_spec.rb +74 -72
- data/spec/integration/util/windows/security_spec.rb +17 -0
- data/spec/lib/matchers/resource.rb +45 -13
- data/spec/lib/puppet_spec/files.rb +18 -0
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +56 -0
- data/spec/lib/puppet_spec/module_tool/stub_source.rb +133 -0
- data/spec/shared_contexts/checksums.rb +55 -0
- data/spec/unit/application/apply_spec.rb +10 -7
- data/spec/unit/application/doc_spec.rb +17 -10
- data/spec/unit/application/indirection_base_spec.rb +18 -10
- data/spec/unit/application/inspect_spec.rb +22 -20
- data/spec/unit/configurer/downloader_spec.rb +7 -6
- data/spec/unit/configurer/plugin_handler_spec.rb +5 -8
- data/spec/unit/configurer_spec.rb +1 -1
- data/spec/unit/context_spec.rb +23 -0
- data/spec/unit/environments_spec.rb +274 -16
- data/spec/unit/face/config_spec.rb +111 -11
- data/spec/unit/face/module/install_spec.rb +14 -85
- data/spec/unit/face/module/list_spec.rb +108 -62
- data/spec/unit/face/module/search_spec.rb +1 -1
- data/spec/unit/face/module/uninstall_spec.rb +21 -42
- data/spec/unit/face/parser_spec.rb +5 -2
- data/spec/unit/file_bucket/dipper_spec.rb +92 -86
- data/spec/unit/file_bucket/file_spec.rb +23 -75
- data/spec/unit/file_serving/metadata_spec.rb +74 -74
- data/spec/unit/forge/module_release_spec.rb +131 -0
- data/spec/unit/forge/repository_spec.rb +21 -20
- data/spec/unit/forge_spec.rb +99 -23
- data/spec/unit/functions/assert_type_spec.rb +59 -0
- data/spec/unit/functions4_spec.rb +671 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +2 -2
- data/spec/unit/indirector/facts/facter_spec.rb +9 -3
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +156 -155
- data/spec/unit/indirector/rest_spec.rb +8 -0
- data/spec/unit/interface/face_collection_spec.rb +35 -23
- data/spec/unit/module_spec.rb +20 -8
- data/spec/unit/module_tool/applications/builder_spec.rb +40 -12
- data/spec/unit/module_tool/applications/checksummer_spec.rb +86 -105
- data/spec/unit/module_tool/applications/installer_spec.rb +293 -261
- data/spec/unit/module_tool/applications/searcher_spec.rb +1 -1
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +90 -154
- data/spec/unit/module_tool/applications/unpacker_spec.rb +12 -12
- data/spec/unit/module_tool/applications/upgrader_spec.rb +286 -18
- data/spec/unit/module_tool/metadata_spec.rb +223 -14
- data/spec/unit/module_tool/tar/gnu_spec.rb +12 -9
- data/spec/unit/module_tool/tar/mini_spec.rb +1 -1
- data/spec/unit/module_tool/tar_spec.rb +4 -18
- data/spec/unit/module_tool_spec.rb +123 -27
- data/spec/unit/network/formats_spec.rb +2 -2
- data/spec/unit/network/http_pool_spec.rb +21 -0
- data/spec/unit/network/rights_spec.rb +10 -8
- data/spec/unit/node/environment_spec.rb +27 -2
- data/spec/unit/parser/collector_spec.rb +1 -1
- data/spec/unit/parser/compiler_spec.rb +1 -1
- data/spec/unit/parser/functions/generate_spec.rb +4 -0
- data/spec/unit/pops/evaluator/access_ops_spec.rb +50 -11
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +25 -0
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +44 -0
- data/spec/unit/pops/loaders/loader_paths_spec.rb +66 -0
- data/spec/unit/pops/loaders/loaders_spec.rb +105 -0
- data/spec/unit/pops/loaders/module_loaders_spec.rb +119 -0
- data/spec/unit/pops/loaders/static_loader_spec.rb +46 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +145 -10
- data/spec/unit/pops/types/type_factory_spec.rb +101 -0
- data/spec/unit/pops/types/type_parser_spec.rb +22 -0
- data/spec/unit/property/list_spec.rb +9 -1
- data/spec/unit/provider/augeas/augeas_spec.rb +58 -11
- data/spec/unit/provider/cron/crontab_spec.rb +1 -0
- data/spec/unit/provider/cron/parsed_spec.rb +15 -0
- data/spec/unit/provider/naginator_spec.rb +14 -0
- data/spec/unit/provider/package/apt_spec.rb +78 -64
- data/spec/unit/provider/package/gem_spec.rb +15 -0
- data/spec/unit/provider/package/rpm_spec.rb +6 -6
- data/spec/unit/provider/package/windows_spec.rb +1 -1
- data/spec/unit/provider/package/yum_spec.rb +199 -104
- data/spec/unit/provider/package/zypper_spec.rb +41 -15
- data/spec/unit/provider/service/openbsd_spec.rb +129 -22
- data/spec/unit/provider/service/redhat_spec.rb +18 -4
- data/spec/unit/provider/service/systemd_spec.rb +5 -9
- data/spec/unit/provider/service/upstart_spec.rb +1 -1
- data/spec/unit/provider/user/directoryservice_spec.rb +10 -0
- data/spec/unit/provider/yumrepo/inifile_spec.rb +171 -15
- data/spec/unit/resource/catalog_spec.rb +20 -104
- data/spec/unit/resource/type_collection_spec.rb +10 -9
- data/spec/unit/settings/config_file_spec.rb +29 -6
- data/spec/unit/settings/environment_conf_spec.rb +51 -0
- data/spec/unit/settings_spec.rb +97 -12
- data/spec/unit/ssl/certificate_authority_spec.rb +2 -0
- data/spec/unit/type/augeas_spec.rb +1 -1
- data/spec/unit/type/cron_spec.rb +6 -7
- data/spec/unit/type/file/checksum_spec.rb +6 -0
- data/spec/unit/type/file/content_spec.rb +277 -207
- data/spec/unit/type/file_spec.rb +9 -7
- data/spec/unit/type/user_spec.rb +106 -18
- data/spec/unit/type/yumrepo_spec.rb +8 -0
- data/spec/unit/util/checksums_spec.rb +12 -5
- data/spec/unit/util/diff_spec.rb +8 -0
- data/spec/unit/util/execution_spec.rb +4 -4
- data/spec/unit/util/feature_spec.rb +2 -0
- data/spec/unit/util/logging_spec.rb +14 -4
- data/spec/unit/util/rdoc/parser_spec.rb +5 -4
- data/spec/unit/util/rubygems_spec.rb +14 -0
- data/tasks/parallel.rake +2 -2
- metadata +154 -21
- checksums.yaml +0 -7
- data/lib/puppet/module_tool/applications/generator.rb +0 -142
- data/lib/puppet/module_tool/skeleton.rb +0 -37
- data/lib/puppet/module_tool/skeleton/templates/generator/Modulefile.erb +0 -11
- data/lib/puppet/module_tool/skeleton/templates/generator/README.erb +0 -16
- data/lib/puppet/module_tool/tar/solaris.rb +0 -5
- data/spec/fixtures/unit/provider/service/systemd/list_units_services +0 -17
- data/spec/unit/module_tool/tar/solaris_spec.rb +0 -22
@@ -836,10 +836,6 @@ describe Puppet::Resource::Catalog, "when converting to pson" do
|
|
836
836
|
end
|
837
837
|
|
838
838
|
describe Puppet::Resource::Catalog, "when converting from pson" do
|
839
|
-
def pson_result_should
|
840
|
-
Puppet::Resource::Catalog.expects(:new).with { |hash| yield hash }
|
841
|
-
end
|
842
|
-
|
843
839
|
before do
|
844
840
|
@data = {
|
845
841
|
'name' => "myhost"
|
@@ -849,125 +845,45 @@ describe Puppet::Resource::Catalog, "when converting from pson" do
|
|
849
845
|
'data' => @data,
|
850
846
|
'metadata' => {}
|
851
847
|
}
|
852
|
-
|
853
|
-
@catalog = Puppet::Resource::Catalog.new("myhost")
|
854
|
-
Puppet::Resource::Catalog.stubs(:new).returns @catalog
|
855
|
-
end
|
856
|
-
|
857
|
-
it "should be extended with the PSON utility module" do
|
858
|
-
Puppet::Resource::Catalog.singleton_class.ancestors.should be_include(Puppet::Util::Pson)
|
859
848
|
end
|
860
849
|
|
861
850
|
it "should create it with the provided name" do
|
862
|
-
Puppet::Resource::Catalog.expects(:new).with('myhost').returns @catalog
|
863
|
-
PSON.parse @pson.to_pson
|
864
|
-
end
|
865
|
-
|
866
|
-
it "should set the provided version on the catalog if one is set" do
|
867
851
|
@data['version'] = 50
|
868
|
-
PSON.parse @pson.to_pson
|
869
|
-
@catalog.version.should == @data['version']
|
870
|
-
end
|
871
|
-
|
872
|
-
it "should set any provided tags on the catalog" do
|
873
852
|
@data['tags'] = %w{one two}
|
874
|
-
PSON.parse @pson.to_pson
|
875
|
-
@catalog.should be_tagged("one")
|
876
|
-
@catalog.should be_tagged("two")
|
877
|
-
end
|
878
|
-
|
879
|
-
it "should set any provided classes on the catalog" do
|
880
853
|
@data['classes'] = %w{one two}
|
881
|
-
|
882
|
-
|
883
|
-
|
854
|
+
@data['edges'] = [Puppet::Relationship.new("File[/foo]", "File[/bar]",
|
855
|
+
:event => "one",
|
856
|
+
:callback => "refresh").to_data_hash]
|
857
|
+
@data['resources'] = [Puppet::Resource.new(:file, "/foo").to_data_hash,
|
858
|
+
Puppet::Resource.new(:file, "/bar").to_data_hash]
|
884
859
|
|
885
|
-
it 'should convert the resources list into resources and add each of them' do
|
886
|
-
@data['resources'] = [Puppet::Resource.new(:file, "/foo"), Puppet::Resource.new(:file, "/bar")]
|
887
860
|
|
888
861
|
catalog = PSON.parse @pson.to_pson
|
889
862
|
|
890
|
-
catalog.
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
@data['resources'] = [Puppet::Resource.new(:file, "/foo")]
|
895
|
-
|
896
|
-
@data['resources'][0].expects(:to_pson).returns '{"title":"/foo","tags":["file"],"type":"File"}'
|
897
|
-
|
898
|
-
@catalog.expects(:add_resource).with { |res| res.type == "File" }
|
899
|
-
|
900
|
-
PSON.parse @pson.to_pson
|
901
|
-
end
|
902
|
-
|
903
|
-
it 'should convert the edges list into edges and add each of them' do
|
904
|
-
one = Puppet::Relationship.new("osource", "otarget", :event => "one", :callback => "refresh")
|
905
|
-
two = Puppet::Relationship.new("tsource", "ttarget", :event => "two", :callback => "refresh")
|
906
|
-
|
907
|
-
@data['edges'] = [one, two]
|
863
|
+
expect(catalog.name).to eq('myhost')
|
864
|
+
expect(catalog.version).to eq(@data['version'])
|
865
|
+
expect(catalog).to be_tagged("one")
|
866
|
+
expect(catalog).to be_tagged("two")
|
908
867
|
|
909
|
-
|
868
|
+
expect(catalog.classes).to eq(@data['classes'])
|
869
|
+
expect(catalog.resources.collect(&:ref)).to eq(["File[/foo]", "File[/bar]"])
|
910
870
|
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
PSON.parse @pson.to_pson
|
915
|
-
end
|
916
|
-
|
917
|
-
it "should be able to convert relationships that do not include 'type' information" do
|
918
|
-
one = Puppet::Relationship.new("osource", "otarget", :event => "one", :callback => "refresh")
|
919
|
-
one.expects(:to_pson).returns "{\"event\":\"one\",\"callback\":\"refresh\",\"source\":\"osource\",\"target\":\"otarget\"}"
|
920
|
-
|
921
|
-
@data['edges'] = [one]
|
922
|
-
|
923
|
-
@catalog.stubs(:resource).returns("eh")
|
924
|
-
|
925
|
-
@catalog.expects(:add_edge).with { |edge| edge.event == "one" }
|
926
|
-
|
927
|
-
PSON.parse @pson.to_pson
|
928
|
-
end
|
929
|
-
|
930
|
-
it "should set the source and target for each edge to the actual resource" do
|
931
|
-
edge = Puppet::Relationship.new("source", "target")
|
932
|
-
|
933
|
-
@data['edges'] = [edge]
|
934
|
-
|
935
|
-
@catalog.expects(:resource).with("source").returns("source_resource")
|
936
|
-
@catalog.expects(:resource).with("target").returns("target_resource")
|
937
|
-
|
938
|
-
@catalog.expects(:add_edge).with { |edge| edge.source == "source_resource" and edge.target == "target_resource" }
|
939
|
-
|
940
|
-
PSON.parse @pson.to_pson
|
871
|
+
expect(catalog.edges.collect(&:event)).to eq(["one"])
|
872
|
+
expect(catalog.edges[0].source).to eq(catalog.resource(:file, "/foo"))
|
873
|
+
expect(catalog.edges[0].target).to eq(catalog.resource(:file, "/bar"))
|
941
874
|
end
|
942
875
|
|
943
876
|
it "should fail if the source resource cannot be found" do
|
944
|
-
|
945
|
-
|
946
|
-
@data['edges'] = [edge]
|
877
|
+
@data['edges'] = [Puppet::Relationship.new("File[/missing]", "File[/bar]").to_data_hash]
|
878
|
+
@data['resources'] = [Puppet::Resource.new(:file, "/bar").to_data_hash]
|
947
879
|
|
948
|
-
@
|
949
|
-
@catalog.stubs(:resource).with("target").returns("target_resource")
|
950
|
-
|
951
|
-
lambda { PSON.parse @pson.to_pson }.should raise_error(ArgumentError)
|
880
|
+
expect { PSON.parse @pson.to_pson }.to raise_error(ArgumentError, /Could not find relationship source/)
|
952
881
|
end
|
953
882
|
|
954
883
|
it "should fail if the target resource cannot be found" do
|
955
|
-
|
956
|
-
|
957
|
-
@data['edges'] = [edge]
|
884
|
+
@data['edges'] = [Puppet::Relationship.new("File[/bar]", "File[/missing]").to_data_hash]
|
885
|
+
@data['resources'] = [Puppet::Resource.new(:file, "/bar").to_data_hash]
|
958
886
|
|
959
|
-
@
|
960
|
-
@catalog.expects(:resource).with("target").returns(nil)
|
961
|
-
|
962
|
-
lambda { PSON.parse @pson.to_pson }.should raise_error(ArgumentError)
|
963
|
-
end
|
964
|
-
|
965
|
-
describe "#title_key_for_ref" do
|
966
|
-
it "should parse a resource ref string into a pair" do
|
967
|
-
@catalog.title_key_for_ref("Title[name]").should == ["Title", "name"]
|
968
|
-
end
|
969
|
-
it "should parse a resource ref string into a pair, even if there's a newline inside the name" do
|
970
|
-
@catalog.title_key_for_ref("Title[na\nme]").should == ["Title", "na\nme"]
|
971
|
-
end
|
887
|
+
expect { PSON.parse @pson.to_pson }.to raise_error(ArgumentError, /Could not find relationship target/)
|
972
888
|
end
|
973
889
|
end
|
@@ -400,18 +400,19 @@ describe Puppet::Resource::TypeCollection do
|
|
400
400
|
@code.version.should == time.to_i
|
401
401
|
end
|
402
402
|
|
403
|
-
|
404
|
-
|
403
|
+
context "when config_version script is specified" do
|
404
|
+
let(:environment) { Puppet::Node::Environment.create(:testing, [], '', '/my/foo') }
|
405
405
|
|
406
|
-
|
407
|
-
|
408
|
-
|
406
|
+
it "should use the output of the environment's config_version setting if one is provided" do
|
407
|
+
Puppet::Util::Execution.expects(:execute).with(["/my/foo"]).returns "output\n"
|
408
|
+
@code.version.should == "output"
|
409
|
+
end
|
409
410
|
|
410
|
-
|
411
|
-
|
412
|
-
Puppet::Util::Execution.expects(:execute).raises(Puppet::ExecutionFailure.new("msg"))
|
411
|
+
it "should raise a puppet parser error if executing config_version fails" do
|
412
|
+
Puppet::Util::Execution.expects(:execute).raises(Puppet::ExecutionFailure.new("msg"))
|
413
413
|
|
414
|
-
|
414
|
+
lambda { @code.version }.should raise_error(Puppet::ParseError)
|
415
|
+
end
|
415
416
|
end
|
416
417
|
end
|
417
418
|
end
|
@@ -5,12 +5,6 @@ require 'puppet/settings/config_file'
|
|
5
5
|
describe Puppet::Settings::ConfigFile do
|
6
6
|
NOTHING = {}
|
7
7
|
|
8
|
-
def section_containing(data)
|
9
|
-
meta = data[:meta] || {}
|
10
|
-
values = data.reject { |key, _| key == :meta }
|
11
|
-
values.merge({ :_meta => Hash[values.keys.collect { |key| [key, meta[key] || {}] }] })
|
12
|
-
end
|
13
|
-
|
14
8
|
def the_parse_of(*lines)
|
15
9
|
config.parse_file(filename, lines.join("\n"))
|
16
10
|
end
|
@@ -130,6 +124,35 @@ badline
|
|
130
124
|
"Illegal section 'global_defaults' in config file #{filename} at line 2"
|
131
125
|
end
|
132
126
|
|
127
|
+
it "issues a single deprecation warning when any section other than main, master, agent or user is parsed" do
|
128
|
+
text = "[legacy]
|
129
|
+
one = 'e'
|
130
|
+
two = 'f'
|
131
|
+
[also_deprecated]
|
132
|
+
one = 'g'
|
133
|
+
"
|
134
|
+
|
135
|
+
config.parse_file(filename, text)
|
136
|
+
|
137
|
+
expect(@logs.map(&:message).grep(/Sections other than/)).to have_exactly(1).item
|
138
|
+
end
|
139
|
+
|
140
|
+
it "does not issue a deprecation warning for main, master, agent or user sections" do
|
141
|
+
text = "[main]
|
142
|
+
one = 'a'
|
143
|
+
[master]
|
144
|
+
one = 'b'
|
145
|
+
[agent]
|
146
|
+
one = 'c'
|
147
|
+
[user]
|
148
|
+
one = 'd'
|
149
|
+
"
|
150
|
+
|
151
|
+
Puppet.expects(:deprecation_warning).never
|
152
|
+
|
153
|
+
config.parse_file(filename, text)
|
154
|
+
end
|
155
|
+
|
133
156
|
it "transforms values with the given function" do
|
134
157
|
config = Puppet::Settings::ConfigFile.new(Proc.new { |value| value + " changed" })
|
135
158
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'puppet/settings/environment_conf.rb'
|
3
|
+
|
4
|
+
describe Puppet::Settings::EnvironmentConf do
|
5
|
+
|
6
|
+
context "with config" do
|
7
|
+
let(:config) { stub(:config) }
|
8
|
+
let(:envconf) { Puppet::Settings::EnvironmentConf.new("/some/direnv", config, ["/global/modulepath"]) }
|
9
|
+
|
10
|
+
it "reads a modulepath from config and does not include global_module_path" do
|
11
|
+
config.expects(:setting).with(:modulepath).returns(
|
12
|
+
mock('setting', :value => '/some/modulepath')
|
13
|
+
)
|
14
|
+
expect(envconf.modulepath).to eq(File.expand_path('/some/modulepath'))
|
15
|
+
end
|
16
|
+
|
17
|
+
it "reads a manifest from config" do
|
18
|
+
config.expects(:setting).with(:manifest).returns(
|
19
|
+
mock('setting', :value => '/some/manifest')
|
20
|
+
)
|
21
|
+
expect(envconf.manifest).to eq(File.expand_path('/some/manifest'))
|
22
|
+
end
|
23
|
+
|
24
|
+
it "reads a config_version from config" do
|
25
|
+
config.expects(:setting).with(:config_version).returns(
|
26
|
+
mock('setting', :value => '/some/version.sh')
|
27
|
+
)
|
28
|
+
expect(envconf.config_version).to eq(File.expand_path('/some/version.sh'))
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
context "without config" do
|
34
|
+
let(:envconf) { Puppet::Settings::EnvironmentConf.new("/some/direnv", nil, ["/global/modulepath"]) }
|
35
|
+
|
36
|
+
it "returns a default modulepath when config has none, with global_module_path" do
|
37
|
+
expect(envconf.modulepath).to eq(
|
38
|
+
[File.expand_path('/some/direnv/modules'),
|
39
|
+
File.expand_path('/global/modulepath')].join(File::PATH_SEPARATOR)
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
it "returns a default manifest when config has none" do
|
44
|
+
expect(envconf.manifest).to eq(File.expand_path('/some/direnv/manifests'))
|
45
|
+
end
|
46
|
+
|
47
|
+
it "returns nothing for config_version when config has none" do
|
48
|
+
expect(envconf.config_version).to be_nil
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/spec/unit/settings_spec.rb
CHANGED
@@ -755,7 +755,7 @@ describe Puppet::Settings do
|
|
755
755
|
|
756
756
|
Puppet::FileSystem.expects(:exist?).with(myfile).returns(true)
|
757
757
|
|
758
|
-
|
758
|
+
Puppet::FileSystem.expects(:read).with(myfile).returns "[main]"
|
759
759
|
|
760
760
|
@settings.send(:parse_config_files)
|
761
761
|
end
|
@@ -1002,22 +1002,107 @@ describe Puppet::Settings do
|
|
1002
1002
|
@settings[:myarg].should == ""
|
1003
1003
|
end
|
1004
1004
|
|
1005
|
-
describe "
|
1006
|
-
|
1007
|
-
|
1005
|
+
describe "deprecations" do
|
1006
|
+
context "in puppet.conf" do
|
1007
|
+
|
1008
|
+
def assert_puppet_conf_deprecation(setting, matches)
|
1009
|
+
Puppet.expects(:deprecation_warning).with(regexp_matches(matches), anything)
|
1010
|
+
|
1011
|
+
val = "/you/can/set/this/but/will/get/warning"
|
1012
|
+
text = "[main]
|
1013
|
+
#{setting}=#{val}
|
1014
|
+
"
|
1015
|
+
Puppet.settings.parse_config(text)
|
1016
|
+
end
|
1017
|
+
|
1018
|
+
it "warns when manifest is set" do
|
1019
|
+
assert_puppet_conf_deprecation('manifest', /manifest.*puppet.conf/)
|
1020
|
+
end
|
1021
|
+
|
1022
|
+
it "warns when modulepath is set" do
|
1023
|
+
assert_puppet_conf_deprecation('modulepath', /modulepath.*puppet.conf/)
|
1024
|
+
end
|
1025
|
+
|
1026
|
+
it "warns when config_version is set" do
|
1027
|
+
assert_puppet_conf_deprecation('config_version', /config_version.*puppet.conf/)
|
1028
|
+
end
|
1029
|
+
|
1030
|
+
it "warns when manifestdir is set" do
|
1031
|
+
assert_puppet_conf_deprecation('manifestdir', /Setting manifestdir.*is.*deprecated/)
|
1032
|
+
end
|
1033
|
+
|
1034
|
+
it "warns when templatedir is set" do
|
1035
|
+
assert_puppet_conf_deprecation('templatedir', /Setting templatedir.*is.*deprecated/)
|
1036
|
+
end
|
1037
|
+
end
|
1038
|
+
|
1039
|
+
context "on the command line" do
|
1040
|
+
def assert_command_line_deprecation(setting, message)
|
1041
|
+
Puppet.expects(:deprecation_warning).with(message, anything)
|
1042
|
+
|
1043
|
+
args = ["--#{setting}", "/some/value"]
|
1044
|
+
Puppet.settings.send(:parse_global_options, args)
|
1045
|
+
end
|
1046
|
+
|
1047
|
+
def assert_command_line_not_deprecated(setting)
|
1048
|
+
Puppet.expects(:deprecation_warning).never
|
1049
|
+
|
1050
|
+
args = ["--#{setting}", "/some/value"]
|
1051
|
+
Puppet.settings.send(:parse_global_options, args)
|
1052
|
+
end
|
1053
|
+
|
1054
|
+
it "does not warn when manifest is set on command line" do
|
1055
|
+
assert_command_line_not_deprecated('manifest')
|
1056
|
+
end
|
1057
|
+
|
1058
|
+
it "does not warn when modulepath is set on command line" do
|
1059
|
+
assert_command_line_not_deprecated('modulepath')
|
1060
|
+
end
|
1061
|
+
|
1062
|
+
it "does not warn when config_version is set on command line" do
|
1063
|
+
assert_command_line_not_deprecated('config_version')
|
1064
|
+
end
|
1065
|
+
|
1066
|
+
it "warns when manifestdir is set on command line" do
|
1067
|
+
assert_command_line_deprecation('manifestdir', "Setting manifestdir is deprecated. See http://links.puppetlabs.com/env-settings-deprecations")
|
1068
|
+
end
|
1069
|
+
|
1070
|
+
it "warns when templatedir is set on command line" do
|
1071
|
+
assert_command_line_deprecation('templatedir', "Setting templatedir is deprecated. See http://links.puppetlabs.com/env-settings-deprecations")
|
1072
|
+
end
|
1073
|
+
end
|
1074
|
+
|
1075
|
+
context "as settings in the code base" do
|
1076
|
+
def assert_accessing_setting_is_deprecated(setting)
|
1077
|
+
Puppet.expects(:deprecation_warning).with("Accessing '#{setting}' as a setting is deprecated. See http://links.puppetlabs.com/env-settings-deprecations")
|
1078
|
+
Puppet.expects(:deprecation_warning).with("Modifying '#{setting}' as a setting is deprecated. See http://links.puppetlabs.com/env-settings-deprecations")
|
1079
|
+
Puppet[setting.intern] = apath = File.expand_path('foo')
|
1080
|
+
expect(Puppet[setting.intern]).to eq(apath)
|
1081
|
+
end
|
1082
|
+
|
1083
|
+
it "warns when attempt to access a 'manifest' setting" do
|
1084
|
+
assert_accessing_setting_is_deprecated('manifest')
|
1085
|
+
end
|
1086
|
+
|
1087
|
+
it "warns when attempt to access a 'modulepath' setting" do
|
1088
|
+
assert_accessing_setting_is_deprecated('modulepath')
|
1089
|
+
end
|
1090
|
+
it "warns when attempt to access a 'config_version' setting" do
|
1091
|
+
assert_accessing_setting_is_deprecated('config_version')
|
1092
|
+
end
|
1093
|
+
|
1094
|
+
it "warns when attempt to access a 'manifestdir' setting" do
|
1095
|
+
assert_accessing_setting_is_deprecated('manifestdir')
|
1096
|
+
end
|
1097
|
+
|
1098
|
+
it "warns when attempt to access a 'templatedir' setting" do
|
1099
|
+
assert_accessing_setting_is_deprecated('templatedir')
|
1100
|
+
end
|
1008
1101
|
|
1009
|
-
somefile = "/some/file"
|
1010
|
-
text = "[main]
|
1011
|
-
filetimeout = -1
|
1012
|
-
"
|
1013
|
-
File.expects(:read).with(somefile).returns(text)
|
1014
|
-
File.expects(:expand_path).with(somefile).returns somefile
|
1015
|
-
@settings[:config] = somefile
|
1016
1102
|
end
|
1017
1103
|
end
|
1018
1104
|
end
|
1019
1105
|
|
1020
|
-
|
1021
1106
|
describe "when there are multiple config files" do
|
1022
1107
|
let(:main_config_text) { "[main]\none = main\ntwo = main2" }
|
1023
1108
|
let(:user_config_text) { "[main]\none = user\n" }
|
@@ -978,6 +978,7 @@ end
|
|
978
978
|
|
979
979
|
require 'puppet/indirector/memory'
|
980
980
|
|
981
|
+
module CertificateAuthorityGenerateSpecs
|
981
982
|
describe "CertificateAuthority.generate" do
|
982
983
|
|
983
984
|
def expect_to_increment_serial_file
|
@@ -1103,3 +1104,4 @@ describe "CertificateAuthority.generate" do
|
|
1103
1104
|
end
|
1104
1105
|
end
|
1105
1106
|
end
|
1107
|
+
end
|
@@ -34,7 +34,7 @@ describe augeas do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
properties = [:returns]
|
37
|
-
params = [:name, :context, :onlyif, :changes, :root, :load_path, :type_check]
|
37
|
+
params = [:name, :context, :onlyif, :changes, :root, :load_path, :type_check, :show_diff]
|
38
38
|
|
39
39
|
properties.each do |property|
|
40
40
|
it "should have a #{property} property" do
|
data/spec/unit/type/cron_spec.rb
CHANGED
@@ -3,13 +3,17 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Puppet::Type.type(:cron), :unless => Puppet.features.microsoft_windows? do
|
6
|
-
|
6
|
+
let(:simple_provider) do
|
7
7
|
@provider_class = described_class.provide(:simple) { mk_resource_methods }
|
8
8
|
@provider_class.stubs(:suitable?).returns true
|
9
|
+
@provider_class
|
10
|
+
end
|
11
|
+
|
12
|
+
before :each do
|
9
13
|
described_class.stubs(:defaultprovider).returns @provider_class
|
10
14
|
end
|
11
15
|
|
12
|
-
after :
|
16
|
+
after :each do
|
13
17
|
described_class.unprovide(:simple)
|
14
18
|
end
|
15
19
|
|
@@ -526,11 +530,6 @@ describe Puppet::Type.type(:cron), :unless => Puppet.features.microsoft_windows?
|
|
526
530
|
end
|
527
531
|
end
|
528
532
|
|
529
|
-
it "should require a command when adding an entry" do
|
530
|
-
entry = described_class.new(:name => "test_entry", :ensure => :present)
|
531
|
-
expect { entry.value(:command) }.to raise_error(Puppet::Error, /No command/)
|
532
|
-
end
|
533
|
-
|
534
533
|
it "should not require a command when removing an entry" do
|
535
534
|
entry = described_class.new(:name => "test_entry", :ensure => :absent)
|
536
535
|
entry.value(:command).should == nil
|