puppet 3.0.0.rc5 → 3.0.0.rc7
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/LICENSE +1 -1
- data/README_DEVELOPER.md +209 -1
- data/README_HIERA.md +148 -0
- data/Rakefile +25 -27
- data/bin/extlookup2hiera +56 -0
- data/conf/auth.conf +34 -34
- data/examples/hiera/README.md +91 -0
- data/examples/hiera/etc/hiera.yaml +15 -0
- data/examples/hiera/etc/hieradb/common.yaml +3 -0
- data/examples/hiera/etc/hieradb/dc1.yaml +6 -0
- data/examples/hiera/etc/hieradb/development.yaml +2 -0
- data/examples/hiera/etc/puppet.conf +3 -0
- data/examples/hiera/modules/data/manifests/common.pp +3 -0
- data/examples/hiera/modules/ntp/manifests/config.pp +5 -0
- data/examples/hiera/modules/ntp/manifests/data.pp +3 -0
- data/examples/hiera/modules/ntp/templates/ntp.conf.erb +3 -0
- data/examples/hiera/modules/users/manifests/common.pp +3 -0
- data/examples/hiera/modules/users/manifests/dc1.pp +3 -0
- data/examples/hiera/modules/users/manifests/development.pp +3 -0
- data/examples/hiera/site.pp +3 -0
- data/ext/build_defaults.yaml +23 -0
- data/ext/debian/README.Debian +8 -0
- data/ext/debian/README.source +2 -0
- data/ext/debian/TODO.Debian +1 -0
- data/ext/debian/changelog.erb +1104 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +143 -0
- data/ext/debian/copyright +361 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/fileserver.conf +17 -0
- data/ext/debian/puppet-common.dirs +8 -0
- data/ext/debian/puppet-common.install +4 -0
- data/ext/debian/puppet-common.lintian-overrides +5 -0
- data/ext/debian/puppet-common.manpages +2 -0
- data/ext/debian/puppet-common.postinst +35 -0
- data/ext/debian/puppet-common.postrm +32 -0
- data/ext/debian/puppet-el.dirs +1 -0
- data/ext/debian/puppet-el.emacsen-install +25 -0
- data/ext/debian/puppet-el.emacsen-remove +11 -0
- data/ext/debian/puppet-el.emacsen-startup +9 -0
- data/ext/debian/puppet-el.install +1 -0
- data/ext/debian/puppet-testsuite.install +2 -0
- data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
- data/ext/debian/puppet.conf +14 -0
- data/ext/debian/puppet.default +7 -0
- data/ext/debian/puppet.init +118 -0
- data/ext/debian/puppet.lintian-overrides +3 -0
- data/ext/debian/puppet.logrotate +11 -0
- data/ext/debian/puppet.manpages +32 -0
- data/ext/debian/puppet.postinst +20 -0
- data/ext/debian/puppet.postrm +20 -0
- data/ext/debian/puppet.preinst +20 -0
- data/ext/debian/puppetmaster-common.install +2 -0
- data/ext/debian/puppetmaster-common.manpages +2 -0
- data/ext/debian/puppetmaster-common.puppetqd.default +27 -0
- data/ext/debian/puppetmaster-common.puppetqd.init +84 -0
- data/ext/debian/puppetmaster-passenger.dirs +4 -0
- data/ext/debian/puppetmaster-passenger.postinst +66 -0
- data/ext/debian/puppetmaster-passenger.postrm +33 -0
- data/ext/debian/puppetmaster.README.debian +16 -0
- data/ext/debian/puppetmaster.default +38 -0
- data/ext/debian/puppetmaster.init +158 -0
- data/ext/debian/puppetmaster.lintian-overrides +3 -0
- data/ext/debian/puppetmaster.postinst +20 -0
- data/ext/debian/puppetmaster.postrm +5 -0
- data/ext/debian/puppetmaster.preinst +22 -0
- data/ext/debian/rules +128 -0
- data/ext/debian/source/format +1 -0
- data/ext/debian/source/options +1 -0
- data/ext/debian/vim-puppet.README.Debian +13 -0
- data/ext/debian/vim-puppet.dirs +3 -0
- data/ext/debian/vim-puppet.yaml +5 -0
- data/ext/debian/watch +2 -0
- data/ext/emacs/puppet-mode.el +1 -0
- data/ext/envpuppet +4 -0
- data/ext/envpuppet.bat +3 -2
- data/{conf → ext}/freebsd/puppetd +0 -0
- data/{conf → ext}/freebsd/puppetmasterd +0 -0
- data/{conf → ext}/gentoo/conf.d/puppet +0 -0
- data/{conf → ext}/gentoo/conf.d/puppetmaster +0 -0
- data/{conf → ext}/gentoo/init.d/puppet +0 -0
- data/{conf → ext}/gentoo/init.d/puppetmaster +0 -0
- data/{conf → ext}/gentoo/puppet/fileserver.conf +0 -0
- data/{conf → ext}/gentoo/puppet/puppet.conf +0 -0
- data/ext/ips/puppet-agent +49 -0
- data/ext/ips/puppet-master +44 -0
- data/ext/ips/puppet.conf +29 -0
- data/ext/ips/puppet.p5m.erb +12 -0
- data/ext/ips/puppetagent.xml +46 -0
- data/ext/ips/puppetmaster.xml +42 -0
- data/ext/ips/rules +19 -0
- data/ext/ips/transforms +34 -0
- data/{conf → ext}/osx/PackageInfo.plist +0 -0
- data/{conf → ext}/osx/createpackage.sh +1 -1
- data/ext/osx/file_mapping.yaml +33 -0
- data/ext/osx/preflight.erb +37 -0
- data/{tasks/rake/templates → ext/osx}/prototype.plist.erb +0 -0
- data/ext/packaging/README-Solaris.md +117 -0
- data/ext/packaging/README.md +89 -0
- data/ext/packaging/tasks/00_utils.rb +236 -0
- data/ext/packaging/tasks/10_setupvars.rake +62 -0
- data/ext/packaging/tasks/apple.rake +201 -0
- data/ext/packaging/tasks/clean.rake +5 -0
- data/ext/packaging/tasks/deb.rake +105 -0
- data/ext/packaging/tasks/gem.rake +52 -0
- data/ext/packaging/tasks/ips.rake +78 -0
- data/ext/packaging/tasks/mock.rake +88 -0
- data/ext/packaging/tasks/release.rake +20 -0
- data/ext/packaging/tasks/rpm.rake +39 -0
- data/ext/packaging/tasks/ship.rake +34 -0
- data/ext/packaging/tasks/sign.rake +76 -0
- data/ext/packaging/tasks/tar.rake +20 -0
- data/ext/project_data.yaml +25 -0
- data/ext/rack/files/apache2.conf +2 -1
- data/{conf → ext}/redhat/client.init +0 -0
- data/{conf → ext}/redhat/client.sysconfig +0 -0
- data/{conf → ext}/redhat/fileserver.conf +0 -0
- data/{conf → ext}/redhat/logrotate +0 -0
- data/{conf → ext}/redhat/puppet.conf +0 -0
- data/{conf/redhat/puppet.spec → ext/redhat/puppet.spec.erb} +140 -33
- data/{conf → ext}/redhat/queue.init +0 -0
- data/{conf → ext}/redhat/rundir-perms.patch +0 -0
- data/{conf → ext}/redhat/server.init +0 -0
- data/{conf → ext}/redhat/server.sysconfig +0 -0
- data/{conf → ext}/solaris/pkginfo +0 -0
- data/{conf → ext}/solaris/smf/puppetd.xml +0 -0
- data/{conf → ext}/solaris/smf/puppetmasterd.xml +0 -0
- data/{conf → ext}/solaris/smf/svc-puppetd +0 -0
- data/{conf → ext}/solaris/smf/svc-puppetmasterd +0 -0
- data/{conf → ext}/suse/client.init +0 -0
- data/{conf → ext}/suse/fileserver.conf +0 -0
- data/{conf → ext}/suse/logrotate +0 -0
- data/{conf → ext}/suse/puppet.conf +0 -0
- data/{conf → ext}/suse/puppet.spec +1 -1
- data/{conf → ext}/suse/server.init +0 -0
- data/ext/systemd/puppetagent.service +13 -0
- data/ext/systemd/puppetmaster.service +13 -0
- data/{conf → ext}/windows/eventlog/Rakefile +0 -0
- data/{conf → ext}/windows/eventlog/puppetres.dll +0 -0
- data/{conf → ext}/windows/eventlog/puppetres.mc +0 -0
- data/ext/windows/service/daemon.bat +6 -0
- data/ext/windows/service/daemon.rb +90 -0
- data/install.rb +22 -32
- data/lib/hiera/backend/puppet_backend.rb +102 -0
- data/lib/hiera/scope.rb +42 -0
- data/lib/hiera_puppet.rb +89 -0
- data/lib/puppet.rb +1 -1
- data/lib/puppet/agent.rb +2 -2
- data/lib/puppet/agent/locker.rb +12 -9
- data/lib/puppet/application.rb +10 -8
- data/lib/puppet/application/agent.rb +12 -8
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/cert.rb +6 -6
- data/lib/puppet/application/certificate.rb +1 -4
- data/lib/puppet/application/describe.rb +1 -1
- data/lib/puppet/application/device.rb +5 -2
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +3 -13
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/inspect.rb +1 -1
- data/lib/puppet/application/kick.rb +4 -2
- data/lib/puppet/application/master.rb +2 -2
- data/lib/puppet/application/queue.rb +3 -1
- data/lib/puppet/application/resource.rb +1 -1
- data/lib/puppet/configurer.rb +11 -7
- data/lib/puppet/configurer/downloader.rb +1 -4
- data/lib/puppet/daemon.rb +4 -4
- data/lib/puppet/defaults.rb +64 -60
- data/lib/puppet/external/dot.rb +1 -1
- data/lib/puppet/external/pson/common.rb +15 -0
- data/lib/puppet/external/pson/pure.rb +0 -62
- data/lib/puppet/external/pson/pure/generator.rb +1 -1
- data/lib/puppet/external/pson/pure/parser.rb +2 -2
- data/lib/puppet/face/ca.rb +19 -14
- data/lib/puppet/face/config.rb +2 -2
- data/lib/puppet/face/facts.rb +1 -1
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/help/man.erb +3 -6
- data/lib/puppet/face/module/install.rb +1 -1
- data/lib/puppet/face/module/list.rb +1 -1
- data/lib/puppet/face/module/uninstall.rb +1 -1
- data/lib/puppet/face/node.rb +1 -1
- data/lib/puppet/face/node/clean.rb +30 -25
- data/lib/puppet/feature/base.rb +0 -3
- data/lib/puppet/feature/rails.rb +2 -1
- data/lib/puppet/file_serving/terminus_selector.rb +1 -1
- data/lib/puppet/indirector/catalog/active_record.rb +5 -0
- data/lib/puppet/indirector/catalog/static_compiler.rb +2 -3
- data/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/face.rb +3 -3
- data/lib/puppet/indirector/facts/active_record.rb +5 -0
- data/lib/puppet/indirector/facts/facter.rb +1 -4
- data/lib/puppet/indirector/facts/inventory_active_record.rb +6 -0
- data/lib/puppet/indirector/file_bucket_file/file.rb +2 -1
- data/lib/puppet/indirector/indirection.rb +2 -2
- data/lib/puppet/indirector/key/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/node/active_record.rb +5 -0
- data/lib/puppet/indirector/request.rb +4 -0
- data/lib/puppet/indirector/resource/active_record.rb +5 -0
- data/lib/puppet/network/authentication.rb +30 -0
- data/lib/puppet/network/http.rb +0 -13
- data/lib/puppet/network/http/connection.rb +10 -2
- data/lib/puppet/network/http/handler.rb +8 -0
- data/lib/puppet/network/http/mongrel/rest.rb +5 -0
- data/lib/puppet/network/http/rack/rest.rb +7 -0
- data/lib/puppet/network/http/webrick.rb +3 -6
- data/lib/puppet/network/http/webrick/rest.rb +4 -0
- data/lib/puppet/network/server.rb +9 -33
- data/lib/puppet/node.rb +1 -1
- data/lib/puppet/node/facts.rb +0 -1
- data/lib/puppet/parser/compiler.rb +1 -1
- data/lib/puppet/parser/functions.rb +12 -1
- data/lib/puppet/parser/functions/hiera.rb +8 -0
- data/lib/puppet/parser/functions/hiera_array.rb +8 -0
- data/lib/puppet/parser/functions/hiera_hash.rb +8 -0
- data/lib/puppet/parser/functions/hiera_include.rb +11 -0
- data/lib/puppet/parser/functions/shellquote.rb +21 -29
- data/lib/puppet/parser/lexer.rb +2 -1
- data/lib/puppet/parser/scope.rb +8 -0
- data/lib/puppet/provider/exec/windows.rb +1 -1
- data/lib/puppet/provider/group/groupadd.rb +2 -3
- data/lib/puppet/provider/package/pkg.rb +37 -10
- data/lib/puppet/provider/service/daemontools.rb +1 -1
- data/lib/puppet/provider/service/launchd.rb +1 -1
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/runit.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +8 -3
- data/lib/puppet/provider/user/windows_adsi.rb +11 -0
- data/lib/puppet/provider/zfs/zfs.rb +29 -2
- data/lib/puppet/provider/zone/solaris.rb +144 -39
- data/lib/puppet/provider/zpool/zpool.rb +7 -10
- data/lib/puppet/settings.rb +50 -86
- data/lib/puppet/settings/duration_setting.rb +34 -0
- data/lib/puppet/settings/terminus_setting.rb +16 -0
- data/lib/puppet/ssl/base.rb +49 -9
- data/lib/puppet/ssl/certificate.rb +13 -9
- data/lib/puppet/ssl/certificate_authority.rb +4 -0
- data/lib/puppet/ssl/certificate_authority/interface.rb +10 -17
- data/lib/puppet/ssl/certificate_factory.rb +4 -21
- data/lib/puppet/ssl/certificate_request.rb +1 -10
- data/lib/puppet/ssl/certificate_revocation_list.rb +1 -3
- data/lib/puppet/ssl/digest.rb +20 -0
- data/lib/puppet/ssl/host.rb +31 -6
- data/lib/puppet/test/test_helper.rb +1 -1
- data/lib/puppet/transaction/report.rb +2 -1
- data/lib/puppet/type.rb +1 -1
- data/lib/puppet/type/augeas.rb +1 -1
- data/lib/puppet/type/cron.rb +1 -1
- data/lib/puppet/type/exec.rb +7 -8
- data/lib/puppet/type/file.rb +1 -1
- data/lib/puppet/type/file/content.rb +2 -2
- data/lib/puppet/type/file/ensure.rb +1 -1
- data/lib/puppet/type/file/mode.rb +1 -1
- data/lib/puppet/type/file/selcontext.rb +6 -2
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/schedule.rb +1 -1
- data/lib/puppet/type/scheduled_task.rb +1 -1
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/zone.rb +126 -253
- data/lib/puppet/util.rb +10 -23
- data/lib/puppet/util/adsi.rb +22 -14
- data/lib/puppet/util/log/destinations.rb +7 -0
- data/lib/puppet/util/log/rate_limited_logger.rb +40 -0
- data/lib/puppet/util/metric.rb +2 -2
- data/lib/puppet/util/monkey_patches.rb +8 -0
- data/lib/puppet/util/platform.rb +7 -0
- data/lib/puppet/util/selinux.rb +31 -36
- data/lib/puppet/util/windows/error.rb +1 -1
- data/lib/puppet/util/windows/process.rb +3 -3
- data/lib/puppet/util/windows/security.rb +7 -7
- data/lib/puppet/util/windows/user.rb +65 -2
- data/lib/puppet/util/zaml.rb +90 -46
- data/lib/puppet/version.rb +1 -1
- data/spec/fixtures/hiera.yaml +9 -0
- data/spec/fixtures/manifests/site.pp +0 -0
- data/spec/integration/defaults_spec.rb +25 -11
- data/spec/integration/faces/ca_spec.rb +11 -16
- data/spec/integration/network/server/webrick_spec.rb +14 -27
- data/spec/integration/node_spec.rb +4 -1
- data/spec/integration/parser/functions/require_spec.rb +3 -3
- data/spec/integration/parser/undef_param_spec.rb +88 -0
- data/spec/integration/provider/mount_spec.rb +4 -1
- data/spec/integration/ssl/certificate_authority_spec.rb +18 -0
- data/spec/lib/puppet_spec/files.rb +3 -3
- data/spec/lib/puppet_spec/settings.rb +0 -1
- data/spec/shared_contexts/platform.rb +8 -0
- data/spec/spec_helper.rb +6 -0
- data/spec/unit/agent/locker_spec.rb +8 -2
- data/spec/unit/application/agent_spec.rb +29 -7
- data/spec/unit/application/apply_spec.rb +1 -1
- data/spec/unit/application/device_spec.rb +18 -1
- data/spec/unit/application/face_base_spec.rb +16 -2
- data/spec/unit/application/kick_spec.rb +8 -0
- data/spec/unit/application/queue_spec.rb +5 -0
- data/spec/unit/application_spec.rb +13 -23
- data/spec/unit/configurer/downloader_spec.rb +2 -11
- data/spec/unit/configurer_spec.rb +6 -0
- data/spec/unit/face/node_spec.rb +1 -1
- data/spec/unit/hiera/backend/puppet_backend_spec.rb +140 -0
- data/spec/unit/hiera/scope_spec.rb +62 -0
- data/spec/unit/hiera_puppet_spec.rb +111 -0
- data/spec/unit/indirector/catalog/active_record_spec.rb +4 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +194 -0
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/facts/active_record_spec.rb +37 -26
- data/spec/unit/indirector/facts/inventory_active_record_spec.rb +5 -0
- data/spec/unit/indirector/hiera_spec.rb +2 -1
- data/spec/unit/indirector/key/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/node/active_record_spec.rb +7 -0
- data/spec/unit/indirector/request_spec.rb +22 -0
- data/spec/unit/indirector/resource/active_record_spec.rb +5 -0
- data/spec/unit/module_tool/application_spec.rb +1 -1
- data/spec/unit/network/authentication_spec.rb +86 -0
- data/spec/unit/network/http/connection_spec.rb +21 -0
- data/spec/unit/network/http/handler_spec.rb +12 -0
- data/spec/unit/network/http/rack/rest_spec.rb +7 -0
- data/spec/unit/network/http/webrick_spec.rb +11 -26
- data/spec/unit/network/server_spec.rb +79 -192
- data/spec/unit/node/facts_spec.rb +2 -2
- data/spec/unit/parser/ast/vardef_spec.rb +4 -4
- data/spec/unit/parser/files_spec.rb +3 -0
- data/spec/unit/parser/functions/defined_spec.rb +5 -5
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -1
- data/spec/unit/parser/functions/hiera_array_spec.rb +23 -0
- data/spec/unit/parser/functions/hiera_hash_spec.rb +19 -0
- data/spec/unit/parser/functions/hiera_include_spec.rb +19 -0
- data/spec/unit/parser/functions/hiera_spec.rb +21 -0
- data/spec/unit/parser/functions/include_spec.rb +3 -3
- data/spec/unit/parser/functions/realize_spec.rb +3 -3
- data/spec/unit/parser/functions/require_spec.rb +5 -5
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -4
- data/spec/unit/parser/functions_spec.rb +6 -10
- data/spec/unit/parser/lexer_spec.rb +13 -0
- data/spec/unit/parser/scope_spec.rb +16 -1
- data/spec/unit/provider/exec/posix_spec.rb +7 -6
- data/spec/unit/provider/group/groupadd_spec.rb +36 -30
- data/spec/unit/provider/package/pkg_spec.rb +16 -2
- data/spec/unit/provider/service/redhat_spec.rb +2 -2
- data/spec/unit/provider/sshkey/parsed_spec.rb +4 -0
- data/spec/unit/provider/user/user_role_add_spec.rb +125 -126
- data/spec/unit/provider/user/useradd_spec.rb +147 -118
- data/spec/unit/provider/user/windows_adsi_spec.rb +22 -0
- data/spec/unit/provider/zone/solaris_spec.rb +126 -7
- data/spec/unit/provider/zpool/zpool_spec.rb +4 -3
- data/spec/unit/puppet_spec.rb +7 -0
- data/spec/unit/settings/duration_setting_spec.rb +45 -0
- data/spec/unit/settings/terminus_setting_spec.rb +28 -0
- data/spec/unit/settings_spec.rb +21 -23
- data/spec/unit/ssl/base_spec.rb +68 -19
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +19 -30
- data/spec/unit/ssl/certificate_authority_spec.rb +3 -2
- data/spec/unit/ssl/certificate_factory_spec.rb +15 -6
- data/spec/unit/ssl/certificate_request_spec.rb +80 -113
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +1 -1
- data/spec/unit/ssl/certificate_spec.rb +26 -2
- data/spec/unit/ssl/digest_spec.rb +35 -0
- data/spec/unit/ssl/host_spec.rb +73 -27
- data/spec/unit/ssl/key_spec.rb +0 -4
- data/spec/unit/type/exec_spec.rb +1 -1
- data/spec/unit/type/file_spec.rb +2 -1
- data/spec/unit/type/scheduled_task_spec.rb +2 -2
- data/spec/unit/type/zone_spec.rb +52 -10
- data/spec/unit/util/adsi_spec.rb +19 -0
- data/spec/unit/util/checksums_spec.rb +2 -3
- data/spec/unit/util/execution_spec.rb +1 -1
- data/spec/unit/util/log/destinations_spec.rb +1 -0
- data/spec/unit/util/log/rate_limited_logger_spec.rb +51 -0
- data/spec/unit/util/logging_spec.rb +6 -6
- data/spec/unit/util/selinux_spec.rb +24 -32
- data/spec/unit/util/zaml_spec.rb +94 -6
- data/spec/unit/util_spec.rb +17 -0
- data/spec/watchr.rb +2 -6
- data/tasks/{rake/manpages.rake → manpages.rake} +0 -0
- data/tasks/{rake/parser.rake → parser.rake} +0 -0
- metadata +1003 -119
- data/CHANGELOG +0 -9233
- data/conf/osx/preflight +0 -24
- data/lib/puppet/network/http/mongrel.rb +0 -35
- data/lib/puppet/util/config_timeout.rb +0 -24
- data/spec/unit/network/http/mongrel/rest_spec.rb +0 -257
- data/spec/unit/network/http/mongrel_spec.rb +0 -91
- data/spec/unit/network/http_spec.rb +0 -31
- data/spec/unit/util/config_timeout_spec.rb +0 -57
- data/tasks/rake/apple.rake +0 -176
- data/tasks/rake/changelog.rake +0 -15
- data/tasks/rake/ci.rake +0 -22
- data/tasks/rake/dailybuild.rake +0 -9
- data/tasks/rake/gem.rake +0 -63
- data/tasks/rake/git_workflow.rake +0 -134
- data/tasks/rake/metrics.rake +0 -14
- data/tasks/rake/sign.rake +0 -14
- data/tasks/rake/testbranch.rake +0 -16
- data/tasks/rake/yard.rake +0 -11
@@ -12,13 +12,8 @@ end
|
|
12
12
|
describe Puppet::Network::HTTP::WEBrick do
|
13
13
|
include PuppetSpec::Files
|
14
14
|
|
15
|
-
let(:
|
16
|
-
|
17
|
-
:port => 31337,
|
18
|
-
:protocols => [ :rest ],
|
19
|
-
:handlers => [ :node, :catalog ],
|
20
|
-
}
|
21
|
-
end
|
15
|
+
let(:address) { '127.0.0.1' }
|
16
|
+
let(:port) { 31337 }
|
22
17
|
|
23
18
|
let(:server) do
|
24
19
|
s = Puppet::Network::HTTP::WEBrick.new
|
@@ -43,25 +38,15 @@ describe Puppet::Network::HTTP::WEBrick do
|
|
43
38
|
|
44
39
|
describe "when turning on listening" do
|
45
40
|
it "should fail if already listening" do
|
46
|
-
server.listen(
|
47
|
-
expect { server.listen(
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should require a listening address to be specified" do
|
51
|
-
listen_params.delete(:address)
|
52
|
-
expect { server.listen(listen_params) }.to raise_error(ArgumentError, /:address must be specified/)
|
53
|
-
end
|
54
|
-
|
55
|
-
it "should require a listening port to be specified" do
|
56
|
-
listen_params.delete(:port)
|
57
|
-
expect { server.listen(listen_params) }.to raise_error(ArgumentError, /:port must be specified/)
|
41
|
+
server.listen(address, port)
|
42
|
+
expect { server.listen(address, port) }.to raise_error(RuntimeError, /server is already listening/)
|
58
43
|
end
|
59
44
|
|
60
45
|
it "should tell webrick to listen on the specified address and port" do
|
61
46
|
WEBrick::HTTPServer.expects(:new).with {|args|
|
62
47
|
args[:Port] == 31337 and args[:BindAddress] == "127.0.0.1"
|
63
48
|
}.returns(mock_webrick)
|
64
|
-
server.listen(
|
49
|
+
server.listen(address, port)
|
65
50
|
end
|
66
51
|
|
67
52
|
it "should configure a logger for webrick" do
|
@@ -71,7 +56,7 @@ describe Puppet::Network::HTTP::WEBrick do
|
|
71
56
|
args[:Logger] == :mylogger
|
72
57
|
}.returns(mock_webrick)
|
73
58
|
|
74
|
-
server.listen(
|
59
|
+
server.listen(address, port)
|
75
60
|
end
|
76
61
|
|
77
62
|
it "should configure SSL for webrick" do
|
@@ -81,11 +66,11 @@ describe Puppet::Network::HTTP::WEBrick do
|
|
81
66
|
args[:Ssl] == :testing and args[:Other] == :yay
|
82
67
|
}.returns(mock_webrick)
|
83
68
|
|
84
|
-
server.listen(
|
69
|
+
server.listen(address, port)
|
85
70
|
end
|
86
71
|
|
87
72
|
it "should be listening" do
|
88
|
-
server.listen(
|
73
|
+
server.listen(address, port)
|
89
74
|
server.should be_listening
|
90
75
|
end
|
91
76
|
|
@@ -94,7 +79,7 @@ describe Puppet::Network::HTTP::WEBrick do
|
|
94
79
|
# We don't care about the options here.
|
95
80
|
mock_webrick.expects(:mount).with("/", Puppet::Network::HTTP::WEBrickREST, anything)
|
96
81
|
|
97
|
-
server.listen(
|
82
|
+
server.listen(address, port)
|
98
83
|
end
|
99
84
|
end
|
100
85
|
end
|
@@ -106,12 +91,12 @@ describe Puppet::Network::HTTP::WEBrick do
|
|
106
91
|
|
107
92
|
it "should order webrick server to stop" do
|
108
93
|
mock_webrick.expects(:shutdown)
|
109
|
-
server.listen(
|
94
|
+
server.listen(address, port)
|
110
95
|
server.unlisten
|
111
96
|
end
|
112
97
|
|
113
98
|
it "should no longer be listening" do
|
114
|
-
server.listen(
|
99
|
+
server.listen(address, port)
|
115
100
|
server.unlisten
|
116
101
|
server.should_not be_listening
|
117
102
|
end
|
@@ -3,145 +3,87 @@ require 'spec_helper'
|
|
3
3
|
require 'puppet/network/server'
|
4
4
|
|
5
5
|
describe Puppet::Network::Server do
|
6
|
+
let(:port) { 8140 }
|
7
|
+
let(:address) { '0.0.0.0' }
|
8
|
+
let(:server) {
|
9
|
+
server = Puppet::Network::Server.new(address, port)
|
10
|
+
server.stubs(:close_streams)
|
11
|
+
server
|
12
|
+
}
|
13
|
+
|
6
14
|
before do
|
7
|
-
@
|
15
|
+
@mock_http_server = mock('http server')
|
8
16
|
Puppet.settings.stubs(:use)
|
9
17
|
Puppet.run_mode.stubs(:name).returns :master
|
10
|
-
Puppet
|
11
|
-
Puppet[:bindaddress] = ""
|
12
|
-
Puppet[:masterport] = 8140
|
13
|
-
Puppet::Network::HTTP.stubs(:server_class_by_type).returns(@mock_http_server_class)
|
14
|
-
Puppet[:servertype] = :suparserver
|
15
|
-
@server = Puppet::Network::Server.new(:port => 31337)
|
16
|
-
@server.stubs(:close_streams).returns(nil)
|
18
|
+
Puppet::Network::HTTP::WEBrick.stubs(:new).returns(@mock_http_server)
|
17
19
|
end
|
18
20
|
|
19
21
|
describe "when initializing" do
|
20
22
|
before do
|
21
23
|
Puppet::Indirector::Indirection.stubs(:model).returns mock('indirection')
|
22
|
-
Puppet[:bindaddress] = ""
|
23
24
|
Puppet[:masterport] = ''
|
24
25
|
end
|
25
26
|
|
26
|
-
it 'should fail if an unknown option is provided' do
|
27
|
-
expect { Puppet::Network::Server.new(:foo => 31337) }.to raise_error(ArgumentError)
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should allow specifying a listening port" do
|
31
|
-
Puppet[:bindaddress] = ''
|
32
|
-
@server = Puppet::Network::Server.new(:port => 31337)
|
33
|
-
@server.port.should == 31337
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should use the :bindaddress setting to determine the default listening address" do
|
37
|
-
Puppet[:masterport] = ''
|
38
|
-
Puppet[:bindaddress] = "10.0.0.1"
|
39
|
-
@server = Puppet::Network::Server.new
|
40
|
-
@server.address.should == "10.0.0.1"
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should set the bind address to '127.0.0.1' if the default address is an empty string and the server type is mongrel" do
|
44
|
-
Puppet[:servertype] = "mongrel"
|
45
|
-
Puppet[:bindaddress] = ""
|
46
|
-
@server = Puppet::Network::Server.new
|
47
|
-
@server.address.should == '127.0.0.1'
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should set the bind address to '0.0.0.0' if the default address is an empty string and the server type is webrick" do
|
51
|
-
Puppet[:servertype] = "webrick"
|
52
|
-
Puppet[:bindaddress] = ""
|
53
|
-
@server = Puppet::Network::Server.new
|
54
|
-
@server.address.should == '0.0.0.0'
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should use the Puppet configurator to find a default listening port" do
|
58
|
-
Puppet[:bindaddress] = ''
|
59
|
-
Puppet[:masterport] = 6667
|
60
|
-
@server = Puppet::Network::Server.new
|
61
|
-
@server.port.should == 6667
|
62
|
-
end
|
63
|
-
|
64
|
-
it "should use the Puppet configurator to determine which HTTP server will be used to provide access to clients" do
|
65
|
-
Puppet[:servertype] = :suparserver
|
66
|
-
@server = Puppet::Network::Server.new(:port => 31337)
|
67
|
-
@server.server_type.should == :suparserver
|
68
|
-
end
|
69
|
-
|
70
|
-
it "should ask the Puppet::Network::HTTP class to fetch the proper HTTP server class" do
|
71
|
-
Puppet::Network::HTTP.expects(:server_class_by_type).with(:suparserver).returns(@mock_http_server_class)
|
72
|
-
@server = Puppet::Network::Server.new(:port => 31337)
|
73
|
-
end
|
74
|
-
|
75
|
-
it "should fail if the HTTP server class is unknown" do
|
76
|
-
Puppet::Network::HTTP.stubs(:server_class_by_type).returns(nil)
|
77
|
-
expect { Puppet::Network::Server.new(:port => 31337) }.to raise_error(ArgumentError)
|
78
|
-
end
|
79
|
-
|
80
27
|
it "should allow registering REST handlers" do
|
81
|
-
|
82
|
-
expect {
|
28
|
+
server = Puppet::Network::Server.new(address, port, [:foo, :bar, :baz])
|
29
|
+
expect { server.unregister(:foo, :bar, :baz) }.to_not raise_error
|
83
30
|
end
|
84
31
|
|
85
32
|
it "should not be listening after initialization" do
|
86
|
-
Puppet::Network::Server.new(
|
33
|
+
Puppet::Network::Server.new(address, port).should_not be_listening
|
87
34
|
end
|
88
35
|
|
89
36
|
it "should use the :main setting section" do
|
90
37
|
Puppet.settings.expects(:use).with { |*args| args.include?(:main) }
|
91
|
-
|
38
|
+
Puppet::Network::Server.new(address, port)
|
92
39
|
end
|
93
40
|
|
94
41
|
it "should use the :application setting section" do
|
95
42
|
Puppet.settings.expects(:use).with { |*args| args.include?(:application) }
|
96
43
|
|
97
|
-
|
44
|
+
Puppet::Network::Server.new(address, port)
|
98
45
|
end
|
99
46
|
end
|
100
47
|
|
101
|
-
# We don't test the method, because it's too much of a Unix-y pain.
|
102
|
-
it "should be able to daemonize" do
|
103
|
-
@server.should respond_to(:daemonize)
|
104
|
-
end
|
105
|
-
|
106
48
|
describe "when being started" do
|
107
49
|
before do
|
108
|
-
|
109
|
-
|
50
|
+
server.stubs(:listen)
|
51
|
+
server.stubs(:create_pidfile)
|
110
52
|
end
|
111
53
|
|
112
54
|
it "should listen" do
|
113
|
-
|
114
|
-
|
55
|
+
server.expects(:listen)
|
56
|
+
server.start
|
115
57
|
end
|
116
58
|
|
117
59
|
it "should create its PID file" do
|
118
|
-
|
119
|
-
|
60
|
+
server.expects(:create_pidfile)
|
61
|
+
server.start
|
120
62
|
end
|
121
63
|
end
|
122
64
|
|
123
65
|
describe "when being stopped" do
|
124
66
|
before do
|
125
|
-
|
126
|
-
|
67
|
+
server.stubs(:unlisten)
|
68
|
+
server.stubs(:remove_pidfile)
|
127
69
|
end
|
128
70
|
|
129
71
|
it "should unlisten" do
|
130
|
-
|
131
|
-
|
72
|
+
server.expects(:unlisten)
|
73
|
+
server.stop
|
132
74
|
end
|
133
75
|
|
134
76
|
it "should remove its PID file" do
|
135
|
-
|
136
|
-
|
77
|
+
server.expects(:remove_pidfile)
|
78
|
+
server.stop
|
137
79
|
end
|
138
80
|
end
|
139
81
|
|
140
82
|
describe "when creating its pidfile" do
|
141
83
|
it "should use an exclusive mutex" do
|
142
84
|
Puppet.run_mode.expects(:name).returns "me"
|
143
|
-
Puppet::Util.expects(:synchronize_on).with("me",Sync::EX)
|
144
|
-
|
85
|
+
Puppet::Util.expects(:synchronize_on).with("me", Sync::EX)
|
86
|
+
server.create_pidfile
|
145
87
|
end
|
146
88
|
|
147
89
|
it "should lock the pidfile using the Pidlock class" do
|
@@ -153,7 +95,7 @@ describe Puppet::Network::Server do
|
|
153
95
|
Puppet::Util::Pidlock.expects(:new).with(Puppet[:pidfile]).returns pidfile
|
154
96
|
|
155
97
|
pidfile.expects(:lock).returns true
|
156
|
-
|
98
|
+
server.create_pidfile
|
157
99
|
end
|
158
100
|
|
159
101
|
it "should fail if it cannot lock" do
|
@@ -165,7 +107,7 @@ describe Puppet::Network::Server do
|
|
165
107
|
|
166
108
|
pidfile.expects(:lock).returns false
|
167
109
|
|
168
|
-
expect {
|
110
|
+
expect { server.create_pidfile }.to raise_error /Could not create PID/
|
169
111
|
end
|
170
112
|
end
|
171
113
|
|
@@ -173,7 +115,7 @@ describe Puppet::Network::Server do
|
|
173
115
|
it "should use an exclusive mutex" do
|
174
116
|
Puppet.run_mode.expects(:name).returns "me"
|
175
117
|
Puppet::Util.expects(:synchronize_on).with("me",Sync::EX)
|
176
|
-
|
118
|
+
server.remove_pidfile
|
177
119
|
end
|
178
120
|
|
179
121
|
it "should do nothing if the pidfile is not present" do
|
@@ -181,7 +123,7 @@ describe Puppet::Network::Server do
|
|
181
123
|
Puppet[:pidfile] = "/my/file"
|
182
124
|
Puppet::Util::Pidlock.expects(:new).with(Puppet[:pidfile]).returns pidfile
|
183
125
|
|
184
|
-
|
126
|
+
server.remove_pidfile
|
185
127
|
end
|
186
128
|
|
187
129
|
it "should unlock the pidfile using the Pidlock class" do
|
@@ -189,7 +131,7 @@ describe Puppet::Network::Server do
|
|
189
131
|
Puppet[:pidfile] = "/my/file"
|
190
132
|
Puppet::Util::Pidlock.expects(:new).with(Puppet[:pidfile]).returns pidfile
|
191
133
|
|
192
|
-
|
134
|
+
server.remove_pidfile
|
193
135
|
end
|
194
136
|
end
|
195
137
|
|
@@ -199,199 +141,144 @@ describe Puppet::Network::Server do
|
|
199
141
|
end
|
200
142
|
|
201
143
|
it "should allow registering an indirection for client access by specifying its indirection name" do
|
202
|
-
expect {
|
144
|
+
expect { server.register(:foo) }.to_not raise_error
|
203
145
|
end
|
204
146
|
|
205
147
|
it "should require that the indirection be valid" do
|
206
148
|
Puppet::Indirector::Indirection.expects(:model).with(:foo).returns nil
|
207
|
-
expect {
|
149
|
+
expect { server.register(:foo) }.to raise_error(ArgumentError)
|
208
150
|
end
|
209
151
|
|
210
152
|
it "should require at least one indirection name when registering indirections for client access" do
|
211
|
-
expect {
|
153
|
+
expect { server.register }.to raise_error(ArgumentError)
|
212
154
|
end
|
213
155
|
|
214
156
|
it "should allow for numerous indirections to be registered at once for client access" do
|
215
|
-
expect {
|
157
|
+
expect { server.register(:foo, :bar, :baz) }.to_not raise_error
|
216
158
|
end
|
217
159
|
|
218
160
|
it "should allow the use of indirection names to specify which indirections are to be no longer accessible to clients" do
|
219
|
-
|
220
|
-
expect {
|
161
|
+
server.register(:foo)
|
162
|
+
expect { server.unregister(:foo) }.to_not raise_error
|
221
163
|
end
|
222
164
|
|
223
165
|
it "should leave other indirections accessible to clients when turning off indirections" do
|
224
|
-
|
225
|
-
|
226
|
-
expect {
|
166
|
+
server.register(:foo, :bar)
|
167
|
+
server.unregister(:foo)
|
168
|
+
expect { server.unregister(:bar)}.to_not raise_error
|
227
169
|
end
|
228
170
|
|
229
171
|
it "should allow specifying numerous indirections which are to be no longer accessible to clients" do
|
230
|
-
|
231
|
-
expect {
|
172
|
+
server.register(:foo, :bar)
|
173
|
+
expect { server.unregister(:foo, :bar) }.to_not raise_error
|
232
174
|
end
|
233
175
|
|
234
176
|
it "should not turn off any indirections if given unknown indirection names to turn off" do
|
235
|
-
|
236
|
-
expect {
|
237
|
-
expect {
|
177
|
+
server.register(:foo, :bar)
|
178
|
+
expect { server.unregister(:foo, :bar, :baz) }.to raise_error(ArgumentError)
|
179
|
+
expect { server.unregister(:foo, :bar) }.to_not raise_error
|
238
180
|
end
|
239
181
|
|
240
182
|
it "should not allow turning off unknown indirection names" do
|
241
|
-
|
242
|
-
expect {
|
183
|
+
server.register(:foo, :bar)
|
184
|
+
expect { server.unregister(:baz) }.to raise_error(ArgumentError)
|
243
185
|
end
|
244
186
|
|
245
187
|
it "should disable client access immediately when turning off indirections" do
|
246
|
-
|
247
|
-
|
248
|
-
expect {
|
188
|
+
server.register(:foo, :bar)
|
189
|
+
server.unregister(:foo)
|
190
|
+
expect { server.unregister(:foo) }.to raise_error(ArgumentError)
|
249
191
|
end
|
250
192
|
|
251
193
|
it "should allow turning off all indirections at once" do
|
252
|
-
|
253
|
-
|
254
|
-
[
|
255
|
-
expect {
|
194
|
+
server.register(:foo, :bar)
|
195
|
+
server.unregister
|
196
|
+
[:foo, :bar, :baz].each do |indirection|
|
197
|
+
expect { server.unregister(indirection) }.to raise_error(ArgumentError)
|
256
198
|
end
|
257
199
|
end
|
258
200
|
end
|
259
201
|
|
260
|
-
it "should provide a means of determining whether it is listening" do
|
261
|
-
@server.should respond_to(:listening?)
|
262
|
-
end
|
263
|
-
|
264
|
-
it "should provide a means of determining which HTTP server will be used to provide access to clients" do
|
265
|
-
@server.server_type.should == :suparserver
|
266
|
-
end
|
267
|
-
|
268
|
-
it "should provide a means of determining the listening address" do
|
269
|
-
@server.address.should == "127.0.0.1"
|
270
|
-
end
|
271
|
-
|
272
|
-
it "should provide a means of determining the listening port" do
|
273
|
-
@server.port.should == 31337
|
274
|
-
end
|
275
|
-
|
276
202
|
it "should allow for multiple configurations, each handling different indirections" do
|
277
203
|
Puppet::Indirector::Indirection.stubs(:model).returns mock('indirection')
|
278
204
|
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
expect {
|
285
|
-
expect {
|
205
|
+
server2 = Puppet::Network::Server.new(address, port)
|
206
|
+
server.register(:foo, :bar)
|
207
|
+
server2.register(:foo, :xyzzy)
|
208
|
+
server.unregister(:foo, :bar)
|
209
|
+
server2.unregister(:foo, :xyzzy)
|
210
|
+
expect { server.unregister(:xyzzy) }.to raise_error(ArgumentError)
|
211
|
+
expect { server2.unregister(:bar) }.to raise_error(ArgumentError)
|
286
212
|
end
|
287
213
|
|
288
214
|
describe "when listening is off" do
|
289
215
|
before do
|
290
|
-
@mock_http_server = mock('http server')
|
291
216
|
@mock_http_server.stubs(:listen)
|
292
|
-
@server.stubs(:http_server).returns(@mock_http_server)
|
293
217
|
end
|
294
218
|
|
295
219
|
it "should indicate that it is not listening" do
|
296
|
-
|
220
|
+
server.should_not be_listening
|
297
221
|
end
|
298
222
|
|
299
223
|
it "should not allow listening to be turned off" do
|
300
|
-
expect {
|
224
|
+
expect { server.unlisten }.to raise_error(RuntimeError)
|
301
225
|
end
|
302
226
|
|
303
227
|
it "should allow listening to be turned on" do
|
304
|
-
expect {
|
228
|
+
expect { server.listen }.to_not raise_error
|
305
229
|
end
|
306
230
|
|
307
231
|
end
|
308
232
|
|
309
233
|
describe "when listening is on" do
|
310
234
|
before do
|
311
|
-
@mock_http_server = mock('http server')
|
312
235
|
@mock_http_server.stubs(:listen)
|
313
236
|
@mock_http_server.stubs(:unlisten)
|
314
|
-
|
315
|
-
@server.listen
|
237
|
+
server.listen
|
316
238
|
end
|
317
239
|
|
318
240
|
it "should indicate that it is listening" do
|
319
|
-
|
241
|
+
server.should be_listening
|
320
242
|
end
|
321
243
|
|
322
244
|
it "should not allow listening to be turned on" do
|
323
|
-
expect {
|
245
|
+
expect { server.listen }.to raise_error(RuntimeError)
|
324
246
|
end
|
325
247
|
|
326
248
|
it "should allow listening to be turned off" do
|
327
|
-
expect {
|
249
|
+
expect { server.unlisten }.to_not raise_error
|
328
250
|
end
|
329
251
|
end
|
330
252
|
|
331
253
|
describe "when listening is being turned on" do
|
332
254
|
before do
|
333
255
|
Puppet::Indirector::Indirection.stubs(:model).returns mock('indirection')
|
334
|
-
|
335
|
-
@server = Puppet::Network::Server.new(:port => 31337, :handlers => [:node])
|
336
|
-
@mock_http_server = mock('http server')
|
337
|
-
@mock_http_server.stubs(:listen)
|
338
|
-
end
|
339
|
-
|
340
|
-
it "should fetch an instance of an HTTP server" do
|
341
|
-
@server.stubs(:http_server_class).returns(@mock_http_server_class)
|
342
|
-
@mock_http_server_class.expects(:new).returns(@mock_http_server)
|
343
|
-
@server.listen
|
344
256
|
end
|
345
257
|
|
346
258
|
it "should cause the HTTP server to listen" do
|
347
|
-
|
348
|
-
@mock_http_server.expects(:listen)
|
349
|
-
|
350
|
-
end
|
351
|
-
|
352
|
-
it "should pass the listening address to the HTTP server" do
|
353
|
-
@server.stubs(:http_server).returns(@mock_http_server)
|
354
|
-
@mock_http_server.expects(:listen).with do |args|
|
355
|
-
args[:address] == '127.0.0.1'
|
356
|
-
end
|
357
|
-
@server.listen
|
358
|
-
end
|
359
|
-
|
360
|
-
it "should pass the listening port to the HTTP server" do
|
361
|
-
@server.stubs(:http_server).returns(@mock_http_server)
|
362
|
-
@mock_http_server.expects(:listen).with do |args|
|
363
|
-
args[:port] == 31337
|
364
|
-
end
|
365
|
-
@server.listen
|
366
|
-
end
|
367
|
-
|
368
|
-
it "should pass a list of REST handlers to the HTTP server" do
|
369
|
-
@server.stubs(:http_server).returns(@mock_http_server)
|
370
|
-
@mock_http_server.expects(:listen).with do |args|
|
371
|
-
args[:handlers] == [ :node ]
|
372
|
-
end
|
373
|
-
@server.listen
|
259
|
+
server = Puppet::Network::Server.new(address, port, [:node])
|
260
|
+
@mock_http_server.expects(:listen).with(address, port)
|
261
|
+
server.listen
|
374
262
|
end
|
375
263
|
end
|
376
264
|
|
377
265
|
describe "when listening is being turned off" do
|
378
266
|
before do
|
379
|
-
@mock_http_server = mock('http server')
|
380
267
|
@mock_http_server.stubs(:listen)
|
381
|
-
|
382
|
-
|
268
|
+
server.stubs(:http_server).returns(@mock_http_server)
|
269
|
+
server.listen
|
383
270
|
end
|
384
271
|
|
385
272
|
it "should cause the HTTP server to stop listening" do
|
386
273
|
@mock_http_server.expects(:unlisten)
|
387
|
-
|
274
|
+
server.unlisten
|
388
275
|
end
|
389
276
|
|
390
277
|
it "should not allow for indirections to be turned off" do
|
391
278
|
Puppet::Indirector::Indirection.stubs(:model).returns mock('indirection')
|
392
279
|
|
393
|
-
|
394
|
-
expect {
|
280
|
+
server.register(:foo)
|
281
|
+
expect { server.unregister(:foo) }.to raise_error(RuntimeError)
|
395
282
|
end
|
396
283
|
end
|
397
284
|
end
|