2525import javax .sql .DataSource ;
2626
2727import org .apache .cloudstack .utils .CloudStackVersion ;
28+ import org .checkerframework .checker .nullness .qual .NonNull ;
2829import org .junit .Test ;
2930import org .junit .Before ;
3031import org .junit .After ;
@@ -214,10 +215,10 @@ public void testFindUpgradePath452to490() {
214215 @ Test
215216 public void testCalculateUpgradePathUnknownDbVersion () {
216217
217- final CloudStackVersion dbVersion = CloudStackVersion .parse ("4. 99.0.0" );
218+ final CloudStackVersion dbVersion = CloudStackVersion .parse ("99.0.0" );
218219 assertNotNull (dbVersion );
219220
220- final CloudStackVersion currentVersion = CloudStackVersion .parse ("4. 99.1.0" );
221+ final CloudStackVersion currentVersion = CloudStackVersion .parse ("99.1.0" );
221222 assertNotNull (currentVersion );
222223
223224 final DatabaseUpgradeChecker checker = new DatabaseUpgradeChecker ();
@@ -234,7 +235,7 @@ public void testCalculateUpgradePathFromKnownDbVersion() {
234235 final CloudStackVersion dbVersion = CloudStackVersion .parse ("4.17.0.0" );
235236 assertNotNull (dbVersion );
236237
237- final CloudStackVersion currentVersion = CloudStackVersion .parse ("4. 99.1.0" );
238+ final CloudStackVersion currentVersion = CloudStackVersion .parse ("99.1.0" );
238239 assertNotNull (currentVersion );
239240
240241 final DatabaseUpgradeChecker checker = new DatabaseUpgradeChecker ();
@@ -268,10 +269,7 @@ public void testCalculateUpgradePathFromLatestDbVersion() {
268269 final CloudStackVersion dbVersion = checker .getLatestVersion ();
269270 assertNotNull (dbVersion );
270271
271- final CloudStackVersion currentVersion = CloudStackVersion .parse (dbVersion .getMajorRelease () + "."
272- + dbVersion .getMinorRelease () + "."
273- + dbVersion .getPatchRelease () + "."
274- + (dbVersion .getSecurityRelease () + 1 ));
272+ final CloudStackVersion currentVersion = getNextSecurityRelease (dbVersion );
275273 assertNotNull (currentVersion );
276274
277275 final DbUpgrade [] upgrades = checker .calculateUpgradePath (dbVersion , currentVersion );
@@ -293,10 +291,7 @@ public void testCalculateUpgradePathFrom41800toNextSecurityRelease() {
293291 final DbUpgrade [] upgrades = checker .calculateUpgradePath (dbVersion , currentVersion );
294292 assertNotNull (upgrades );
295293
296- final CloudStackVersion nextSecurityRelease = CloudStackVersion .parse (currentVersion .getMajorRelease () + "."
297- + currentVersion .getMinorRelease () + "."
298- + currentVersion .getPatchRelease () + "."
299- + (currentVersion .getSecurityRelease () + 1 ));
294+ final CloudStackVersion nextSecurityRelease = getNextSecurityRelease (currentVersion );
300295 assertNotNull (nextSecurityRelease );
301296
302297 final DbUpgrade [] upgradesToNext = checker .calculateUpgradePath (dbVersion , nextSecurityRelease );
@@ -306,16 +301,26 @@ public void testCalculateUpgradePathFrom41800toNextSecurityRelease() {
306301 assertTrue (upgradesToNext [upgradesToNext .length - 1 ] instanceof NoopDbUpgrade );
307302 }
308303
304+ private static CloudStackVersion getNextSecurityRelease (CloudStackVersion version , int increment ) {
305+ String nextSecurityReleaseVersionStr = version .getMajorRelease () + "."
306+ + version .getMinorRelease () + "."
307+ + (version .usesNewVersioning () ? "" : version .getPatchRelease () + "." )
308+ + (version .getSecurityRelease () + increment );
309+
310+ return CloudStackVersion .parse (nextSecurityReleaseVersionStr );
311+ }
312+
313+ private static CloudStackVersion getNextSecurityRelease (CloudStackVersion version ) {
314+ return getNextSecurityRelease (version , 1 );
315+ }
316+
309317 @ Test
310318 public void testCalculateUpgradePathFromSecurityReleaseToLatest () {
311319
312320 final CloudStackVersion dbVersion = CloudStackVersion .parse ("4.17.2.0" ); // a EOL version
313321 assertNotNull (dbVersion );
314322
315- final CloudStackVersion oldSecurityRelease = CloudStackVersion .parse (dbVersion .getMajorRelease () + "."
316- + dbVersion .getMinorRelease () + "."
317- + dbVersion .getPatchRelease () + "."
318- + (dbVersion .getSecurityRelease () + 100 ));
323+ final CloudStackVersion oldSecurityRelease = getNextSecurityRelease (dbVersion , 100 );
319324 assertNotNull (oldSecurityRelease ); // fake security release 4.17.2.100
320325
321326 final DatabaseUpgradeChecker checker = new DatabaseUpgradeChecker ();
@@ -347,10 +352,7 @@ public void testCalculateUpgradePathFromSecurityReleaseToNextSecurityRelease() {
347352 final CloudStackVersion currentVersion = checker .getLatestVersion ();
348353 assertNotNull (currentVersion );
349354
350- final CloudStackVersion nextSecurityRelease = CloudStackVersion .parse (currentVersion .getMajorRelease () + "."
351- + currentVersion .getMinorRelease () + "."
352- + currentVersion .getPatchRelease () + "."
353- + (currentVersion .getSecurityRelease () + 1 ));
355+ final CloudStackVersion nextSecurityRelease = getNextSecurityRelease (currentVersion );
354356 assertNotNull (nextSecurityRelease ); // fake security release
355357
356358 final DbUpgrade [] upgrades = checker .calculateUpgradePath (dbVersion , currentVersion );
0 commit comments