@@ -41,7 +41,7 @@ func GetTestConsulConfig() consul.Config {
4141 }
4242}
4343
44- func GetTestHAConfig (baseCfg string ) State {
44+ func GetTestHAConfig (baseCfg string , certVersion string ) State {
4545 s := State {
4646 Frontends : []Frontend {
4747
@@ -59,8 +59,8 @@ func GetTestHAConfig(baseCfg string) State {
5959 Address : "127.0.0.2" ,
6060 Port : int64p (9999 ),
6161 Ssl : true ,
62- SslCafile : baseCfg + "/ca" ,
63- SslCertificate : baseCfg + "/cert" ,
62+ SslCafile : baseCfg + "/ca" + certVersion ,
63+ SslCertificate : baseCfg + "/cert" + certVersion ,
6464 Verify : models .BindVerifyRequired ,
6565 },
6666 LogTarget : & models.LogTarget {
@@ -160,8 +160,8 @@ func GetTestHAConfig(baseCfg string) State {
160160 Port : int64p (8080 ),
161161 Weight : int64p (5 ),
162162 Ssl : models .ServerSslEnabled ,
163- SslCafile : baseCfg + "/ca" ,
164- SslCertificate : baseCfg + "/cert" ,
163+ SslCafile : baseCfg + "/ca" + certVersion ,
164+ SslCertificate : baseCfg + "/cert" + certVersion ,
165165 Verify : models .BindVerifyRequired ,
166166 Maintenance : models .ServerMaintenanceDisabled ,
167167 },
@@ -171,8 +171,8 @@ func GetTestHAConfig(baseCfg string) State {
171171 Port : int64p (8081 ),
172172 Weight : int64p (8 ),
173173 Ssl : models .ServerSslEnabled ,
174- SslCafile : baseCfg + "/ca" ,
175- SslCertificate : baseCfg + "/cert" ,
174+ SslCafile : baseCfg + "/ca" + certVersion ,
175+ SslCertificate : baseCfg + "/cert" + certVersion ,
176176 Verify : models .BindVerifyRequired ,
177177 Maintenance : models .ServerMaintenanceDisabled ,
178178 },
@@ -227,17 +227,17 @@ func TestSnapshotDownstream(t *testing.T) {
227227 generated , err := Generate (TestOpts , TestCertStore , State {}, GetTestConsulConfig ())
228228 require .Nil (t , err )
229229
230- require .Equal (t , GetTestHAConfig ("/" ), generated )
230+ require .Equal (t , GetTestHAConfig ("/" , "" ), generated )
231231}
232232
233233func TestServerUpdate (t * testing.T ) {
234234 consulCfg := GetTestConsulConfig ()
235235 consulCfg .Upstreams [0 ].Nodes = consulCfg .Upstreams [0 ].Nodes [1 :]
236236
237- oldState := GetTestHAConfig ("/" )
237+ oldState := GetTestHAConfig ("/" , "" )
238238
239239 // remove first server
240- expectedNewState := GetTestHAConfig ("/" )
240+ expectedNewState := GetTestHAConfig ("/" , "" )
241241 expectedNewState .Backends [1 ].Servers [0 ].Maintenance = models .ServerMaintenanceEnabled
242242 expectedNewState .Backends [1 ].Servers [0 ].Address = "127.0.0.1"
243243 expectedNewState .Backends [1 ].Servers [0 ].Port = int64p (1 )
@@ -250,7 +250,7 @@ func TestServerUpdate(t *testing.T) {
250250 // re-add first server
251251 generated , err = Generate (TestOpts , TestCertStore , generated , GetTestConsulConfig ())
252252 require .Nil (t , err )
253- require .Equal (t , GetTestHAConfig ("/" ), generated )
253+ require .Equal (t , GetTestHAConfig ("/" , "" ), generated )
254254
255255 // add another one
256256 consulCfg = GetTestConsulConfig ()
@@ -260,7 +260,7 @@ func TestServerUpdate(t *testing.T) {
260260 Weight : 10 ,
261261 })
262262
263- expectedNewState = GetTestHAConfig ("/" )
263+ expectedNewState = GetTestHAConfig ("/" , "" )
264264 expectedNewState .Backends [1 ].Servers = append (expectedNewState .Backends [1 ].Servers ,
265265 models.Server {
266266 Name : "srv_2" ,
@@ -291,8 +291,22 @@ func TestServerUpdate(t *testing.T) {
291291 require .Equal (t , expectedNewState , generated )
292292}
293293
294- type fakeCertStore struct {}
294+ func TestCertificateUpgrade (t * testing.T ) {
295+ generated , err := Generate (TestOpts , fakeCertStore {"1" }, State {}, GetTestConsulConfig ())
296+ require .Nil (t , err )
297+
298+ generated , err = Generate (TestOpts , fakeCertStore {"2" }, generated , GetTestConsulConfig ())
299+ require .Nil (t , err )
300+
301+ haCfg := GetTestHAConfig ("/" , "2" )
302+
303+ require .Equal (t , haCfg , generated )
304+ }
305+
306+ type fakeCertStore struct {
307+ suffix string
308+ }
295309
296310func (s fakeCertStore ) CertsPath (t consul.TLS ) (string , string , error ) {
297- return "//ca" , "//cert" , nil
311+ return "//ca" + s . suffix , "//cert" + s . suffix , nil
298312}
0 commit comments