@@ -34,6 +34,7 @@ const (
3434
3535var _ = Describe ("ACME Certificate" , Ordered , func () {
3636 var ctx context.Context
37+ var ns * corev1.Namespace
3738 var appsDomain string
3839 var baseDomain string
3940
@@ -71,16 +72,20 @@ var _ = Describe("ACME Certificate", Ordered, func() {
7172 certManagerCAInjectorDeploymentControllerName },
7273 validOperatorStatusConditions )
7374 Expect (err ).NotTo (HaveOccurred (), "Operator is expected to be available" )
75+
76+ By ("creating a test namespace" )
77+ namespace , err := loader .CreateTestingNS ("e2e-acme-certs" )
78+ Expect (err ).NotTo (HaveOccurred ())
79+ ns = namespace
80+
81+ DeferCleanup (func () {
82+ loader .DeleteTestingNS (ns .Name , func () bool { return CurrentSpecReport ().Failed () })
83+ })
7484 })
7585
7686 Context ("dns-01 challenge with AWS Route53" , Label ("Platform:AWS" ), func () {
7787 It ("should obtain a valid LetsEncrypt certificate using explicit credentials" , func () {
7888
79- By ("creating a test namespace" )
80- ns , err := loader .CreateTestingNS ("e2e-acme-explicit-dns01" )
81- Expect (err ).NotTo (HaveOccurred ())
82- defer loader .DeleteTestingNS (ns .Name )
83-
8489 By ("obtaining AWS credentials from kube-system namespace" )
8590 awsCredsSecret , err := loader .KubeClient .CoreV1 ().Secrets ("kube-system" ).Get (ctx , "aws-creds" , metav1.GetOptions {})
8691 Expect (err ).NotTo (HaveOccurred ())
@@ -185,16 +190,11 @@ var _ = Describe("ACME Certificate", Ordered, func() {
185190
186191 It ("should obtain a valid LetsEncrypt certificate using ambient credentials with ClusterIssuer" , func () {
187192
188- By ("creating a test namespace" )
189- ns , err := loader .CreateTestingNS ("e2e-acme-ambient-dns01" )
190- Expect (err ).NotTo (HaveOccurred ())
191- defer loader .DeleteTestingNS (ns .Name )
192-
193193 By ("creating CredentialsRequest object" )
194194 loader .CreateFromFile (testassets .ReadFile , filepath .Join ("testdata" , "credentials" , "credentialsrequest_aws.yaml" ), "" )
195195
196196 By ("waiting for cloud secret to be available" )
197- err = wait .PollImmediate (PollInterval , TestTimeout , func () (bool , error ) {
197+ err : = wait .PollImmediate (PollInterval , TestTimeout , func () (bool , error ) {
198198 _ , err := loader .KubeClient .CoreV1 ().Secrets ("cert-manager" ).Get (ctx , "aws-creds" , metav1.GetOptions {})
199199 if err != nil {
200200 return false , nil
@@ -282,16 +282,11 @@ var _ = Describe("ACME Certificate", Ordered, func() {
282282
283283 It ("should obtain a valid LetsEncrypt certificate using ambient credentials with Issuer" , func () {
284284
285- By ("creating a test namespace" )
286- ns , err := loader .CreateTestingNS ("e2e-acme-issuer-ambient-dns01-aws" )
287- Expect (err ).NotTo (HaveOccurred ())
288- defer loader .DeleteTestingNS (ns .Name )
289-
290285 By ("creating CredentialsRequest object" )
291286 loader .CreateFromFile (testassets .ReadFile , filepath .Join ("testdata" , "credentials" , "credentialsrequest_aws.yaml" ), "" )
292287
293288 By ("waiting for cloud secret to be available" )
294- err = wait .PollImmediate (PollInterval , TestTimeout , func () (bool , error ) {
289+ err : = wait .PollImmediate (PollInterval , TestTimeout , func () (bool , error ) {
295290 _ , err := loader .KubeClient .CoreV1 ().Secrets ("cert-manager" ).Get (ctx , "aws-creds" , metav1.GetOptions {})
296291 if err != nil {
297292 return false , nil
@@ -383,11 +378,6 @@ var _ = Describe("ACME Certificate", Ordered, func() {
383378 Context ("dns-01 challenge with Google CloudDNS" , Label ("Platform:GCP" ), func () {
384379 It ("should obtain a valid LetsEncrypt certificate using explicit credentials with ClusterIssuer" , func () {
385380
386- By ("creating a test namespace" )
387- ns , err := loader .CreateTestingNS ("e2e-acme-explicit-dns01-gcp" )
388- Expect (err ).NotTo (HaveOccurred ())
389- defer loader .DeleteTestingNS (ns .Name )
390-
391381 By ("obtaining GCP credentials from kube-system namespace" )
392382 gcpCredsSecret , err := loader .KubeClient .CoreV1 ().Secrets ("kube-system" ).Get (ctx , "gcp-credentials" , metav1.GetOptions {})
393383 Expect (err ).NotTo (HaveOccurred ())
@@ -489,18 +479,13 @@ var _ = Describe("ACME Certificate", Ordered, func() {
489479
490480 It ("should obtain a valid LetsEncrypt certificate using ambient credentials with ClusterIssuer" , func () {
491481
492- By ("Creating a test namespace" )
493- ns , err := loader .CreateTestingNS ("e2e-acme-ambient-dns01" )
494- Expect (err ).NotTo (HaveOccurred ())
495- defer loader .DeleteTestingNS (ns .Name )
496-
497482 By ("Creating CredentialsRequest object" )
498483 loader .CreateFromFile (testassets .ReadFile , filepath .Join ("testdata" , "credentials" , "credentialsrequest_gcp.yaml" ), "" )
499484
500485 By ("Waiting for cloud secret to be available" )
501486 // The name is defined cloud credential by the testdata YAML file.
502487 credentialSecret := "gcp-credentials"
503- err = wait .PollImmediate (PollInterval , TestTimeout , func () (bool , error ) {
488+ err : = wait .PollImmediate (PollInterval , TestTimeout , func () (bool , error ) {
504489 _ , err := loader .KubeClient .CoreV1 ().Secrets ("cert-manager" ).Get (ctx , credentialSecret , metav1.GetOptions {})
505490 if err != nil {
506491 return false , nil
@@ -571,11 +556,6 @@ var _ = Describe("ACME Certificate", Ordered, func() {
571556 Skip ("skipping as the cluster does not use IBM Cloud CIS" )
572557 }
573558
574- By ("creating a test namespace" )
575- ns , err := loader .CreateTestingNS ("e2e-acme-explicit-dns01-ibmcloud" )
576- Expect (err ).NotTo (HaveOccurred ())
577- defer loader .DeleteTestingNS (ns .Name )
578-
579559 By ("creating new certificate ClusterIssuer with IBM Cloud CIS webhook solver" )
580560 randomString := randomStr (3 )
581561 clusterIssuerName := "letsencrypt-dns01-explicit-ic"
@@ -604,7 +584,7 @@ var _ = Describe("ACME Certificate", Ordered, func() {
604584 loader .CreateFromFile (loadFileAndReplaceStr , filepath .Join ("testdata" , "acme" , "certificate_ibmcis.yaml" ), ns .Name )
605585
606586 By ("waiting for certificate to get ready" )
607- err = waitForCertificateReadiness (ctx , certName , ns .Name )
587+ err : = waitForCertificateReadiness (ctx , certName , ns .Name )
608588 Expect (err ).NotTo (HaveOccurred ())
609589
610590 By ("checking for certificate validity from secret contents" )
@@ -616,11 +596,6 @@ var _ = Describe("ACME Certificate", Ordered, func() {
616596 Context ("http-01 challenge using ingress" , func () {
617597 It ("should obtain a valid LetsEncrypt certificate" , func () {
618598
619- By ("creating a test namespace" )
620- ns , err := loader .CreateTestingNS ("e2e-acme-explicit-dns01" )
621- Expect (err ).NotTo (HaveOccurred ())
622- defer loader .DeleteTestingNS (ns .Name )
623-
624599 By ("creating a cluster issuer" )
625600 loader .CreateFromFile (testassets .ReadFile , filepath .Join ("testdata" , "acme" , "clusterissuer.yaml" ), ns .Name )
626601 defer loader .DeleteFromFile (testassets .ReadFile , filepath .Join ("testdata" , "acme" , "clusterissuer.yaml" ), ns .Name )
@@ -673,7 +648,7 @@ var _ = Describe("ACME Certificate", Ordered, func() {
673648 }},
674649 },
675650 }
676- ingress , err = loader .KubeClient .NetworkingV1 ().Ingresses (ingress .ObjectMeta .Namespace ).Create (ctx , ingress , metav1.CreateOptions {})
651+ ingress , err : = loader .KubeClient .NetworkingV1 ().Ingresses (ingress .ObjectMeta .Namespace ).Create (ctx , ingress , metav1.CreateOptions {})
677652 Expect (err ).NotTo (HaveOccurred ())
678653 defer loader .KubeClient .NetworkingV1 ().Ingresses (ingress .ObjectMeta .Namespace ).Delete (ctx , ingress .ObjectMeta .Name , metav1.DeleteOptions {})
679654
@@ -713,7 +688,7 @@ var _ = Describe("Self-signed Certificate", Ordered, func() {
713688 ns = namespace
714689
715690 DeferCleanup (func () {
716- loader .DeleteTestingNS (ns .Name )
691+ loader .DeleteTestingNS (ns .Name , func () bool { return CurrentSpecReport (). Failed () } )
717692 })
718693 })
719694
0 commit comments