Skip to content

Commit e46ead6

Browse files
committed
Refactoring unit tests for PKI module
1 parent 01fdfc3 commit e46ead6

28 files changed

+2834
-2627
lines changed

integration_tests/constants/constants.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,8 @@ eujhLsD51w==
703703
RootCertWithSameSubjectAndSKIDSubjectKeyID = "33:5E:0C:07:44:F8:B5:9C:CD:55:01:9B:6D:71:23:83:6F:D0:D4:BE"
704704
RootCertWithSameSubjectAndSKID1SerialNumber = "1"
705705
RootCertWithSameSubjectAndSKID2SerialNumber = "2"
706+
RootCertWithSameSubjectAndSKID1Issuer = "MIGCMQswCQYDVQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxETAPBgNVBAcMCE5ldyBZb3JrMRgwFgYDVQQKDA9FeGFtcGxlIENvbXBhbnkxGTAXBgNVBAsMEFRlc3RpbmcgRGl2aXNpb24xGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQ=="
707+
RootCertWithSameSubjectAndSKID2Issuer = "MIGCMQswCQYDVQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxETAPBgNVBAcMCE5ldyBZb3JrMRgwFgYDVQQKDA9FeGFtcGxlIENvbXBhbnkxGTAXBgNVBAsMEFRlc3RpbmcgRGl2aXNpb24xGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQ=="
706708
IntermediateCertWithSameSubjectAndSKIDSubject = "MEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQ="
707709

708710
IntermediateCertWithSameSubjectIssuer = RootCertWithSameSubjectAndSKIDSubject
@@ -744,9 +746,13 @@ eujhLsD51w==
744746
TestSubjectKeyID = "E2:90:8D:36:9C:3C:A3:C1:13:BB:09:E2:4D:C1:CC:C5:A6:66:91:D4"
745747
TestSerialNumber = "1647312298631"
746748

747-
PAACertWithSameSubjectID1Subject = "MFoxCzAJBgNVBAYTAlVaMQwwCgYDVQQIDANUU0gxETAPBgNVBAcMCFRBU0hLRU5UMQwwCgYDVQQKDANEU1IxCzAJBgNVBAsMAkRDMQ8wDQYDVQQDDAZNQVRURVI="
748-
PAACertWithSameSubjectID2Subject = "MGAxCzAJBgNVBAYTAlVaMQwwCgYDVQQIDANUU0gxETAPBgNVBAcMCFRBU0hLRU5UMQwwCgYDVQQKDANEU1IxEDAOBgNVBAsMB01BVFRFUjIxEDAOBgNVBAMMB01BVFRFUjI="
749-
PAACertWithSameSubjectIDSubjectID = "7F:C5:4C:61:A7:2A:40:02:DA:B3:73:FB:A8:A0:AC:42:2C:44:77:05"
749+
PAACertWithSameSubjectID1Subject = "MFoxCzAJBgNVBAYTAlVaMQwwCgYDVQQIDANUU0gxETAPBgNVBAcMCFRBU0hLRU5UMQwwCgYDVQQKDANEU1IxCzAJBgNVBAsMAkRDMQ8wDQYDVQQDDAZNQVRURVI="
750+
PAACertWithSameSubjectID2Subject = "MGAxCzAJBgNVBAYTAlVaMQwwCgYDVQQIDANUU0gxETAPBgNVBAcMCFRBU0hLRU5UMQwwCgYDVQQKDANEU1IxEDAOBgNVBAsMB01BVFRFUjIxEDAOBgNVBAMMB01BVFRFUjI="
751+
PAACertWithSameSubjectIDSubjectID = "7F:C5:4C:61:A7:2A:40:02:DA:B3:73:FB:A8:A0:AC:42:2C:44:77:05"
752+
PAACertWithSameSubjectIssuer = "MFoxCzAJBgNVBAYTAlVaMQwwCgYDVQQIDANUU0gxETAPBgNVBAcMCFRBU0hLRU5UMQwwCgYDVQQKDANEU1IxCzAJBgNVBAsMAkRDMQ8wDQYDVQQDDAZNQVRURVI="
753+
PAACertWithSameSubjectSerialNumber = "52395954309929518473720319596322683729415766451"
754+
PAACertWithSameSubject2Issuer = "MGAxCzAJBgNVBAYTAlVaMQwwCgYDVQQIDANUU0gxETAPBgNVBAcMCFRBU0hLRU5UMQwwCgYDVQQKDANEU1IxEDAOBgNVBAsMB01BVFRFUjIxEDAOBgNVBAMMB01BVFRFUjI="
755+
PAACertWithSameSubject2SerialNumber = "619677517297003610282920732322368299925590816980"
750756

