Skip to content

Commit a04fdc2

Browse files
committed
improve TestCreateIssuer test
1 parent 19b4a05 commit a04fdc2

2 files changed

Lines changed: 59 additions & 27 deletions

File tree

pkg/psmdb/tls/certmanager.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,8 @@ func (c *certManagerController) createOrUpdate(ctx context.Context, cr *api.Perc
9797
func (c *certManagerController) ApplyIssuer(ctx context.Context, cr *api.PerconaServerMongoDB) (util.ApplyStatus, error) {
9898
var issuer client.Object
9999
meta := metav1.ObjectMeta{
100-
Name: issuerName(cr),
101-
Namespace: cr.Namespace,
102-
Labels: naming.ClusterLabels(cr),
100+
Name: issuerName(cr),
101+
Labels: naming.ClusterLabels(cr),
103102
}
104103
spec := cm.IssuerSpec{
105104
IssuerConfig: cm.IssuerConfig{
@@ -114,6 +113,7 @@ func (c *certManagerController) ApplyIssuer(ctx context.Context, cr *api.Percona
114113
ObjectMeta: meta,
115114
Spec: spec,
116115
}
116+
issuer.SetNamespace(cr.Namespace)
117117
case cm.ClusterIssuerKind:
118118
issuer = &cm.ClusterIssuer{
119119
ObjectMeta: meta,

pkg/psmdb/tls/certmanager_test.go

Lines changed: 56 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestCreateIssuer(t *testing.T) {
2424
cr := &api.PerconaServerMongoDB{
2525
ObjectMeta: metav1.ObjectMeta{Name: "psmdb-mock", Namespace: "psmdb"},
2626
Spec: api.PerconaServerMongoDBSpec{
27-
CRVersion: "1.16.0",
27+
CRVersion: version.Version(),
2828
TLS: &api.TLSSpec{
2929
IssuerConf: api.IssuerConfReference{
3030
Name: customIssuerName,
@@ -36,39 +36,70 @@ func TestCreateIssuer(t *testing.T) {
3636

3737
r := buildFakeClient(cr)
3838

39-
issuer := &cm.Issuer{}
40-
4139
t.Run("Create issuer with custom name", func(t *testing.T) {
4240
ctx := t.Context()
43-
if _, err := r.ApplyIssuer(ctx, cr); err != nil {
44-
t.Fatal(err)
45-
}
41+
cr := cr.DeepCopy()
4642

47-
err := r.GetClient().Get(ctx, types.NamespacedName{Namespace: "psmdb", Name: customIssuerName}, issuer)
48-
if err != nil {
49-
t.Fatal(err)
50-
}
43+
issuer := &cm.Issuer{}
5144

52-
if issuer.Name != customIssuerName {
53-
t.Fatalf("Expected issuer name %s, got %s", customIssuerName, issuer.Name)
54-
}
45+
_, err := r.ApplyIssuer(ctx, cr)
46+
assert.NoError(t, err)
47+
48+
err = r.GetClient().Get(ctx, types.NamespacedName{Namespace: "psmdb", Name: customIssuerName}, issuer)
49+
assert.NoError(t, err)
50+
51+
assert.Equal(t, customIssuerName, issuer.Name)
5552
})
5653

5754
t.Run("Create issuer with default name", func(t *testing.T) {
5855
ctx := t.Context()
59-
cr.Spec.CRVersion = "1.15.0"
60-
if _, err := r.ApplyIssuer(ctx, cr); err != nil {
61-
t.Fatal(err)
62-
}
56+
cr := cr.DeepCopy()
57+
cr.Spec.TLS.IssuerConf.Name = ""
6358

64-
err := r.GetClient().Get(ctx, types.NamespacedName{Namespace: "psmdb", Name: issuerName(cr)}, issuer)
65-
if err != nil {
66-
t.Fatal(err)
67-
}
59+
issuer := &cm.Issuer{}
6860

69-
if issuer.Name != issuerName(cr) {
70-
t.Fatalf("Expected issuer name %s, got %s", issuerName(cr), issuer.Name)
71-
}
61+
_, err := r.ApplyIssuer(ctx, cr)
62+
assert.NoError(t, err)
63+
64+
err = r.GetClient().Get(ctx, types.NamespacedName{Namespace: "psmdb", Name: issuerName(cr)}, issuer)
65+
assert.NoError(t, err)
66+
67+
assert.NoError(t, err)
68+
assert.Equal(t, "psmdb-mock-psmdb-issuer", issuer.Name)
69+
})
70+
71+
t.Run("Create clusterissuer with custom name", func(t *testing.T) {
72+
ctx := t.Context()
73+
cr := cr.DeepCopy()
74+
cr.Spec.TLS.IssuerConf.Kind = cm.ClusterIssuerKind
75+
cr.Spec.TLS.IssuerConf.Name = customIssuerName
76+
77+
issuer := &cm.ClusterIssuer{}
78+
79+
_, err := r.ApplyIssuer(ctx, cr)
80+
assert.NoError(t, err)
81+
82+
err = r.GetClient().Get(ctx, types.NamespacedName{Name: customIssuerName}, issuer)
83+
assert.NoError(t, err)
84+
85+
assert.Equal(t, customIssuerName, issuer.Name)
86+
})
87+
88+
t.Run("Create clusterissuer with default name", func(t *testing.T) {
89+
ctx := t.Context()
90+
cr := cr.DeepCopy()
91+
cr.Spec.TLS.IssuerConf.Kind = cm.ClusterIssuerKind
92+
cr.Spec.TLS.IssuerConf.Name = ""
93+
94+
issuer := &cm.ClusterIssuer{}
95+
96+
_, err := r.ApplyIssuer(ctx, cr)
97+
assert.NoError(t, err)
98+
99+
err = r.GetClient().Get(ctx, types.NamespacedName{Name: issuerName(cr)}, issuer)
100+
assert.NoError(t, err)
101+
102+
assert.Equal(t, "psmdb-mock-psmdb-psmdb-issuer", issuer.Name)
72103
})
73104
}
74105

@@ -271,6 +302,7 @@ func buildFakeClient(objs ...client.Object) CertManagerController {
271302

272303
s.AddKnownTypes(cm.SchemeGroupVersion,
273304
new(cm.Issuer),
305+
new(cm.ClusterIssuer),
274306
new(cm.Certificate),
275307
)
276308

0 commit comments

Comments
 (0)