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
@@ -56,10 +56,11 @@ describe Puppet::Type.type(:package).provider(:pkg) do
|
|
56
56
|
{
|
57
57
|
'spkg 0.0.7 i--' => {:name => 'spkg', :ensure => '0.0.7', :status => 'installed', :provider => :pkg},
|
58
58
|
'spkg (me) 0.0.7 i--' => {:name => 'spkg', :ensure => '0.0.7', :status => 'installed', :provider => :pkg, :publisher => 'me'},
|
59
|
+
'spkg (me) 0.0.7 if-' => {:name => 'spkg', :ensure => 'held', :status => 'installed', :provider => :pkg, :publisher => 'me'},
|
59
60
|
'spkg 0.0.7 installed -----' => {:name => 'spkg', :ensure => '0.0.7', :status => 'installed', :provider => :pkg},
|
60
|
-
'spkg (me) 0.0.7 installed' => {:name => 'spkg', :ensure => '0.0.7', :status => 'installed', :provider => :pkg, :publisher => 'me'},
|
61
|
+
'spkg (me) 0.0.7 installed -----' => {:name => 'spkg', :ensure => '0.0.7', :status => 'installed', :provider => :pkg, :publisher => 'me'},
|
61
62
|
}.each do |k, v|
|
62
|
-
it "should correctly parse" do
|
63
|
+
it "[#{k}] should correctly parse" do
|
63
64
|
described_class.parse_line(k).should == v
|
64
65
|
end
|
65
66
|
end
|
@@ -172,6 +173,7 @@ describe Puppet::Type.type(:package).provider(:pkg) do
|
|
172
173
|
context ":install" do
|
173
174
|
it "should accept all licenses" do
|
174
175
|
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '--accept', 'dummy'], {:failonfail => false, :combine => true}).returns ''
|
176
|
+
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true}).returns ''
|
175
177
|
$CHILD_STATUS.stubs(:exitstatus).returns 0
|
176
178
|
provider.install
|
177
179
|
end
|
@@ -180,12 +182,14 @@ describe Puppet::Type.type(:package).provider(:pkg) do
|
|
180
182
|
# Should install also check if the version installed is the same version we are asked to install? or should we rely on puppet for that?
|
181
183
|
resource[:ensure] = '0.0.7'
|
182
184
|
$CHILD_STATUS.stubs(:exitstatus).returns 0
|
185
|
+
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
|
183
186
|
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'list', '-H', 'dummy'], {:failonfail => false, :combine => true}).returns 'dummy 0.0.6 installed -----'
|
184
187
|
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '--accept', 'dummy@0.0.7'], {:failonfail => false, :combine => true}).returns ''
|
185
188
|
provider.install
|
186
189
|
end
|
187
190
|
it "should install specific version(2)" do
|
188
191
|
resource[:ensure] = '0.0.8'
|
192
|
+
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
|
189
193
|
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'list', '-H', 'dummy'], {:failonfail => false, :combine => true}).returns 'dummy 0.0.7 installed -----'
|
190
194
|
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '--accept', 'dummy@0.0.8'], {:failonfail => false, :combine => true}).returns ''
|
191
195
|
$CHILD_STATUS.stubs(:exitstatus).returns 0
|
@@ -196,12 +200,22 @@ describe Puppet::Type.type(:package).provider(:pkg) do
|
|
196
200
|
provider.expects(:query).with().returns({:ensure => '0.0.8'})
|
197
201
|
provider.expects(:uninstall).with()
|
198
202
|
$CHILD_STATUS.stubs(:exitstatus).returns 0
|
203
|
+
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
|
199
204
|
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '--accept', 'dummy@0.0.7'], {:failonfail => false, :combine => true}).returns ''
|
200
205
|
provider.install
|
201
206
|
end
|
202
207
|
it "should install any if version is not specified" do
|
203
208
|
resource[:ensure] = :present
|
204
209
|
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '--accept', 'dummy'], {:failonfail => false, :combine => true}).returns ''
|
210
|
+
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
|
211
|
+
$CHILD_STATUS.stubs(:exitstatus).returns 0
|
212
|
+
provider.install
|
213
|
+
end
|
214
|
+
it "should install if no version was previously installed, and a specific version was requested" do
|
215
|
+
resource[:ensure] = '0.0.7'
|
216
|
+
provider.expects(:query).with().returns({:ensure => :absent})
|
217
|
+
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
|
218
|
+
Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '--accept', 'dummy@0.0.7'], {:failonfail => false, :combine => true}).returns ''
|
205
219
|
$CHILD_STATUS.stubs(:exitstatus).returns 0
|
206
220
|
provider.install
|
207
221
|
end
|
@@ -54,8 +54,8 @@ describe provider_class, :as_platform => :posix do
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
it "(#15797) should use '
|
58
|
-
provider_class.expects(:chkconfig).with(@resource[:name], :
|
57
|
+
it "(#15797) should use 'on' when calling enable" do
|
58
|
+
provider_class.expects(:chkconfig).with(@resource[:name], :on)
|
59
59
|
@provider.enable
|
60
60
|
end
|
61
61
|
|
@@ -8,6 +8,10 @@ describe "sshkey parsed provider" do
|
|
8
8
|
let :provider do type.provider(:parsed) end
|
9
9
|
subject { provider }
|
10
10
|
|
11
|
+
after :each do
|
12
|
+
subject.clear
|
13
|
+
end
|
14
|
+
|
11
15
|
def key
|
12
16
|
'AAAAB3NzaC1yc2EAAAABIwAAAQEAzwHhxXvIrtfIwrudFqc8yQcIfMudrgpnuh1F3AV6d2BrLgu/yQE7W5UyJMUjfj427sQudRwKW45O0Jsnr33F4mUw+GIMlAAmp9g24/OcrTiB8ZUKIjoPy/cO4coxGi8/NECtRzpD/ZUPFh6OEpyOwJPMb7/EC2Az6Otw4StHdXUYw22zHazBcPFnv6zCgPx1hA7QlQDWTu4YcL0WmTYQCtMUb3FUqrcFtzGDD0ytosgwSd+JyN5vj5UwIABjnNOHPZ62EY1OFixnfqX/+dUwrFSs5tPgBF/KkC6R7tmbUfnBON6RrGEmu+ajOTOLy23qUZB4CQ53V7nyAWhzqSK+hw=='
|
13
17
|
end
|
@@ -2,257 +2,256 @@ require 'spec_helper'
|
|
2
2
|
require 'puppet_spec/files'
|
3
3
|
require 'tempfile'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
describe provider_class, :unless => Puppet.features.microsoft_windows? do
|
5
|
+
describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet.features.microsoft_windows? do
|
8
6
|
include PuppetSpec::Files
|
7
|
+
let(:resource) { Puppet::Type.type(:user).new(:name => 'myuser', :managehome => false, :allowdupe => false) }
|
8
|
+
let(:provider) { described_class.new(resource) }
|
9
9
|
|
10
10
|
before do
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
@resource.stubs(:should).with(:keys).returns Hash.new
|
15
|
-
@resource.stubs(:[]).returns "fakeval"
|
16
|
-
|
17
|
-
@resource.stubs(:allowdupe?).returns false
|
18
|
-
@provider = provider_class.new(@resource)
|
11
|
+
resource.stubs(:should).returns "fakeval"
|
12
|
+
resource.stubs(:should).with(:keys).returns Hash.new
|
13
|
+
resource.stubs(:[]).returns "fakeval"
|
19
14
|
end
|
20
15
|
|
21
|
-
|
16
|
+
|
17
|
+
describe "#command" do
|
22
18
|
before do
|
23
19
|
klass = stub("provider")
|
24
20
|
klass.stubs(:command).with(:foo).returns("userfoo")
|
25
21
|
klass.stubs(:command).with(:role_foo).returns("rolefoo")
|
26
|
-
|
22
|
+
provider.stubs(:class).returns(klass)
|
27
23
|
end
|
28
24
|
|
29
25
|
it "should use the command if not a role and ensure!=role" do
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
26
|
+
provider.stubs(:is_role?).returns(false)
|
27
|
+
provider.stubs(:exists?).returns(false)
|
28
|
+
resource.stubs(:[]).with(:ensure).returns(:present)
|
29
|
+
provider.class.stubs(:foo)
|
30
|
+
provider.command(:foo).should == "userfoo"
|
34
31
|
end
|
35
32
|
|
36
33
|
it "should use the role command when a role" do
|
37
|
-
|
38
|
-
|
34
|
+
provider.stubs(:is_role?).returns(true)
|
35
|
+
provider.command(:foo).should == "rolefoo"
|
39
36
|
end
|
40
37
|
|
41
38
|
it "should use the role command when !exists and ensure=role" do
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
provider.stubs(:is_role?).returns(false)
|
40
|
+
provider.stubs(:exists?).returns(false)
|
41
|
+
resource.stubs(:[]).with(:ensure).returns(:role)
|
42
|
+
provider.command(:foo).should == "rolefoo"
|
46
43
|
end
|
47
44
|
end
|
48
45
|
|
49
|
-
describe "
|
46
|
+
describe "#transition" do
|
50
47
|
it "should return the type set to whatever is passed in" do
|
51
|
-
|
52
|
-
|
48
|
+
provider.expects(:command).with(:modify).returns("foomod")
|
49
|
+
provider.transition("bar").include?("type=bar")
|
53
50
|
end
|
54
51
|
end
|
55
52
|
|
56
|
-
describe "
|
53
|
+
describe "#create" do
|
57
54
|
before do
|
58
|
-
|
55
|
+
provider.stubs(:password=)
|
59
56
|
end
|
60
57
|
|
61
58
|
it "should use the add command when the user is not a role" do
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
59
|
+
provider.stubs(:is_role?).returns(false)
|
60
|
+
provider.expects(:addcmd).returns("useradd")
|
61
|
+
provider.expects(:run).at_least_once
|
62
|
+
provider.create
|
66
63
|
end
|
67
64
|
|
68
65
|
it "should use transition(normal) when the user is a role" do
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
66
|
+
provider.stubs(:is_role?).returns(true)
|
67
|
+
provider.expects(:transition).with("normal")
|
68
|
+
provider.expects(:run)
|
69
|
+
provider.create
|
73
70
|
end
|
74
71
|
|
75
72
|
it "should set password age rules" do
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
73
|
+
resource = Puppet::Type.type(:user).new :name => "myuser", :password_min_age => 5, :password_max_age => 10, :provider => :user_role_add
|
74
|
+
provider = described_class.new(resource)
|
75
|
+
provider.stubs(:user_attributes)
|
76
|
+
provider.stubs(:execute)
|
77
|
+
provider.expects(:execute).with { |cmd, *args| args == ["-n", 5, "-x", 10, "myuser"] }
|
78
|
+
provider.create
|
82
79
|
end
|
83
80
|
end
|
84
81
|
|
85
|
-
describe "
|
82
|
+
describe "#destroy" do
|
86
83
|
it "should use the delete command if the user exists and is not a role" do
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
84
|
+
provider.stubs(:exists?).returns(true)
|
85
|
+
provider.stubs(:is_role?).returns(false)
|
86
|
+
provider.expects(:deletecmd)
|
87
|
+
provider.expects(:run)
|
88
|
+
provider.destroy
|
92
89
|
end
|
93
90
|
|
94
91
|
it "should use the delete command if the user is a role" do
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
92
|
+
provider.stubs(:exists?).returns(true)
|
93
|
+
provider.stubs(:is_role?).returns(true)
|
94
|
+
provider.expects(:deletecmd)
|
95
|
+
provider.expects(:run)
|
96
|
+
provider.destroy
|
100
97
|
end
|
101
98
|
end
|
102
99
|
|
103
|
-
describe "
|
100
|
+
describe "#create_role" do
|
104
101
|
it "should use the transition(role) if the user exists" do
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
102
|
+
provider.stubs(:exists?).returns(true)
|
103
|
+
provider.stubs(:is_role?).returns(false)
|
104
|
+
provider.expects(:transition).with("role")
|
105
|
+
provider.expects(:run)
|
106
|
+
provider.create_role
|
110
107
|
end
|
111
108
|
|
112
109
|
it "should use the add command when role doesn't exists" do
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
110
|
+
provider.stubs(:exists?).returns(false)
|
111
|
+
provider.expects(:addcmd)
|
112
|
+
provider.expects(:run)
|
113
|
+
provider.create_role
|
117
114
|
end
|
118
115
|
end
|
119
116
|
|
120
|
-
describe "
|
117
|
+
describe "with :allow_duplicates" do
|
121
118
|
before do
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
119
|
+
resource.expects(:allowdupe?).returns true
|
120
|
+
provider.stubs(:is_role?).returns(false)
|
121
|
+
provider.stubs(:execute)
|
122
|
+
resource.stubs(:system?).returns false
|
123
|
+
provider.expects(:execute).with { |args| args.include?("-o") }
|
127
124
|
end
|
128
125
|
|
129
126
|
it "should add -o when the user is being created" do
|
130
|
-
|
131
|
-
|
127
|
+
provider.stubs(:password=)
|
128
|
+
provider.create
|
132
129
|
end
|
133
130
|
|
134
131
|
it "should add -o when the uid is being modified" do
|
135
|
-
|
132
|
+
provider.uid = 150
|
136
133
|
end
|
137
134
|
end
|
138
135
|
|
139
136
|
[:roles, :auths, :profiles].each do |val|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
137
|
+
context "#send" do
|
138
|
+
describe "when getting #{val}" do
|
139
|
+
it "should get the user_attributes" do
|
140
|
+
provider.expects(:user_attributes)
|
141
|
+
provider.send(val)
|
142
|
+
end
|
143
|
+
|
144
|
+
it "should get the #{val} attribute" do
|
145
|
+
attributes = mock("attributes")
|
146
|
+
attributes.expects(:[]).with(val)
|
147
|
+
provider.stubs(:user_attributes).returns(attributes)
|
148
|
+
provider.send(val)
|
149
|
+
end
|
151
150
|
end
|
152
151
|
end
|
153
152
|
end
|
154
153
|
|
155
|
-
describe "
|
154
|
+
describe "#keys" do
|
156
155
|
it "should get the user_attributes" do
|
157
|
-
|
158
|
-
|
156
|
+
provider.expects(:user_attributes)
|
157
|
+
provider.keys
|
159
158
|
end
|
160
159
|
|
161
160
|
it "should call removed_managed_attributes" do
|
162
|
-
|
163
|
-
|
164
|
-
|
161
|
+
provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
|
162
|
+
provider.expects(:remove_managed_attributes)
|
163
|
+
provider.keys
|
165
164
|
end
|
166
165
|
|
167
166
|
it "should removed managed attribute (type, auths, roles, etc)" do
|
168
|
-
|
169
|
-
|
167
|
+
provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
|
168
|
+
provider.keys.should == { :foo => "something" }
|
170
169
|
end
|
171
170
|
end
|
172
171
|
|
173
|
-
describe "
|
172
|
+
describe "#add_properties" do
|
174
173
|
it "should call build_keys_cmd" do
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
174
|
+
resource.stubs(:should).returns ""
|
175
|
+
resource.expects(:should).with(:keys).returns({ :foo => "bar" })
|
176
|
+
provider.expects(:build_keys_cmd).returns([])
|
177
|
+
provider.add_properties
|
179
178
|
end
|
180
179
|
|
181
180
|
it "should add the elements of the keys hash to an array" do
|
182
|
-
|
183
|
-
|
184
|
-
|
181
|
+
resource.stubs(:should).returns ""
|
182
|
+
resource.expects(:should).with(:keys).returns({ :foo => "bar"})
|
183
|
+
provider.add_properties.must == ["-K", "foo=bar"]
|
185
184
|
end
|
186
185
|
end
|
187
186
|
|
188
|
-
describe "
|
187
|
+
describe "#build_keys_cmd" do
|
189
188
|
it "should build cmd array with keypairs seperated by -K ending with user" do
|
190
|
-
|
189
|
+
provider.build_keys_cmd({"foo" => "bar", "baz" => "boo"}).should.eql? ["-K", "foo=bar", "-K", "baz=boo"]
|
191
190
|
end
|
192
191
|
end
|
193
192
|
|
194
|
-
describe "
|
193
|
+
describe "#keys=" do
|
195
194
|
before do
|
196
|
-
|
195
|
+
provider.stubs(:is_role?).returns(false)
|
197
196
|
end
|
198
197
|
|
199
198
|
it "should run a command" do
|
200
|
-
|
201
|
-
|
199
|
+
provider.expects(:run)
|
200
|
+
provider.keys=({})
|
202
201
|
end
|
203
202
|
|
204
203
|
it "should build the command" do
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
204
|
+
resource.stubs(:[]).with(:name).returns("someuser")
|
205
|
+
provider.stubs(:command).returns("usermod")
|
206
|
+
provider.expects(:build_keys_cmd).returns(["-K", "foo=bar"])
|
207
|
+
provider.expects(:run).with(["usermod", "-K", "foo=bar", "someuser"], "modify attribute key pairs")
|
208
|
+
provider.keys=({})
|
210
209
|
end
|
211
210
|
end
|
212
211
|
|
213
|
-
describe "
|
212
|
+
describe "#password" do
|
214
213
|
before do
|
215
214
|
@array = mock "array"
|
216
215
|
end
|
217
216
|
|
218
217
|
it "should readlines of /etc/shadow" do
|
219
218
|
File.expects(:readlines).with("/etc/shadow").returns([])
|
220
|
-
|
219
|
+
provider.password
|
221
220
|
end
|
222
221
|
|
223
222
|
it "should reject anything that doesn't start with alpha numerics" do
|
224
223
|
@array.expects(:reject).returns([])
|
225
224
|
File.stubs(:readlines).with("/etc/shadow").returns(@array)
|
226
|
-
|
225
|
+
provider.password
|
227
226
|
end
|
228
227
|
|
229
228
|
it "should collect splitting on ':'" do
|
230
229
|
@array.stubs(:reject).returns(@array)
|
231
230
|
@array.expects(:collect).returns([])
|
232
231
|
File.stubs(:readlines).with("/etc/shadow").returns(@array)
|
233
|
-
|
232
|
+
provider.password
|
234
233
|
end
|
235
234
|
|
236
235
|
it "should find the matching user" do
|
237
|
-
|
236
|
+
resource.stubs(:[]).with(:name).returns("username")
|
238
237
|
@array.stubs(:reject).returns(@array)
|
239
238
|
@array.stubs(:collect).returns([["username", "hashedpassword"], ["someoneelse", "theirpassword"]])
|
240
239
|
File.stubs(:readlines).with("/etc/shadow").returns(@array)
|
241
|
-
|
240
|
+
provider.password.must == "hashedpassword"
|
242
241
|
end
|
243
242
|
|
244
243
|
it "should get the right password" do
|
245
|
-
|
244
|
+
resource.stubs(:[]).with(:name).returns("username")
|
246
245
|
File.stubs(:readlines).with("/etc/shadow").returns(["#comment", " nonsense", " ", "username:hashedpassword:stuff:foo:bar:::", "other:pword:yay:::"])
|
247
|
-
|
246
|
+
provider.password.must == "hashedpassword"
|
248
247
|
end
|
249
248
|
end
|
250
249
|
|
251
|
-
describe "
|
250
|
+
describe "#password=" do
|
252
251
|
let(:path) { tmpfile('etc-shadow') }
|
253
252
|
|
254
253
|
before :each do
|
255
|
-
|
254
|
+
provider.stubs(:target_file_path).returns(path)
|
256
255
|
end
|
257
256
|
|
258
257
|
def write_fixture(content)
|
@@ -263,7 +262,7 @@ describe provider_class, :unless => Puppet.features.microsoft_windows? do
|
|
263
262
|
write_fixture <<FIXTURE
|
264
263
|
fakeval:seriously:15315:0:99999:7:::
|
265
264
|
FIXTURE
|
266
|
-
|
265
|
+
provider.password = "totally"
|
267
266
|
File.read(path).should =~ /^fakeval:totally:/
|
268
267
|
end
|
269
268
|
|
@@ -274,7 +273,7 @@ fakeval:seriously:15315:0:99999:7:::
|
|
274
273
|
fakevalish:seriously:15315:0:99999:7:::
|
275
274
|
after:seriously:15315:0:99999:7:::
|
276
275
|
FIXTURE
|
277
|
-
|
276
|
+
provider.password = "totally"
|
278
277
|
File.read(path).should == <<EOT
|
279
278
|
before:seriously:15315:0:99999:7:::
|
280
279
|
fakeval:totally:15315:0:99999:7:::
|
@@ -292,7 +291,7 @@ after:seriously:15315:0:99999:7:::
|
|
292
291
|
FIXTURE
|
293
292
|
|
294
293
|
write_fixture fixture
|
295
|
-
|
294
|
+
provider.password = "totally"
|
296
295
|
File.read(path).should == fixture
|
297
296
|
end
|
298
297
|
end
|
@@ -300,19 +299,19 @@ FIXTURE
|
|
300
299
|
describe "#shadow_entry" do
|
301
300
|
it "should return the line for the right user" do
|
302
301
|
File.stubs(:readlines).returns(["someuser:!:10:5:20:7:1::\n", "fakeval:*:20:10:30:7:2::\n", "testuser:*:30:15:40:7:3::\n"])
|
303
|
-
|
302
|
+
provider.shadow_entry.should == ["fakeval", "*", "20", "10", "30", "7", "2"]
|
304
303
|
end
|
305
304
|
end
|
306
305
|
|
307
306
|
describe "#password_max_age" do
|
308
307
|
it "should return a maximum age number" do
|
309
308
|
File.stubs(:readlines).returns(["fakeval:NP:12345:0:50::::\n"])
|
310
|
-
|
309
|
+
provider.password_max_age.should == "50"
|
311
310
|
end
|
312
311
|
|
313
312
|
it "should return -1 for no maximum" do
|
314
313
|
File.stubs(:readlines).returns(["fakeval:NP:12345::::::\n"])
|
315
|
-
|
314
|
+
provider.password_max_age.should == -1
|
316
315
|
end
|
317
316
|
end
|
318
317
|
end
|