751757
TestVID1String = "0xA13"
752758
TestPID1String = "0xA11"

x/pki/tests/handler_add_noc_ica_cert_test.go

+36-35
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package tests
22

33
import (
4+
"github.com/zigbee-alliance/distributed-compliance-ledger/x/pki/tests/utils"
45
"testing"
56

67
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
@@ -15,18 +16,18 @@ import (
1516
// Main
1617

1718
func TestHandler_AddNocIntermediateCert(t *testing.T) {
18-
setup := Setup(t)
19+
setup := utils.Setup(t)
1920

2021
accAddress := setup.CreateVendorAccount(testconstants.Vid)
2122

2223
// add NOC root certificate
23-
addNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
24+
utils.AddNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
2425

2526
// add NOC ICA certificate
26-
addNocIntermediateCertificate(setup, accAddress, testconstants.NocCert1)
27+
utils.AddNocIntermediateCertificate(setup, accAddress, testconstants.NocCert1)
2728

2829
// Check: Noc + All + UniqueCertificate
29-
ensureNocIntermediateCertificateExist(
30+
utils.EnsureNocIntermediateCertificateExist(
3031
t,
3132
setup,
3233
testconstants.NocCert1Subject,
@@ -38,7 +39,7 @@ func TestHandler_AddNocIntermediateCert(t *testing.T) {
3839
)
3940

4041
// ChildCertificates: check that child certificates of issuer contains certificate identifier
41-
ensureChildCertificateExist(
42+
utils.EnsureChildCertificateExist(
4243
t,
4344
setup,
4445
testconstants.NocRootCert1Subject,
@@ -51,14 +52,14 @@ func TestHandler_AddNocIntermediateCert(t *testing.T) {
5152
// Extra cases
5253

5354
func TestHandler_AddNocX509Cert_Renew(t *testing.T) {
54-
setup := Setup(t)
55+
setup := utils.Setup(t)
5556

56-
accAddress := GenerateAccAddress()
57+
accAddress := utils.GenerateAccAddress()
5758
vid := testconstants.Vid
5859
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, testconstants.Vid)
5960

6061
// add NOC root certificate
61-
addNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
62+
utils.AddNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
6263

6364
// Store the NOC certificate
6465
newNocCertificate := types.NewNocCertificate(
@@ -95,18 +96,18 @@ func TestHandler_AddNocX509Cert_Renew(t *testing.T) {
9596
require.NoError(t, err)
9697

9798
// query noc certificate by Subject and SKID
98-
nocCertificates, err := queryNocCertificates(setup, newNocCertificate.Subject, newNocCertificate.SubjectKeyId)
99+
nocCertificates, err := utils.QueryNocCertificates(setup, newNocCertificate.Subject, newNocCertificate.SubjectKeyId)
99100
require.NoError(t, err)
100101
require.Equal(t, len(nocCertificates.Certs), 2)
101102
require.Equal(t, &newNocCertificate, nocCertificates.Certs[0])
102103

103104
// query noc certificate by Subject
104-
nocCertificatesBySubject, err := queryNocCertificatesBySubject(setup, newNocCertificate.Subject)
105+
nocCertificatesBySubject, err := utils.QueryNocCertificatesBySubject(setup, newNocCertificate.Subject)
105106
require.NoError(t, err)
106107
require.Equal(t, 1, len(nocCertificatesBySubject.SubjectKeyIds))
107108

108109
// query noc certificate by SKID
109-
nocCertificatesBySubjectKeyID, err := queryAllNocCertificatesBySubjectKeyID(setup, newNocCertificate.SubjectKeyId)
110+
nocCertificatesBySubjectKeyID, err := utils.QueryNocCertificatesBySubjectKeyID(setup, newNocCertificate.SubjectKeyId)
110111
require.NoError(t, err)
111112
require.Equal(t, 1, len(nocCertificatesBySubjectKeyID))
112113
require.Equal(t, 2, len(nocCertificatesBySubjectKeyID[0].Certs))
@@ -115,7 +116,7 @@ func TestHandler_AddNocX509Cert_Renew(t *testing.T) {
115116
require.Equal(t, vid, nocCertificatesBySubjectKeyID[0].Certs[0].Vid)
116117

117118
// query noc certificate by VID
118-
nocCertificatesByVid, err := queryNocIcaCertificatesByVid(setup, testconstants.Vid)
119+
nocCertificatesByVid, err := utils.QueryNocIcaCertificatesByVid(setup, testconstants.Vid)
119120
require.NoError(t, err)
120121
require.Equal(t, len(nocCertificatesByVid.Certs), 2)
121122
require.Equal(t, testconstants.NocCert1Subject, nocCertificatesByVid.Certs[0].Subject)
@@ -126,7 +127,7 @@ func TestHandler_AddNocX509Cert_Renew(t *testing.T) {
126127
// Error cases
127128

128129
func TestHandler_AddNocX509Cert_SenderNotVendor(t *testing.T) {
129-
setup := Setup(t)
130+
setup := utils.Setup(t)
130131

131132
addNocX509Cert := types.NewMsgAddNocX509IcaCert(setup.Trustee1.String(), testconstants.NocCert1, testconstants.CertSchemaVersion)
132133
_, err := setup.Handler(setup.Ctx, addNocX509Cert)
@@ -135,16 +136,16 @@ func TestHandler_AddNocX509Cert_SenderNotVendor(t *testing.T) {
135136
}
136137

137138
func TestHandler_AddNocX509Cert_Root_VID_Does_Not_Equal_To_AccountVID(t *testing.T) {
138-
setup := Setup(t)
139+
setup := utils.Setup(t)
139140

140-
accAddress := GenerateAccAddress()
141+
accAddress := utils.GenerateAccAddress()
141142
vid := testconstants.Vid
142143
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, vid)
143144

144145
// add NOC root certificate
145-
addNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
146+
utils.AddNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
146147

147-
newAccAddress := GenerateAccAddress()
148+
newAccAddress := utils.GenerateAccAddress()
148149
setup.AddAccount(newAccAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, 1111)
149150

150151
// try to add NOC certificate
@@ -154,9 +155,9 @@ func TestHandler_AddNocX509Cert_Root_VID_Does_Not_Equal_To_AccountVID(t *testing
154155
}
155156

156157
func TestHandler_AddNocX509Cert_ForInvalidCertificate(t *testing.T) {
157-
setup := Setup(t)
158+
setup := utils.Setup(t)
158159

159-
accAddress := GenerateAccAddress()
160+
accAddress := utils.GenerateAccAddress()
160161
vid := testconstants.Vid
161162
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, vid)
162163

@@ -167,9 +168,9 @@ func TestHandler_AddNocX509Cert_ForInvalidCertificate(t *testing.T) {
167168
}
168169

169170
func TestHandler_AddXNoc509Cert_ForNocRootCertificate(t *testing.T) {
170-
setup := Setup(t)
171+
setup := utils.Setup(t)
171172

172-
accAddress := GenerateAccAddress()
173+
accAddress := utils.GenerateAccAddress()
173174
vid := testconstants.Vid
174175
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, vid)
175176

@@ -180,21 +181,21 @@ func TestHandler_AddXNoc509Cert_ForNocRootCertificate(t *testing.T) {
180181
}
181182

182183
func TestHandler_AddXNoc509Cert_ForRootNonNocCertificate(t *testing.T) {
183-
setup := Setup(t)
184+
setup := utils.Setup(t)
184185

185-
accAddress := GenerateAccAddress()
186+
accAddress := utils.GenerateAccAddress()
186187
vid := testconstants.Vid
187188
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, vid)
188189

189190
// store root certificate
190-
rootCertOptions := &rootCertOptions{
191-
pemCert: testconstants.RootCertWithVid,
192-
info: testconstants.Info,
193-
subject: testconstants.RootCertWithVidSubject,
194-
subjectKeyID: testconstants.RootCertWithVidSubjectKeyID,
195-
vid: testconstants.RootCertWithVidVid,
191+
rootCertOptions := &utils.RootCertOptions{
192+
PemCert: testconstants.RootCertWithVid,
193+
Info: testconstants.Info,
194+
Subject: testconstants.RootCertWithVidSubject,
195+
SubjectKeyID: testconstants.RootCertWithVidSubjectKeyID,
196+
Vid: testconstants.RootCertWithVidVid,
196197
}
197-
proposeAndApproveRootCertificate(setup, setup.Trustee1, rootCertOptions)
198+
utils.ProposeAndApproveRootCertificate(setup, setup.Trustee1, rootCertOptions)
198199

199200
// try to add root certificate x509 certificate
200201
addX509Cert := types.NewMsgAddNocX509IcaCert(accAddress.String(), testconstants.IntermediateCertWithVid1, testconstants.CertSchemaVersion)
@@ -203,9 +204,9 @@ func TestHandler_AddXNoc509Cert_ForRootNonNocCertificate(t *testing.T) {
203204
}
204205

205206
func TestHandler_AddXNoc509Cert_WhenNocRootCertIsAbsent(t *testing.T) {
206-
setup := Setup(t)
207+
setup := utils.Setup(t)
207208

208-
accAddress := GenerateAccAddress()
209+
accAddress := utils.GenerateAccAddress()
209210
vid := testconstants.Vid
210211
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, vid)
211212

@@ -217,7 +218,7 @@ func TestHandler_AddXNoc509Cert_WhenNocRootCertIsAbsent(t *testing.T) {
217218
}
218219

219220
func TestHandler_AddNocX509Cert_CertificateExist(t *testing.T) {
220-
accAddress := GenerateAccAddress()
221+
accAddress := utils.GenerateAccAddress()
221222

222223
cases := []struct {
223224
name string
@@ -325,12 +326,12 @@ func TestHandler_AddNocX509Cert_CertificateExist(t *testing.T) {
325326

326327
for _, tc := range cases {
327328
t.Run(tc.name, func(t *testing.T) {
328-
setup := Setup(t)
329+
setup := utils.Setup(t)
329330
vid := testconstants.Vid
330331
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, vid)
331332

332333
// add NOC root certificate
333-
addNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
334+
utils.AddNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
334335

335336
// add the existing certificate
336337
setup.Keeper.AddAllCertificate(setup.Ctx, *tc.existingCert)

x/pki/tests/handler_add_noc_root_cert_test.go

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package tests
22

33
import (
4+
"github.com/zigbee-alliance/distributed-compliance-ledger/x/pki/tests/utils"
45
"testing"
56

67
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
@@ -14,15 +15,15 @@ import (
1415
// Main
1516

1617
func TestHandler_AddNocRootCert(t *testing.T) {
17-
setup := Setup(t)
18+
setup := utils.Setup(t)
1819

1920
accAddress := setup.CreateVendorAccount(testconstants.Vid)
2021

2122
// add NOC root certificate
22-
addNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
23+
utils.AddNocRootCertificate(setup, accAddress, testconstants.NocRootCert1)
2324

2425
// Check: Noc + All + UniqueCertificate
25-
ensureNocRootCertificateExist(
26+
utils.EnsureNocRootCertificateExist(
2627
t,
2728
setup,
2829
testconstants.NocRootCert1Subject,
@@ -35,13 +36,13 @@ func TestHandler_AddNocRootCert(t *testing.T) {
3536
// Extra cases
3637

3738
func TestHandler_AddNocX509RootCert_Renew(t *testing.T) {
38-
setup := Setup(t)
39+
setup := utils.Setup(t)
3940

40-
accAddress := GenerateAccAddress()
41+
accAddress := utils.GenerateAccAddress()
4142
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, testconstants.Vid)
4243

4344
// Store the NOC root certificate
44-
nocRootCertificate := rootCertificate(accAddress)
45+
nocRootCertificate := utils.RootCertificate(accAddress)
4546
nocRootCertificate.SerialNumber = testconstants.TestSerialNumber
4647
nocRootCertificate.CertificateType = types.CertificateType_OperationalPKI
4748
nocRootCertificate.Approvals = nil
@@ -60,7 +61,7 @@ func TestHandler_AddNocX509RootCert_Renew(t *testing.T) {
6061
setup.Keeper.SetUniqueCertificate(setup.Ctx, uniqueCertificate)
6162

6263
// new NOC root certificate
63-
newNocCertificate := rootCertificate(accAddress)
64+
newNocCertificate := utils.RootCertificate(accAddress)
6465
newNocCertificate.CertificateType = types.CertificateType_OperationalPKI
6566
newNocCertificate.Approvals = nil
6667
newNocCertificate.Rejects = nil
@@ -71,41 +72,40 @@ func TestHandler_AddNocX509RootCert_Renew(t *testing.T) {
7172
require.NoError(t, err)
7273

7374
// query noc root certificate by Subject and SKID
74-
nocCertificates, err := queryNocCertificates(setup, newNocCertificate.Subject, newNocCertificate.SubjectKeyId)
75+
nocCertificates, err := utils.QueryNocCertificates(setup, newNocCertificate.Subject, newNocCertificate.SubjectKeyId)
7576
require.NoError(t, err)
7677
require.Equal(t, len(nocCertificates.Certs), 2)
7778
require.Equal(t, &newNocCertificate, nocCertificates.Certs[1])
7879

7980
// query noc root certificate by Subject
80-
nocCertificatesBySubject, err := queryNocCertificatesBySubject(setup, newNocCertificate.Subject)
81+
nocCertificatesBySubject, err := utils.QueryNocCertificatesBySubject(setup, newNocCertificate.Subject)
8182
require.NoError(t, err)
8283
require.Equal(t, 1, len(nocCertificatesBySubject.SubjectKeyIds))
8384
require.Equal(t, newNocCertificate.SubjectKeyId, nocCertificatesBySubject.SubjectKeyIds[0])
8485

8586
// query noc root certificate by SKID
86-
nocCertificatesBySubjectKeyID, err := queryAllNocCertificatesBySubjectKeyID(setup, newNocCertificate.SubjectKeyId)
87+
nocCertificatesBySubjectKeyID, err := utils.QueryNocCertificatesBySubjectKeyID(setup, newNocCertificate.SubjectKeyId)
8788
require.NoError(t, err)
8889
require.Equal(t, 1, len(nocCertificatesBySubjectKeyID))
8990
require.Equal(t, 1, len(nocCertificatesBySubjectKeyID[0].Certs))
9091
require.Equal(t, &newNocCertificate, nocCertificatesBySubjectKeyID[0].Certs[0])
9192

9293
// query noc root certificate by VID
93-
nocRootCertificates, err := queryNocRootCertificates(setup, testconstants.Vid)
94+
nocRootCertificates, err := utils.QueryNocRootCertificates(setup, testconstants.Vid)
9495
require.NoError(t, err)
9596
require.Equal(t, len(nocRootCertificates.Certs), 2)
9697
require.Equal(t, &newNocCertificate, nocRootCertificates.Certs[1])
9798

9899
// query noc root certificate by VID and SKID
99-
renewedNocRootCertificate, tq, err := querySingleNocCertificateByVidAndSkid(setup, testconstants.Vid, newNocCertificate.SubjectKeyId)
100+
renewedNocRootCertificate, err := utils.QueryNocCertificatesByVidAndSkid(setup, testconstants.Vid, newNocCertificate.SubjectKeyId)
100101
require.NoError(t, err)
101-
require.Equal(t, &newNocCertificate, renewedNocRootCertificate)
102-
require.Equal(t, float32(1), tq)
102+
require.Equal(t, &newNocCertificate, renewedNocRootCertificate.Certs[0])
103103
}
104104

105105
// Error cases
106106

107107
func TestHandler_AddNocX509RootCert_SenderNotVendor(t *testing.T) {
108-
setup := Setup(t)
108+
setup := utils.Setup(t)
109109

110110
addNocX509RootCert := types.NewMsgAddNocX509RootCert(setup.Trustee1.String(), testconstants.RootCertPem, testconstants.CertSchemaVersion)
111111
_, err := setup.Handler(setup.Ctx, addNocX509RootCert)
@@ -115,7 +115,7 @@ func TestHandler_AddNocX509RootCert_SenderNotVendor(t *testing.T) {
115115
}
116116

117117
func TestHandler_AddNocX509RootCert_InvalidCertificate(t *testing.T) {
118-
accAddress := GenerateAccAddress()
118+
accAddress := utils.GenerateAccAddress()
119119

120120
cases := []struct {
121121
name string
@@ -149,7 +149,7 @@ func TestHandler_AddNocX509RootCert_InvalidCertificate(t *testing.T) {
149149

150150
for _, tc := range cases {
151151
t.Run(tc.name, func(t *testing.T) {
152-
setup := Setup(t)
152+
setup := utils.Setup(t)
153153
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{tc.accountRole}, tc.accountVid)
154154

155155
addNocX509RootCert := types.NewMsgAddNocX509RootCert(accAddress.String(), tc.nocRoorCert, testconstants.CertSchemaVersion)
@@ -160,7 +160,7 @@ func TestHandler_AddNocX509RootCert_InvalidCertificate(t *testing.T) {
160160
}
161161

162162
func TestHandler_AddNocX509RootCert_CertificateExist(t *testing.T) {
163-
accAddress := GenerateAccAddress()
163+
accAddress := utils.GenerateAccAddress()
164164

165165
cases := []struct {
166166
name string
@@ -232,7 +232,7 @@ func TestHandler_AddNocX509RootCert_CertificateExist(t *testing.T) {
232232

233233
for _, tc := range cases {
234234
t.Run(tc.name, func(t *testing.T) {
235-
setup := Setup(t)
235+
setup := utils.Setup(t)
236236
setup.AddAccount(accAddress, []dclauthtypes.AccountRole{dclauthtypes.Vendor}, testconstants.Vid)
237237

238238
// add the existing certificate

0 commit comments

Comments
 (0)