Skip to content

Commit

Permalink
deduplicate subDomainName generation logic in tests
Browse files Browse the repository at this point in the history
Signed-off-by: Inteon <42113979+inteon@users.noreply.github.com>
  • Loading branch information
inteon committed Jun 29, 2021
1 parent 59c2a2d commit 1fa033b
Show file tree
Hide file tree
Showing 20 changed files with 102 additions and 126 deletions.
6 changes: 1 addition & 5 deletions test/e2e/framework/util/BUILD.bazel
Expand Up @@ -2,15 +2,11 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = [
"config.go",
"domains.go",
],
srcs = ["config.go"],
importpath = "github.com/jetstack/cert-manager/test/e2e/framework/util",
tags = ["manual"],
visibility = ["//visibility:public"],
deps = [
"//pkg/util:go_default_library",
"@io_k8s_client_go//rest:go_default_library",
"@io_k8s_client_go//tools/clientcmd:go_default_library",
"@io_k8s_client_go//tools/clientcmd/api:go_default_library",
Expand Down
27 changes: 0 additions & 27 deletions test/e2e/framework/util/domains.go

This file was deleted.

1 change: 1 addition & 0 deletions test/e2e/suite/approval/BUILD.bazel
Expand Up @@ -16,6 +16,7 @@ go_library(
"//pkg/util:go_default_library",
"//test/e2e/framework:go_default_library",
"//test/e2e/framework/util:go_default_library",
"//test/e2e/util:go_default_library",
"//test/unit/gen:go_default_library",
"@com_github_onsi_ginkgo//:go_default_library",
"@com_github_onsi_gomega//:go_default_library",
Expand Down
3 changes: 2 additions & 1 deletion test/e2e/suite/approval/approval.go
Expand Up @@ -37,6 +37,7 @@ import (
clientset "github.com/jetstack/cert-manager/pkg/client/clientset/versioned"
"github.com/jetstack/cert-manager/test/e2e/framework"
testutil "github.com/jetstack/cert-manager/test/e2e/framework/util"
e2eutil "github.com/jetstack/cert-manager/test/e2e/util"
"github.com/jetstack/cert-manager/test/unit/gen"
)

Expand All @@ -59,7 +60,7 @@ var _ = framework.CertManagerDescribe("Approval CertificateRequests", func() {
var err error
crdclient, err = crdclientset.NewForConfig(f.KubeClientConfig)
Expect(err).NotTo(HaveOccurred())
group = testutil.RandomSubdomain("example.io")
group = e2eutil.RandomSubdomain("example.io")

sa, err = f.KubeClientSet.CoreV1().ServiceAccounts(f.Namespace.Name).Create(context.TODO(), &corev1.ServiceAccount{
ObjectMeta: metav1.ObjectMeta{
Expand Down
21 changes: 0 additions & 21 deletions test/e2e/suite/conformance/certificates/suite.go
Expand Up @@ -18,12 +18,10 @@ package certificates

import (
"fmt"
"strings"

. "github.com/onsi/ginkgo"

cmmeta "github.com/jetstack/cert-manager/pkg/apis/meta/v1"
"github.com/jetstack/cert-manager/pkg/util"
"github.com/jetstack/cert-manager/test/e2e/framework"
"github.com/jetstack/cert-manager/test/e2e/framework/helper/featureset"
)
Expand Down Expand Up @@ -119,22 +117,3 @@ func (s *Suite) checkFeatures(fs ...featureset.Feature) bool {
}
return false
}

// newDomain will generate a new random subdomain of the DomainSuffix
func (s *Suite) newDomain() string {
return s.newDomainDepth(1)
}

// newDomainDepth return a new domain name with the given number of subdomains
// beneath the domain suffix.
// If depth is zero, the domain suffix will be returned,
// If depth is one, a random subdomain will be returned e.g. abcd.example.com,
// If depth is two, a random sub-subdomain will be returned e.g. abcd.efgh.example.com,
// and so on
func (s *Suite) newDomainDepth(depth int) string {
subdomains := make([]string, depth)
for i := 0; i < depth; i++ {
subdomains[i] = util.RandStringRunes(4)
}
return strings.Join(append(subdomains, s.DomainSuffix), ".")
}
24 changes: 12 additions & 12 deletions test/e2e/suite/conformance/certificates/tests.go
Expand Up @@ -62,7 +62,7 @@ func (s *Suite) Define() {
Spec: cmapi.CertificateSpec{
SecretName: "testcert-tls",
IssuerRef: issuerRef,
DNSNames: []string{s.newDomain()},
DNSNames: []string{e2eutil.RandomSubdomain(s.DomainSuffix)},
},
}
By("Creating a Certificate")
Expand All @@ -89,7 +89,7 @@ func (s *Suite) Define() {
PrivateKey: &cmapi.CertificatePrivateKey{
Algorithm: cmapi.ECDSAKeyAlgorithm,
},
DNSNames: []string{s.newDomain()},
DNSNames: []string{e2eutil.RandomSubdomain(s.DomainSuffix)},
IssuerRef: issuerRef,
},
}
Expand Down Expand Up @@ -292,12 +292,12 @@ func (s *Suite) Define() {
},
Spec: cmapi.CertificateSpec{
SecretName: "testcert-tls",
CommonName: s.newDomain(),
CommonName: e2eutil.RandomSubdomain(s.DomainSuffix),
IssuerRef: issuerRef,
},
}
testCertificate.Spec.DNSNames = []string{
testCertificate.Spec.CommonName, s.newDomain(),
testCertificate.Spec.CommonName, e2eutil.RandomSubdomain(s.DomainSuffix),
}

By("Creating a Certificate")
Expand All @@ -321,9 +321,9 @@ func (s *Suite) Define() {
},
Spec: cmapi.CertificateSpec{
SecretName: "testcert-tls",
CommonName: s.newDomain(),
CommonName: e2eutil.RandomSubdomain(s.DomainSuffix),
IssuerRef: issuerRef,
DNSNames: []string{s.newDomain()},
DNSNames: []string{e2eutil.RandomSubdomain(s.DomainSuffix)},
},
}

Expand All @@ -349,7 +349,7 @@ func (s *Suite) Define() {
Spec: cmapi.CertificateSpec{
SecretName: "testcert-tls",
IssuerRef: issuerRef,
DNSNames: []string{s.newDomain()},
DNSNames: []string{e2eutil.RandomSubdomain(s.DomainSuffix)},
Duration: &metav1.Duration{
Duration: time.Hour * 896,
},
Expand Down Expand Up @@ -384,7 +384,7 @@ func (s *Suite) Define() {
Spec: cmapi.CertificateSpec{
SecretName: "testcert-tls",
IssuerRef: issuerRef,
DNSNames: []string{"foo." + s.newDomain()},
DNSNames: []string{"foo." + e2eutil.RandomSubdomain(s.DomainSuffix)},
},
}
By("Creating a Certificate")
Expand Down Expand Up @@ -435,7 +435,7 @@ func (s *Suite) Define() {
},
Spec: cmapi.CertificateSpec{
SecretName: "testcert-tls",
DNSNames: []string{s.newDomain()},
DNSNames: []string{e2eutil.RandomSubdomain(s.DomainSuffix)},
IssuerRef: issuerRef,
Usages: []cmapi.KeyUsage{
cmapi.UsageSigning,
Expand Down Expand Up @@ -475,7 +475,7 @@ func (s *Suite) Define() {
},
Spec: cmapi.CertificateSpec{
SecretName: "testcert-tls",
DNSNames: []string{s.newDomain()},
DNSNames: []string{e2eutil.RandomSubdomain(s.DomainSuffix)},
IssuerRef: issuerRef,
},
}
Expand Down Expand Up @@ -534,7 +534,7 @@ func (s *Suite) Define() {
"cert-manager.io/issuer": issuerRef.Name,
"cert-manager.io/issuer-kind": issuerRef.Kind,
"cert-manager.io/issuer-group": issuerRef.Group,
}, s.newDomain()), metav1.CreateOptions{})
}, e2eutil.RandomSubdomain(s.DomainSuffix)), metav1.CreateOptions{})
Expect(err).NotTo(HaveOccurred())

certName := ingress.Spec.TLS[0].SecretName
Expand All @@ -558,7 +558,7 @@ func (s *Suite) Define() {

name := "testcert-ingress"
secretName := "testcert-ingress-tls"
domain := s.newDomain()
domain := e2eutil.RandomSubdomain(s.DomainSuffix)
duration := time.Hour * 999
renewBefore := time.Hour * 111

Expand Down
Expand Up @@ -16,6 +16,7 @@ go_library(
"//test/e2e/framework/helper/featureset:go_default_library",
"//test/e2e/framework/helper/validation:go_default_library",
"//test/e2e/framework/helper/validation/certificatesigningrequests:go_default_library",
"//test/e2e/util:go_default_library",
"//test/unit/gen:go_default_library",
"@com_github_onsi_ginkgo//:go_default_library",
"@com_github_onsi_gomega//:go_default_library",
Expand Down
19 changes: 0 additions & 19 deletions test/e2e/suite/conformance/certificatesigningrequests/suite.go
Expand Up @@ -134,22 +134,3 @@ func (s *Suite) checkFeatures(fs ...featureset.Feature) bool {
}
return false
}

// newDomain will generate a new random subdomain of the DomainSuffix
func (s *Suite) newDomain() string {
return s.newDomainDepth(1)
}

// newDomainDepth return a new domain name with the given number of subdomains
// beneath the domain suffix.
// If depth is zero, the domain suffix will be returned,
// If depth is one, a random subdomain will be returned e.g. abcd.example.com,
// If depth is two, a random sub-subdomain will be returned e.g. abcd.efgh.example.com,
// and so on
func (s *Suite) newDomainDepth(depth int) string {
subdomains := make([]string, depth)
for i := 0; i < depth; i++ {
subdomains[i] = util.RandStringRunes(4)
}
return strings.Join(append(subdomains, s.DomainSuffix), ".")
}
19 changes: 10 additions & 9 deletions test/e2e/suite/conformance/certificatesigningrequests/tests.go
Expand Up @@ -35,6 +35,7 @@ import (
"github.com/jetstack/cert-manager/test/e2e/framework/helper/featureset"
"github.com/jetstack/cert-manager/test/e2e/framework/helper/validation"
"github.com/jetstack/cert-manager/test/e2e/framework/helper/validation/certificatesigningrequests"
e2eutil "github.com/jetstack/cert-manager/test/e2e/util"
"github.com/jetstack/cert-manager/test/unit/gen"
)

Expand Down Expand Up @@ -65,7 +66,7 @@ func (s *Suite) Define() {
panic(err)
}

sharedCommonName := s.newDomain()
sharedCommonName := e2eutil.RandomSubdomain(s.DomainSuffix)

type testCase struct {
keyAlgo x509.PublicKeyAlgorithm
Expand All @@ -83,7 +84,7 @@ func (s *Suite) Define() {
tests := map[string]testCase{
"should issue an RSA certificate for a single distinct DNS Name": {
keyAlgo: x509.RSA,
csrModifiers: []gen.CSRModifier{gen.SetCSRDNSNames(s.newDomain())},
csrModifiers: []gen.CSRModifier{gen.SetCSRDNSNames(e2eutil.RandomSubdomain(s.DomainSuffix))},
kubeCSRUsages: []certificatesv1.KeyUsage{
certificatesv1.UsageDigitalSignature,
certificatesv1.UsageKeyEncipherment,
Expand All @@ -93,7 +94,7 @@ func (s *Suite) Define() {

"should issue an ECDSA certificate for a single distinct DNS Name": {
keyAlgo: x509.ECDSA,
csrModifiers: []gen.CSRModifier{gen.SetCSRDNSNames(s.newDomain())},
csrModifiers: []gen.CSRModifier{gen.SetCSRDNSNames(e2eutil.RandomSubdomain(s.DomainSuffix))},
kubeCSRUsages: []certificatesv1.KeyUsage{
certificatesv1.UsageDigitalSignature,
certificatesv1.UsageKeyEncipherment,
Expand All @@ -103,7 +104,7 @@ func (s *Suite) Define() {

"should issue an Ed25519 certificate for a single distinct DNS Name": {
keyAlgo: x509.Ed25519,
csrModifiers: []gen.CSRModifier{gen.SetCSRDNSNames(s.newDomain())},
csrModifiers: []gen.CSRModifier{gen.SetCSRDNSNames(e2eutil.RandomSubdomain(s.DomainSuffix))},
kubeCSRUsages: []certificatesv1.KeyUsage{
certificatesv1.UsageDigitalSignature,
certificatesv1.UsageKeyEncipherment,
Expand Down Expand Up @@ -183,7 +184,7 @@ func (s *Suite) Define() {
keyAlgo: x509.RSA,
csrModifiers: []gen.CSRModifier{
gen.SetCSRCommonName(sharedCommonName),
gen.SetCSRDNSNames(sharedCommonName, s.newDomain()),
gen.SetCSRDNSNames(sharedCommonName, e2eutil.RandomSubdomain(s.DomainSuffix)),
},
kubeCSRUsages: []certificatesv1.KeyUsage{
certificatesv1.UsageDigitalSignature,
Expand All @@ -195,8 +196,8 @@ func (s *Suite) Define() {
"should issue a certificate that defines a distinct DNS Name and another distinct Common Name": {
keyAlgo: x509.RSA,
csrModifiers: []gen.CSRModifier{
gen.SetCSRCommonName(s.newDomain()),
gen.SetCSRDNSNames(s.newDomain()),
gen.SetCSRCommonName(e2eutil.RandomSubdomain(s.DomainSuffix)),
gen.SetCSRDNSNames(e2eutil.RandomSubdomain(s.DomainSuffix)),
},
kubeCSRUsages: []certificatesv1.KeyUsage{
certificatesv1.UsageDigitalSignature,
Expand Down Expand Up @@ -224,7 +225,7 @@ func (s *Suite) Define() {
"should issue a certificate that defines a DNS Name and sets a duration": {
keyAlgo: x509.RSA,
csrModifiers: []gen.CSRModifier{
gen.SetCSRDNSNames(s.newDomain()),
gen.SetCSRDNSNames(e2eutil.RandomSubdomain(s.DomainSuffix)),
},
kubeCSRUsages: []certificatesv1.KeyUsage{
certificatesv1.UsageDigitalSignature,
Expand All @@ -239,7 +240,7 @@ func (s *Suite) Define() {
"should issue a certificate which has a wildcard DNS name defined": {
keyAlgo: x509.RSA,
csrModifiers: []gen.CSRModifier{
gen.SetCSRDNSNames("*." + s.newDomain()),
gen.SetCSRDNSNames("*." + e2eutil.RandomSubdomain(s.DomainSuffix)),
},
kubeCSRUsages: []certificatesv1.KeyUsage{
certificatesv1.UsageDigitalSignature,
Expand Down
2 changes: 0 additions & 2 deletions test/e2e/suite/issuers/acme/certificate/BUILD.bazel
Expand Up @@ -16,15 +16,13 @@ go_library(
"//pkg/apis/certmanager/v1:go_default_library",
"//pkg/apis/meta/v1:go_default_library",
"//pkg/client/clientset/versioned:go_default_library",
"//pkg/util:go_default_library",
"//pkg/util/pki:go_default_library",
"//test/e2e/framework:go_default_library",
"//test/e2e/framework/addon:go_default_library",
"//test/e2e/framework/helper/featureset:go_default_library",
"//test/e2e/framework/helper/validation:go_default_library",
"//test/e2e/framework/log:go_default_library",
"//test/e2e/framework/matcher:go_default_library",
"//test/e2e/framework/util:go_default_library",
"//test/e2e/suite/issuers/acme/dnsproviders:go_default_library",
"//test/e2e/util:go_default_library",
"//test/unit/gen:go_default_library",
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/suite/issuers/acme/certificate/dns01.go
Expand Up @@ -67,7 +67,7 @@ func testRFC2136DNSProvider() bool {

BeforeEach(func() {
By("Creating an Issuer")
dnsDomain = p.Details().NewTestDomain()
dnsDomain = util.RandomSubdomain(p.Details().BaseDomain)
issuer := gen.Issuer(issuerName,
gen.SetIssuerACME(cmacme.ACMEIssuer{
SkipTLSVerify: true,
Expand Down

0 comments on commit 1fa033b

Please sign in to comment.