summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKapil Chouhan <kapil.chouhan@msystechnologies.com>2020-03-09 09:29:50 +0000
committerKapil Chouhan <kapil.chouhan@msystechnologies.com>2020-03-09 10:11:08 +0000
commit50c236a49f1efe322b053fef69fa7e7105ca65bf (patch)
tree829fb7cd02c6c7e78240f836ce5d78da00f03f12
parent727cd53333317e300a628b4f84a602616be61788 (diff)
downloadchef-Kapil/GitHub-9435_Fix_windows_certificate_functional_tests_under_buildkite.tar.gz
Fix windows_certificate functional tests under buildkiteKapil/GitHub-9435_Fix_windows_certificate_functional_tests_under_buildkite
Signed-off-by: Kapil Chouhan <kapil.chouhan@msystechnologies.com>
-rw-r--r--lib/chef/resource/windows_certificate.rb1
-rw-r--r--spec/data/windows_certificates/base64_test.cer38
-rw-r--r--spec/data/windows_certificates/othertest.cerbin912 -> 1216 bytes
-rw-r--r--spec/data/windows_certificates/test.cerbin900 -> 1188 bytes
-rw-r--r--spec/data/windows_certificates/test.p7bbin2613 -> 2619 bytes
-rw-r--r--spec/data/windows_certificates/test.pem37
-rw-r--r--spec/data/windows_certificates/test.pfxbin2701 -> 2637 bytes
-rw-r--r--spec/functional/resource/windows_certificate_spec.rb124
8 files changed, 98 insertions, 102 deletions
diff --git a/lib/chef/resource/windows_certificate.rb b/lib/chef/resource/windows_certificate.rb
index 64ac6bb3b0..64e566f6af 100644
--- a/lib/chef/resource/windows_certificate.rb
+++ b/lib/chef/resource/windows_certificate.rb
@@ -309,7 +309,6 @@ class Chef
def import_certificates(cert_objs, is_pfx)
[cert_objs].flatten.each do |cert_obj|
thumbprint = OpenSSL::Digest::SHA1.new(cert_obj.to_der).to_s # Fetch its thumbprint
-
# Need to check if return value is Boolean:true
# If not then the given certificate should be added in certstore
if verify_cert(thumbprint) == true
diff --git a/spec/data/windows_certificates/base64_test.cer b/spec/data/windows_certificates/base64_test.cer
index 0d90bf81e3..763216f86a 100644
--- a/spec/data/windows_certificates/base64_test.cer
+++ b/spec/data/windows_certificates/base64_test.cer
@@ -1,22 +1,20 @@
-----BEGIN CERTIFICATE-----
-MIIDjjCCAnagAwIBAgIQNH6iXZnEKbFOEQ7D9f9iCTANBgkqhkiG9w0BAQsFADBK
-MSMwIQYDVQQDDBpBIEJhc2U2NCBEdW1teSBDZXJ0aWZpY2F0ZTEjMCEGCSqGSIb3
-DQEJARYUdGVzdGJ5cnNwZWNAY2hlZi5jb20wHhcNMTkwMjEyMDk1ODM2WhcNMjAw
-MjEyMTAxODM2WjBKMSMwIQYDVQQDDBpBIEJhc2U2NCBEdW1teSBDZXJ0aWZpY2F0
-ZTEjMCEGCSqGSIb3DQEJARYUdGVzdGJ5cnNwZWNAY2hlZi5jb20wggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSy2Qlf2k1X3y/YgEjnvD0K8NeKgXKKi62
-RHRMTJ2+6KSg+I1MqHZC+BVrfzehuJVby5kM7tGLF8FvM3q7X/5oSPg8pvLZzIV0
-pBrpVPCTYw8fnlmFKBt/+m2XOqsWyL59yP+p66SHAKmoLYTGu8dkGvgJn3dwKNen
-VFmwadteVfKs2wFW/ZwUxH4aLloCa8KSyqstIXrYQmdqqFOSuEgkynalD19dozSv
-QtkQ9FZPuFGDwNpdO7OrcjE1lTUlzuth7CqV/pj4GYJhK/PPtO8Ing/BtwZm5XB8
-2yvvLVnL7Y/hikg2ENKA9fOYk52zR/kkd7d8qoJva7WlYEXTZvpdAgMBAAGjcDBu
-MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
-HgYDVR0RBBcwFYITd3d3LnRlc3RieXJzcGVjLmNvbTAdBgNVHQ4EFgQUuL1l247K
-h+cVH9LehmQgXuV8F6MwDQYJKoZIhvcNAQELBQADggEBAMTJW5tSZ/g2AP45EUwj
-PLDnDLY4YnsJDQ7Jo58EAY6givUc+ZnKRWxYAYNBOKcqDM5E4pXi3Fa1lKYR1vMu
-5AThPaDXhv18ljGAs21MYt9hl7PqdzbfX4ejF+jCD4UrE8bGtxuDc1WQ2HbeJtdj
-0j7BPPNXfcvPAIyX3BEOQFUPgvVAqzWMQLpdUKg+sNUJZijqKQv11xVALGHtxqGB
-1MFrdl6D/idODfhcdo2n1tBMyOGhHwEOBLqB1PTH72g5J4BVx4iwH/gh8PRmMy0P
-eJkNspgOBGPOhNpe7bhmK45MBuJpmjyl/CYCqtQvaEdpbuRQIgc2e+YRMfR71qYp
-Em8=
+MIIDQTCCAimgAwIBAgIQPAc5ZRAOLL1PCvdo8CoWDTANBgkqhkiG9w0BAQsFADAh
+MR8wHQYDVQQDDBZ3d3cuZHVtbXljaGVmdGVzdHMuY29tMCAXDTIwMDMwNjEyMDUz
+MVoYDzI4OTkxMjMxMTgzMDAwWjAhMR8wHQYDVQQDDBZ3d3cuZHVtbXljaGVmdGVz
+dHMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6uZ0V5zobMQm
+JPtZxt4vYtL/As7U6sUBVe9oR9OCYvyIDmpuPcNnrJ26L+iu2W5Kd+840Dv6tHS4
+yOV07bYBU+nVHiCdEn/K7Q5ITv/8uXv39dvlSuSrIn4P+I2vhSQjIy/B94QPD/xE
+dD0WDym1ySY2zQsL4T+yKoaXc5tiBoWBwAdl6/RiXeOm2kBXhIDcW4MLlB0BXtDJ
+l7syB30mOvNsQT6UlymI1q7fpsaPBTo8V3lUWooVVmQciiYquoD34gq7XpdGQOLJ
+V7aSIch1BoQyeQJfWsKzv/R5yzAzw+2zeRf301USunBXwhoac/Sx4xrJxjRknGTs
+7tsCNQUmRQIDAQABo3MwcTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
+BQUHAwIGCCsGAQUFBwMBMCEGA1UdEQQaMBiCFnd3dy5kdW1teWNoZWZ0ZXN0cy5j
+b20wHQYDVR0OBBYEFGQa7l1ZPNbhj0s64g1/nyY+xULdMA0GCSqGSIb3DQEBCwUA
+A4IBAQCS3chRs1LUvlq7Hj1kx3CtAhjTE75eEWz8wzWZ+DGppGnMUQg0vwrw7JPd
+s3ODAFor62J97Fmb1sQ9/lSGan0CwBtCMqzHr3hoKbpVR9aFKu/Kt21zE4pEvFgZ
+NVrxOFofmZ072VRdRpRK3RcnV58I02Xyb+5VR8lTbHpIsUOj+i9+y5ZuuOXoRDpI
+G+AdIAfvcBbshPkI62gSFvBUdic0fcMVPZ5rFWaDjW2XFXZ6s/e5mPHNjpGpSZy7
+2y9ku9kB6ywBQXx9U21DBoIDxfprSylQGxtUuXaeCwnRvpT0Ifto5/KaeH4IzJQq
+ZYGdPzBO7WBpk/AsO6buw3kQ9M5h
-----END CERTIFICATE-----
diff --git a/spec/data/windows_certificates/othertest.cer b/spec/data/windows_certificates/othertest.cer
index 353f792252..f4ff69eb08 100644
--- a/spec/data/windows_certificates/othertest.cer
+++ b/spec/data/windows_certificates/othertest.cer
Binary files differ
diff --git a/spec/data/windows_certificates/test.cer b/spec/data/windows_certificates/test.cer
index 0f32d742c1..1c358b5035 100644
--- a/spec/data/windows_certificates/test.cer
+++ b/spec/data/windows_certificates/test.cer
Binary files differ
diff --git a/spec/data/windows_certificates/test.p7b b/spec/data/windows_certificates/test.p7b
index cf8cfae58c..bd46d5eccd 100644
--- a/spec/data/windows_certificates/test.p7b
+++ b/spec/data/windows_certificates/test.p7b
Binary files differ
diff --git a/spec/data/windows_certificates/test.pem b/spec/data/windows_certificates/test.pem
index cfbec5d188..1c358b5035 100644
--- a/spec/data/windows_certificates/test.pem
+++ b/spec/data/windows_certificates/test.pem
@@ -1,21 +1,20 @@
-----BEGIN CERTIFICATE-----
-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
+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
+tNdbdS3U8nrG73iA2clmF57ARQWC
-----END CERTIFICATE-----
diff --git a/spec/data/windows_certificates/test.pfx b/spec/data/windows_certificates/test.pfx
index c774e12efd..2c208bf7c6 100644
--- a/spec/data/windows_certificates/test.pfx
+++ b/spec/data/windows_certificates/test.pfx
Binary files differ
diff --git a/spec/functional/resource/windows_certificate_spec.rb b/spec/functional/resource/windows_certificate_spec.rb
index 5b4da9e579..99b7840f9c 100644
--- a/spec/functional/resource/windows_certificate_spec.rb
+++ b/spec/functional/resource/windows_certificate_spec.rb
@@ -65,11 +65,11 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
let(:p7b_path) { File.join(certificate_path, "test.p7b") }
let(:pfx_path) { File.join(certificate_path, "test.pfx") }
let(:out_path) { File.join(certificate_path, "testout.pem") }
- let(:tests_thumbprint) { "3180B3E3217862600BD7B2D28067B03D41576A4F" }
+ let(:tests_thumbprint) { "e45a4a7ff731e143cf20b8bfb9c7c4edd5238bb3" }
let(:other_cer_path) { File.join(certificate_path, "othertest.cer") }
- let(:others_thumbprint) { "AD393859B2D2D4161D224F16CBD3D16555753A20" }
- let(:p7b_thumbprint) { "50954A52DDFA2043F36EA9026FDD95EC252048D0" }
- let(:p7b_nested_thumbprint) { "4A3333FC4E1274995AF5A95810881C86F2DF7FBD" }
+ let(:others_thumbprint) { "6eae1deefaf59daf1a97c9ceeff39c98b3da38cb" }
+ let(:p7b_thumbprint) { "f867e25b928061318ed2c36ca517681774b06260" }
+ let(:p7b_nested_thumbprint) { "dc395eae6be5b69951b8b6e1090cfc33df30d2cd" }
before do
opts = { store_name: store }
@@ -127,10 +127,10 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Does not imports certificate into store" do
expect(no_of_certificates).to eq(1)
end
- # it "Idempotent: Does not converge while addition" do
- # expect(no_of_certificates).to eq(1)
- # expect(win_certificate).not_to be_updated_by_last_action
- # end
+ it "Idempotent: Does not converge while addition" do
+ expect(no_of_certificates).to eq(1)
+ expect(win_certificate).not_to be_updated_by_last_action
+ end
end
context "Again adding the same certificate of other format" do
@@ -141,10 +141,10 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Does not imports certificate into store" do
expect(no_of_certificates).to eq(1)
end
- # it "Idempotent: Does not converge while addition" do
- # expect(no_of_certificates).to eq(1)
- # expect(win_certificate).not_to be_updated_by_last_action
- # end
+ it "Idempotent: Does not converge while addition" do
+ expect(no_of_certificates).to eq(1)
+ expect(win_certificate).not_to be_updated_by_last_action
+ end
end
context "Adding another certificate" do
@@ -171,11 +171,11 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Imports certificate into store" do
expect(no_of_certificates).to eq(1)
end
- # it "Idempotent: Does not converge while adding again" do
- # win_certificate.run_action(:create)
- # expect(no_of_certificates).to eq(1)
- # expect(win_certificate).not_to be_updated_by_last_action
- # end
+ it "Idempotent: Does not converge while adding again" do
+ win_certificate.run_action(:create)
+ expect(no_of_certificates).to eq(1)
+ expect(win_certificate).not_to be_updated_by_last_action
+ end
end
context "Adds Base64 Encoded CER" do
@@ -186,11 +186,11 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Imports certificate into store" do
expect(no_of_certificates).to eq(1)
end
- # it "Idempotent: Does not converge while adding again" do
- # win_certificate.run_action(:create)
- # expect(no_of_certificates).to eq(1)
- # expect(win_certificate).not_to be_updated_by_last_action
- # end
+ it "Idempotent: Does not converge while adding again" do
+ win_certificate.run_action(:create)
+ expect(no_of_certificates).to eq(1)
+ expect(win_certificate).not_to be_updated_by_last_action
+ end
end
context "Adds PEM" do
@@ -201,11 +201,11 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Imports certificate into store" do
expect(no_of_certificates).to eq(1)
end
- # it "Idempotent: Does not converge while adding again" do
- # win_certificate.run_action(:create)
- # expect(no_of_certificates).to eq(1)
- # expect(win_certificate).not_to be_updated_by_last_action
- # end
+ it "Idempotent: Does not converge while adding again" do
+ win_certificate.run_action(:create)
+ expect(no_of_certificates).to eq(1)
+ expect(win_certificate).not_to be_updated_by_last_action
+ end
end
context "Adds P7B" do
@@ -216,12 +216,12 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Imports certificate into store" do
expect(no_of_certificates).not_to eq(0)
end
- # it "Idempotent: Does not converge while adding again" do
- # win_certificate.run_action(:create)
- # expect(win_certificate).not_to be_updated_by_last_action
- # end
+ it "Idempotent: Does not converge while adding again" do
+ win_certificate.run_action(:create)
+ expect(win_certificate).not_to be_updated_by_last_action
+ end
it "Nested certificates are also imported" do
- expect(no_of_certificates).to eq(2)
+ expect(no_of_certificates).to eq(3)
end
end
@@ -235,11 +235,11 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Imports certificate into store" do
expect(no_of_certificates).to eq(1)
end
- # it "Idempotent: Does not converge while adding again" do
- # win_certificate.run_action(:create)
- # expect(no_of_certificates).to eq(1)
- # expect(win_certificate).not_to be_updated_by_last_action
- # end
+ it "Idempotent: Does not converge while adding again" do
+ win_certificate.run_action(:create)
+ expect(no_of_certificates).to eq(1)
+ expect(win_certificate).not_to be_updated_by_last_action
+ end
end
context "With Invalid password" do
@@ -285,9 +285,9 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
it "Initial check if certificate is present" do
expect(no_of_certificates).to eq(1)
end
- # it "Displays correct message" do
- # expect(stdout.string.strip).to eq("Certificate is valid")
- # end
+ it "Displays correct message" do
+ expect(stdout.string.strip).to eq("Certificate is valid")
+ end
it "Does not converge while verifying" do
expect(win_certificate).not_to be_updated_by_last_action
end
@@ -322,11 +322,11 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
win_certificate.run_action(:verify)
end
it "Initial check if certificate is present" do
- expect(no_of_certificates).to eq(2)
+ expect(no_of_certificates).to eq(3)
+ end
+ it "Displays correct message" do
+ expect(stdout.string.strip).to eq("Certificate is valid")
end
- # it "Displays correct message" do
- # expect(stdout.string.strip).to eq("Certificate is valid")
- # end
it "Does not converge while verifying" do
expect(win_certificate).not_to be_updated_by_last_action
end
@@ -338,7 +338,7 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
win_certificate.run_action(:verify)
end
it "Initial check if certificate is present" do
- expect(no_of_certificates).to eq(2)
+ expect(no_of_certificates).to eq(3)
end
it "Displays correct message" do
expect(stdout.string.strip).to eq("Certificate is valid")
@@ -354,7 +354,7 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
win_certificate.run_action(:verify)
end
it "Initial check if certificate is present" do
- expect(no_of_certificates).to eq(2)
+ expect(no_of_certificates).to eq(3)
end
it "Displays correct message" do
expect(stdout.string.strip).to eq("Certificate not found")
@@ -471,22 +471,22 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
expect(no_of_certificates).to eq(0)
expect(win_certificate).not_to be_updated_by_last_action
end
- # it "Deletes the valid certificate" do
- # # Add another certificate"
- # win_certificate.source = other_cer_path
- # win_certificate.run_action(:create)
- # expect(no_of_certificates).to eq(2)
-
- # # Delete previously added certificate
- # win_certificate.source = tests_thumbprint
- # win_certificate.run_action(:delete)
- # expect(no_of_certificates).to eq(1)
-
- # # Verify another certificate still exists
- # win_certificate.source = others_thumbprint
- # win_certificate.run_action(:verify)
- # expect(stdout.string.strip).to eq("Certificate is valid")
- # end
+ it "Deletes the valid certificate" do
+ # Add another certificate"
+ win_certificate.source = other_cer_path
+ win_certificate.run_action(:create)
+ expect(no_of_certificates).to eq(2)
+
+ # Delete previously added certificate
+ win_certificate.source = tests_thumbprint
+ win_certificate.run_action(:delete)
+ expect(no_of_certificates).to eq(1)
+
+ # Verify another certificate still exists
+ win_certificate.source = others_thumbprint
+ win_certificate.run_action(:verify)
+ expect(stdout.string.strip).to eq("Certificate is valid")
+ end
end
end
end