@@ -12,44 +12,70 @@ import (
1212 "github.com/thanos-io/thanos/pkg/testutil"
1313)
1414
15- func TestNeedsRenewing (t * testing.T ) {
15+ func TestNeedsReissuing (t * testing.T ) {
1616 template := & x509.Certificate {
1717 IsCA : false ,
1818 SerialNumber : big .NewInt (1234 ),
1919 NotBefore : time .Now (),
20+ DNSNames : []string {"test.com" , "www.test.com" , "*.test.com" },
2021 NotAfter : time .Now ().AddDate (0 /* years */ , 3 /* months */ , 0 /* days */ ),
2122 }
2223 logger := logrus .New ()
2324
2425 certificate := generateCert (t , template )
2526
2627 for _ , tcase := range []struct {
27- tcaseName string
28- certificate * x509.Certificate
29- renewDays int
30- expectedResult bool
28+ tcaseName string
29+ requiredDomains []string
30+ certificate * x509.Certificate
31+ renewDays int
32+ expectedResult bool
3133 }{
3234 {
33- tcaseName : "certificate expires after three months (90 days), renewDays = 30" ,
34- certificate : certificate ,
35- renewDays : 30 ,
36- expectedResult : false ,
35+ tcaseName : "certificate expires after three months (90 days), renewDays = 30, required domains correct" ,
36+ requiredDomains : []string {"test.com" , "www.test.com" , "*.test.com" },
37+ certificate : certificate ,
38+ renewDays : 30 ,
39+ expectedResult : false ,
3740 },
3841 {
39- tcaseName : "certificate expires after three months (90 days), renewDays = 100" ,
40- certificate : certificate ,
41- renewDays : 100 ,
42- expectedResult : true ,
42+ tcaseName : "certificate expires after three months (90 days), renewDays = 100, required domains correct" ,
43+ requiredDomains : []string {"test.com" , "www.test.com" , "*.test.com" },
44+ certificate : certificate ,
45+ renewDays : 100 ,
46+ expectedResult : true ,
4347 },
4448 {
45- tcaseName : "nil certificate, renew days 30" ,
46- certificate : nil ,
47- renewDays : 30 ,
48- expectedResult : true ,
49+ tcaseName : "nil certificate, renew days 30, required domains correct" ,
50+ requiredDomains : []string {"test.com" , "www.test.com" , "*.test.com" },
51+ certificate : nil ,
52+ renewDays : 30 ,
53+ expectedResult : true ,
54+ },
55+ {
56+ tcaseName : "certificate expires after three months (90 days), renewDays = 30, fewer required domains than certificate has" ,
57+ requiredDomains : []string {"www.test.com" , "*.test.com" },
58+ certificate : certificate ,
59+ renewDays : 30 ,
60+ expectedResult : true ,
61+ },
62+ {
63+ tcaseName : "certificate expires after three months (90 days), renewDays = 30, more required domains than certificate has" ,
64+ requiredDomains : []string {"test.com" , "www.test.com" , "*.test.com" , "additional.test.com" },
65+ certificate : certificate ,
66+ renewDays : 30 ,
67+ expectedResult : true ,
68+ },
69+ {
70+ tcaseName : "certificate expires after three months (90 days), renewDays = 30, different required domains than certificate has" ,
71+ requiredDomains : []string {"test.com" , "www.test.com" , "different.test.com" },
72+ certificate : certificate ,
73+ renewDays : 30 ,
74+ expectedResult : true ,
4975 },
5076 } {
5177 t .Run (tcase .tcaseName , func (t * testing.T ) {
52- result , err := NeedsRenewing (tcase .certificate , "test.com" , tcase .renewDays , logger )
78+ result , err := NeedsReissuing (tcase .certificate , tcase . requiredDomains , tcase .renewDays , logger )
5379 testutil .Ok (t , err )
5480 testutil .Equals (t , tcase .expectedResult , result )
5581 })
0 commit comments