summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Cooper <josh@puppetlabs.com>2011-07-22 12:29:54 -0700
committerJacob Helwig <jacob@puppetlabs.com>2011-08-19 13:52:56 -0700
commit945bf74aad13de37d5ca46961db78a72b8c24029 (patch)
treefc711413b006d7a87e957f121d8fb298ed800690
parent3be4d79d288f43f0476f0fa8666936c184d2ca35 (diff)
downloadpuppet-945bf74aad13de37d5ca46961db78a72b8c24029.tar.gz
puppet-945bf74aad13de37d5ca46961db78a72b8c24029.tar.xz
puppet-945bf74aad13de37d5ca46961db78a72b8c24029.zip
Update certificate spec tests for Windows
Disable CA related spec tests on Windows, since that functionality is not supported. Some cert spec tests are still marked as fails_on_windows because settings attempts to create and apply a catalog corresponding to ssl/cert related directories. This fails because on Windows Puppet.features.root? always returns true (which is a separate bug), and as a result attempts to set the owner and group, which fails because the provider is not implemented yet on Windows. Also many of these tests were using Tempfile.new and trying to system("rm -rf ...") later. I changed these to use PuppetSpec::Files.tmpdir instead, which automatically cleans up temporary directories after the tests have run. Reviewed-by: Jacob Helwig <jacob@puppetlabs.com> (cherry picked from commit 95837e6d3e74648617c308aedc52192bb13fde5a)
-rwxr-xr-xspec/integration/ssl/certificate_authority_spec.rb14
-rwxr-xr-xspec/integration/ssl/certificate_request_spec.rb15
-rwxr-xr-xspec/integration/ssl/certificate_revocation_list_spec.rb13
-rwxr-xr-xspec/integration/ssl/host_spec.rb15
-rwxr-xr-xspec/unit/indirector/certificate_request/ca_spec.rb2
-rwxr-xr-xspec/unit/ssl/host_spec.rb11
-rwxr-xr-xspec/unit/sslcertificates/ca_spec.rb16
7 files changed, 42 insertions, 44 deletions
diff --git a/spec/integration/ssl/certificate_authority_spec.rb b/spec/integration/ssl/certificate_authority_spec.rb
index 3069ee684..a4792449e 100755
--- a/spec/integration/ssl/certificate_authority_spec.rb
+++ b/spec/integration/ssl/certificate_authority_spec.rb
@@ -2,17 +2,16 @@
require 'spec_helper'
require 'puppet/ssl/certificate_authority'
-require 'tempfile'
-describe Puppet::SSL::CertificateAuthority, :fails_on_windows => true do
+describe Puppet::SSL::CertificateAuthority, :unless => Puppet.features.microsoft_windows? do
+ include PuppetSpec::Files
+
before do
# Get a safe temporary file
- file = Tempfile.new("ca_integration_testing")
- @dir = file.path
- file.delete
+ dir = tmpdir("ca_integration_testing")
- Puppet.settings[:confdir] = @dir
- Puppet.settings[:vardir] = @dir
+ Puppet.settings[:confdir] = dir
+ Puppet.settings[:vardir] = dir
Puppet.settings[:group] = Process.gid
Puppet::SSL::Host.ca_location = :local
@@ -22,7 +21,6 @@ describe Puppet::SSL::CertificateAuthority, :fails_on_windows => true do
after {
Puppet::SSL::Host.ca_location = :none
- system("rm -rf #{@dir}")
Puppet.settings.clear
Puppet::SSL::CertificateAuthority.instance_variable_set("@instance", nil)
diff --git a/spec/integration/ssl/certificate_request_spec.rb b/spec/integration/ssl/certificate_request_spec.rb
index a95b17a2b..bcfcd2b43 100755
--- a/spec/integration/ssl/certificate_request_spec.rb
+++ b/spec/integration/ssl/certificate_request_spec.rb
@@ -2,21 +2,19 @@
require 'spec_helper'
require 'puppet/ssl/certificate_request'
-require 'tempfile'
+# REMIND: Fails on windows because there is no user provider yet
describe Puppet::SSL::CertificateRequest, :fails_on_windows => true do
+ include PuppetSpec::Files
+
before do
# Get a safe temporary file
- file = Tempfile.new("csr_integration_testing")
- @dir = file.path
- file.delete
-
- Dir.mkdir(@dir)
+ dir = tmpdir("csr_integration_testing")
Puppet.settings.clear
- Puppet.settings[:confdir] = @dir
- Puppet.settings[:vardir] = @dir
+ Puppet.settings[:confdir] = dir
+ Puppet.settings[:vardir] = dir
Puppet.settings[:group] = Process.gid
Puppet::SSL::Host.ca_location = :none
@@ -30,7 +28,6 @@ describe Puppet::SSL::CertificateRequest, :fails_on_windows => true do
end
after do
- system("rm -rf #{@dir}")
Puppet.settings.clear
end
diff --git a/spec/integration/ssl/certificate_revocation_list_spec.rb b/spec/integration/ssl/certificate_revocation_list_spec.rb
index 30e9114df..5912e4b98 100755
--- a/spec/integration/ssl/certificate_revocation_list_spec.rb
+++ b/spec/integration/ssl/certificate_revocation_list_spec.rb
@@ -2,17 +2,17 @@
require 'spec_helper'
require 'puppet/ssl/certificate_revocation_list'
-require 'tempfile'
+# REMIND: Fails on windows because there is no user provider yet
describe Puppet::SSL::CertificateRevocationList, :fails_on_windows => true do
+ include PuppetSpec::Files
+
before do
# Get a safe temporary file
- file = Tempfile.new("ca_integration_testing")
- @dir = file.path
- file.delete
+ dir = tmpdir("ca_integration_testing")
- Puppet.settings[:confdir] = @dir
- Puppet.settings[:vardir] = @dir
+ Puppet.settings[:confdir] = dir
+ Puppet.settings[:vardir] = dir
Puppet.settings[:group] = Process.gid
Puppet::SSL::Host.ca_location = :local
@@ -21,7 +21,6 @@ describe Puppet::SSL::CertificateRevocationList, :fails_on_windows => true do
after {
Puppet::SSL::Host.ca_location = :none
- system("rm -rf #{@dir}")
Puppet.settings.clear
# This is necessary so the terminus instances don't lie around.
diff --git a/spec/integration/ssl/host_spec.rb b/spec/integration/ssl/host_spec.rb
index f452afa2e..55484ad1d 100755
--- a/spec/integration/ssl/host_spec.rb
+++ b/spec/integration/ssl/host_spec.rb
@@ -2,17 +2,17 @@
require 'spec_helper'
require 'puppet/ssl/host'
-require 'tempfile'
+# REMIND: Fails on windows because there is no user provider yet
describe Puppet::SSL::Host, :fails_on_windows => true do
+ include PuppetSpec::Files
+
before do
# Get a safe temporary file
- file = Tempfile.new("host_integration_testing")
- @dir = file.path
- file.delete
+ dir = tmpdir("host_integration_testing")
- Puppet.settings[:confdir] = @dir
- Puppet.settings[:vardir] = @dir
+ Puppet.settings[:confdir] = dir
+ Puppet.settings[:vardir] = dir
Puppet.settings[:group] = Process.gid
Puppet::SSL::Host.ca_location = :local
@@ -24,7 +24,6 @@ describe Puppet::SSL::Host, :fails_on_windows => true do
after {
Puppet::SSL::Host.ca_location = :none
- system("rm -rf #{@dir}")
Puppet.settings.clear
}
@@ -76,7 +75,7 @@ describe Puppet::SSL::Host, :fails_on_windows => true do
end
end
- it "should pass the verification of its own SSL store" do
+ it "should pass the verification of its own SSL store", :unless => Puppet.features.microsoft_windows? do
@host.generate
@ca = Puppet::SSL::CertificateAuthority.new
@ca.sign(@host.name)
diff --git a/spec/unit/indirector/certificate_request/ca_spec.rb b/spec/unit/indirector/certificate_request/ca_spec.rb
index 87d9b6145..9c74f09d1 100755
--- a/spec/unit/indirector/certificate_request/ca_spec.rb
+++ b/spec/unit/indirector/certificate_request/ca_spec.rb
@@ -6,7 +6,7 @@ require 'puppet/sslcertificates'
require 'puppet/sslcertificates/ca'
require 'puppet/indirector/certificate_request/ca'
-describe Puppet::SSL::CertificateRequest::Ca, :fails_on_windows => true do
+describe Puppet::SSL::CertificateRequest::Ca, :unless => Puppet.features.microsoft_windows? do
include PuppetSpec::Files
before :each do
diff --git a/spec/unit/ssl/host_spec.rb b/spec/unit/ssl/host_spec.rb
index f00451619..226acdecd 100755
--- a/spec/unit/ssl/host_spec.rb
+++ b/spec/unit/ssl/host_spec.rb
@@ -5,9 +5,18 @@ require 'puppet/ssl/host'
require 'puppet/sslcertificates'
require 'puppet/sslcertificates/ca'
+# REMIND: Fails on windows because there is no user provider yet
describe Puppet::SSL::Host, :fails_on_windows => true do
+ include PuppetSpec::Files
+
before do
Puppet::SSL::Host.indirection.terminus_class = :file
+
+ # Get a safe temporary file
+ dir = tmpdir("ssl_host_testing")
+ Puppet.settings[:confdir] = dir
+ Puppet.settings[:vardir] = dir
+
@host = Puppet::SSL::Host.new("myname")
end
@@ -701,7 +710,7 @@ describe Puppet::SSL::Host, :fails_on_windows => true do
end
end
- describe "when handling PSON" do
+ describe "when handling PSON", :unless => Puppet.features.microsoft_windows? do
include PuppetSpec::Files
before do
diff --git a/spec/unit/sslcertificates/ca_spec.rb b/spec/unit/sslcertificates/ca_spec.rb
index 2ff4036dd..7a687b825 100755
--- a/spec/unit/sslcertificates/ca_spec.rb
+++ b/spec/unit/sslcertificates/ca_spec.rb
@@ -5,27 +5,23 @@ require 'puppet'
require 'puppet/sslcertificates'
require 'puppet/sslcertificates/ca'
-describe Puppet::SSLCertificates::CA, :fails_on_windows => true do
+describe Puppet::SSLCertificates::CA, :unless => Puppet.features.microsoft_windows? do
+ include PuppetSpec::Files
+
before :all do
@hosts = %w{host.domain.com Other.Testing.Com}
end
before :each do
Puppet::Util::SUIDManager.stubs(:asuser).yields
- file = Tempfile.new("ca_testing")
- @dir = file.path
- file.delete
+ dir = tmpdir("ca_testing")
- Puppet.settings[:confdir] = @dir
- Puppet.settings[:vardir] = @dir
+ Puppet.settings[:confdir] = dir
+ Puppet.settings[:vardir] = dir
@ca = Puppet::SSLCertificates::CA.new
end
- after :each do
- system("rm -rf #{@dir}")
- end
-
describe 'when cleaning' do
it 'should remove associated files' do
dirs = [:csrdir, :signeddir, :publickeydir, :privatekeydir, :certdir]