Skip to content

Commit 539ae85

Browse files
committed
address remaining comments
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent 1754a64 commit 539ae85

2 files changed

Lines changed: 63 additions & 0 deletions

File tree

‎engine/schema/src/test/java/com/cloud/upgrade/DatabaseUpgradeCheckerTest.java‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import com.cloud.upgrade.dao.Upgrade42020to42030;
5353
import com.cloud.upgrade.dao.Upgrade42030to42040;
5454
import com.cloud.upgrade.dao.Upgrade42040to42100;
55+
import com.cloud.upgrade.dao.Upgrade42300to2400;
5556
import com.cloud.upgrade.dao.Upgrade452to453;
5657
import com.cloud.upgrade.dao.Upgrade453to460;
5758
import com.cloud.upgrade.dao.Upgrade460to461;
@@ -79,6 +80,8 @@ public class DatabaseUpgradeCheckerTest {
7980
ResultSet resultSet;
8081

8182
private DataSource backupDataSource;
83+
private String previousCsMajorVersion;
84+
private String previousCsTinyVersion;
8285

8386
@Before
8487
public void setup() throws Exception {
@@ -90,13 +93,19 @@ public void setup() throws Exception {
9093
Mockito.when(dataSource.getConnection()).thenReturn(connection);
9194
Mockito.when(connection.prepareStatement(ArgumentMatchers.anyString())).thenReturn(preparedStatement);
9295
Mockito.when(preparedStatement.executeQuery()).thenReturn(resultSet);
96+
97+
previousCsMajorVersion = SystemVmTemplateRegistration.CS_MAJOR_VERSION;
98+
previousCsTinyVersion = SystemVmTemplateRegistration.CS_TINY_VERSION;
9399
}
94100

95101
@After
96102
public void cleanup() throws Exception {
97103
Field dsField = TransactionLegacy.class.getDeclaredField("s_ds");
98104
dsField.setAccessible(true);
99105
dsField.set(null, backupDataSource);
106+
107+
SystemVmTemplateRegistration.CS_MAJOR_VERSION = previousCsMajorVersion;
108+
SystemVmTemplateRegistration.CS_TINY_VERSION = previousCsTinyVersion;
100109
}
101110

102111
@Test
@@ -422,6 +431,26 @@ public void testCalculateUpgradePath42010to42100() {
422431
assertEquals(currentVersion.toString(), upgrades[2].getUpgradedVersion());
423432
}
424433

434+
@Test
435+
public void testCalculateUpgradePath42300to2400() {
436+
437+
final CloudStackVersion dbVersion = CloudStackVersion.parse("4.23.0.0");
438+
assertNotNull(dbVersion);
439+
440+
final CloudStackVersion currentVersion = CloudStackVersion.parse("24.0.0");
441+
assertNotNull(currentVersion);
442+
443+
final DatabaseUpgradeChecker checker = new DatabaseUpgradeChecker();
444+
final DbUpgrade[] upgrades = checker.calculateUpgradePath(dbVersion, currentVersion);
445+
446+
assertNotNull(upgrades);
447+
assertEquals(1, upgrades.length);
448+
assertTrue(upgrades[0] instanceof Upgrade42300to2400);
449+
450+
assertArrayEquals(new String[]{"4.23.0.0", "24.0.0"}, upgrades[0].getUpgradableVersionRange());
451+
assertEquals(currentVersion.toString(), upgrades[0].getUpgradedVersion());
452+
}
453+
425454
@Test
426455
public void testUpdateSystemVmTemplateVersionBelowCutover() {
427456
DatabaseUpgradeChecker.updateSystemVmTemplateVersion(CloudStackVersion.parse("4.22.1.0"));

‎plugins/integrations/veeam-control-service/src/test/java/org/apache/cloudstack/veeam/api/dto/VersionTest.java‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,40 @@ public void fromPackageAndCSVersion_IncompleteVersion_DoesNotSetFullVersion() {
6262
}
6363
}
6464

65+
@Test
66+
public void fromPackageAndCSVersion_NewVersioningZeroSecurity_MapsSecurityToBuildAndOmitsRevision() {
67+
CloudStackVersion csVersion = CloudStackVersion.parse("24.0.0");
68+
try (MockedStatic<VeeamControlService> mocked = Mockito.mockStatic(VeeamControlService.class)) {
69+
mocked.when(VeeamControlService::getPackageVersion).thenReturn("24.0.0");
70+
mocked.when(VeeamControlService::getCSVersion).thenReturn(csVersion);
71+
72+
Version version = Version.fromPackageAndCSVersion(true);
73+
74+
assertEquals("24.0.0", version.getFullVersion());
75+
assertEquals("24", version.getMajor());
76+
assertEquals("0", version.getMinor());
77+
assertEquals("0", version.getBuild());
78+
assertNull(version.getRevision());
79+
}
80+
}
81+
82+
@Test
83+
public void fromPackageAndCSVersion_NewVersioningNonZeroSecurity_MapsSecurityToBuildAndOmitsRevision() {
84+
CloudStackVersion csVersion = CloudStackVersion.parse("24.1.3");
85+
try (MockedStatic<VeeamControlService> mocked = Mockito.mockStatic(VeeamControlService.class)) {
86+
mocked.when(VeeamControlService::getPackageVersion).thenReturn("24.1.3");
87+
mocked.when(VeeamControlService::getCSVersion).thenReturn(csVersion);
88+
89+
Version version = Version.fromPackageAndCSVersion(true);
90+
91+
assertEquals("24.1.3", version.getFullVersion());
92+
assertEquals("24", version.getMajor());
93+
assertEquals("1", version.getMinor());
94+
assertEquals("3", version.getBuild());
95+
assertNull(version.getRevision());
96+
}
97+
}
98+
6599
@Test
66100
public void fromPackageAndCSVersion_NullCloudStackVersion_ReturnsWithoutNumericParts() {
67101
try (MockedStatic<VeeamControlService> mocked = Mockito.mockStatic(VeeamControlService.class)) {

0 commit comments

Comments
 (0)