Skip to content

Commit 8637a50

Browse files
authored
Upgrade path 4.11 through 4.11.1 to 4.12 (#2559)
* Create database upgrade from 4.11.0.0 to 4.11.1.0 & VMWare version to OS mappings (#2490) * Create database upgrade from 4.11.0.0 to 4.11.1.0. Add missing VMWare version to OS mapping SQL in the schema-41100to41110.sql. * add unit test and add 4.11.0.0 entry to _upgradeMap * upgrade 4.11.1 to 4.12 definition * applied Nitin's comments
1 parent d23f4b0 commit 8637a50

File tree

8 files changed

+272
-67
lines changed

8 files changed

+272
-67
lines changed

engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java

Lines changed: 69 additions & 61 deletions
Large diffs are not rendered by default.
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/*
2+
* // Licensed to the Apache Software Foundation (ASF) under one
3+
* // or more contributor license agreements. See the NOTICE file
4+
* // distributed with this work for additional information
5+
* // regarding copyright ownership. The ASF licenses this file
6+
* // to you under the Apache License, Version 2.0 (the
7+
* // "License"); you may not use this file except in compliance
8+
* // with the License. You may obtain a copy of the License at
9+
* //
10+
* // http://www.apache.org/licenses/LICENSE-2.0
11+
* //
12+
* // Unless required by applicable law or agreed to in writing,
13+
* // software distributed under the License is distributed on an
14+
* // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* // KIND, either express or implied. See the License for the
16+
* // specific language governing permissions and limitations
17+
* // under the License.
18+
*/
19+
20+
package com.cloud.upgrade.dao;
21+
22+
import com.cloud.utils.exception.CloudRuntimeException;
23+
24+
import java.io.InputStream;
25+
import java.sql.Connection;
26+
27+
public class Upgrade41100to41110 implements DbUpgrade {
28+
@Override
29+
public String[] getUpgradableVersionRange() {
30+
return new String[]{"4.11.0.0", "4.11.1.0"};
31+
}
32+
33+
@Override
34+
public String getUpgradedVersion() {
35+
return "4.11.1.0";
36+
}
37+
38+
@Override
39+
public boolean supportsRollingUpgrade() {
40+
return false;
41+
}
42+
43+
@Override
44+
public InputStream[] getPrepareScripts() {
45+
final String scriptFile = "META-INF/db/schema-41100to41110.sql";
46+
final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
47+
if (script == null) {
48+
throw new CloudRuntimeException("Unable to find " + scriptFile);
49+
}
50+
51+
return new InputStream[] {script};
52+
}
53+
54+
@Override
55+
public void performDataMigration(Connection conn) {
56+
57+
}
58+
59+
@Override
60+
public InputStream[] getCleanupScripts() {
61+
final String scriptFile = "META-INF/db/schema-41100to41110-cleanup.sql";
62+
final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
63+
if (script == null) {
64+
throw new CloudRuntimeException("Unable to find " + scriptFile);
65+
}
66+
67+
return new InputStream[] {script};
68+
}
69+
}

engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41100to41200.java renamed to engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41110to41200.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222

2323
import com.cloud.utils.exception.CloudRuntimeException;
2424

25-
public class Upgrade41100to41200 implements DbUpgrade {
25+
public class Upgrade41110to41200 implements DbUpgrade {
2626

2727
@Override
2828
public String[] getUpgradableVersionRange() {
29-
return new String[] {"4.11.0.0", "4.12.0.0"};
29+
return new String[] {"4.11.1.0", "4.12.0.0"};
3030
}
3131

3232
@Override
@@ -41,7 +41,7 @@ public boolean supportsRollingUpgrade() {
4141

4242
@Override
4343
public InputStream[] getPrepareScripts() {
44-
final String scriptFile = "META-INF/db/schema-41100to41200.sql";
44+
final String scriptFile = "META-INF/db/schema-41110to41200.sql";
4545
final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
4646
if (script == null) {
4747
throw new CloudRuntimeException("Unable to find " + scriptFile);
@@ -57,7 +57,7 @@ public void performDataMigration(Connection conn) {
5757

5858
@Override
5959
public InputStream[] getCleanupScripts() {
60-
final String scriptFile = "META-INF/db/schema-41100to41200-cleanup.sql";
60+
final String scriptFile = "META-INF/db/schema-41110to41200-cleanup.sql";
6161
final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
6262
if (script == null) {
6363
throw new CloudRuntimeException("Unable to find " + scriptFile);
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
-- Licensed to the Apache Software Foundation (ASF) under one
2+
-- or more contributor license agreements. See the NOTICE file
3+
-- distributed with this work for additional information
4+
-- regarding copyright ownership. The ASF licenses this file
5+
-- to you under the Apache License, Version 2.0 (the
6+
-- "License"); you may not use this file except in compliance
7+
-- with the License. You may obtain a copy of the License at
8+
--
9+
-- http://www.apache.org/licenses/LICENSE-2.0
10+
--
11+
-- Unless required by applicable law or agreed to in writing,
12+
-- software distributed under the License is distributed on an
13+
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
-- KIND, either express or implied. See the License for the
15+
-- specific language governing permissions and limitations
16+
-- under the License.
17+
18+
--;
19+
-- Schema cleanup after 4.11.0.0 to 4.11.1.0 upgrade
20+
--;
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
-- Licensed to the Apache Software Foundation (ASF) under one
2+
-- or more contributor license agreements. See the NOTICE file
3+
-- distributed with this work for additional information
4+
-- regarding copyright ownership. The ASF licenses this file
5+
-- to you under the Apache License, Version 2.0 (the
6+
-- "License"); you may not use this file except in compliance
7+
-- with the License. You may obtain a copy of the License at
8+
--
9+
-- http://www.apache.org/licenses/LICENSE-2.0
10+
--
11+
-- Unless required by applicable law or agreed to in writing,
12+
-- software distributed under the License is distributed on an
13+
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
-- KIND, either express or implied. See the License for the
15+
-- specific language governing permissions and limitations
16+
-- under the License.
17+
18+
--;
19+
-- Schema upgrade from 4.11.0.0 to 4.11.1.0
20+
--;
21+
22+
-- VMWare hypervisor guest OS mappings
23+
24+
DELETE from`cloud`.`guest_os_hypervisor` WHERE guest_os_id='269' AND hypervisor_version = '6.0' AND hypervisor_type='VMware';
25+
DELETE from`cloud`.`guest_os_hypervisor` WHERE guest_os_id='270' AND hypervisor_version = '6.0' AND hypervisor_type='VMware';
26+
27+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.0', 'debian6_64Guest', 133, now(), 0);
28+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.0', 'debian6Guest', 132, now(), 0);
29+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'centosGuest', 171, now(), 0);
30+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'centosGuest', 179, now(), 0);
31+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'debian6_64Guest', 133, now(), 0);
32+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'debian6Guest', 132, now(), 0);
33+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.1', 'debian7_64Guest', 184, now(), 0);
34+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'centos6Guest', 171, now(), 0);
35+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'centos6Guest', 179, now(), 0);
36+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'debian6_64Guest', 133, now(), 0);
37+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'debian6Guest', 132, now(), 0);
38+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '5.5', 'debian7_64Guest', 184, now(), 0);
39+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centos64Guest', 172, now(), 0);
40+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centos64Guest', 178, now(), 0);
41+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centos64Guest', 180, now(), 0);
42+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centos64Guest', 182, now(), 0);
43+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centos64Guest', 228, now(), 0);
44+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centosGuest', 177, now(), 0);
45+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centosGuest', 181, now(), 0);
46+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'centosGuest', 227, now(), 0);
47+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'debian6_64Guest', 133, now(), 0);
48+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'debian6Guest', 132, now(), 0);
49+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'debian7_64Guest', 184, now(), 0);
50+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.0', 'debian8Guest', 269, now(), 0);
51+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6_64Guest', 172, now(), 0);
52+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6_64Guest', 178, now(), 0);
53+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6_64Guest', 180, now(), 0);
54+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6_64Guest', 182, now(), 0);
55+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6_64Guest', 228, now(), 0);
56+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos64Guest', 174, now(), 0);
57+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos64Guest', 176, now(), 0);
58+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6Guest', 177, now(), 0);
59+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6Guest', 181, now(), 0);
60+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centos6Guest', 227, now(), 0);
61+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centosGuest', 173, now(), 0);
62+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'centosGuest', 175, now(), 0);
63+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'debian6_64Guest', 133, now(), 0);
64+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'debian6Guest', 132, now(), 0);
65+
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(), 'VMware', '6.5', 'debian7_64Guest', 184, now(), 0);
66+
67+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos6_64Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='144';
68+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos6_64Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='262';
69+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos6_64Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='264';
70+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos64Guest' WHERE `hypervisor_version`='default' AND hypervisor_type='VmWare' AND guest_os_id='162';
71+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos6Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='143';
72+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos6Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='261';
73+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos6Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='263';
74+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos7_64Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='246';
75+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos7_64Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='260';
76+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='centos7_64Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='274';
77+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='debian5_64Guest' WHERE `hypervisor_version`='5.0' AND hypervisor_type='VMware' AND guest_os_id='15';
78+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='debian5_64Guest' WHERE `hypervisor_version`='5.1' AND hypervisor_type='VMware' AND guest_os_id='15';
79+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='debian5_64Guest' WHERE `hypervisor_version`='5.5' AND hypervisor_type='VMware' AND guest_os_id='15';
80+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='debian5_64Guest' WHERE `hypervisor_version`='6.0' AND hypervisor_type='VMware' AND guest_os_id='15';
81+
UPDATE `cloud`.`guest_os_hypervisor` SET `guest_os_name`='debian5_64Guest' WHERE `hypervisor_version`='6.5' AND hypervisor_type='VMware' AND guest_os_id='15';

engine/schema/src/main/resources/META-INF/db/schema-41100to41200-cleanup.sql renamed to engine/schema/src/main/resources/META-INF/db/schema-41110to41200-cleanup.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@
1616
-- under the License.
1717

1818
--;
19-
-- Schema upgrade cleanup from 4.11.0.0 to 4.12.0.0
19+
-- Schema upgrade cleanup from 4.11.1.0 to 4.12.0.0
2020
--;

engine/schema/src/main/resources/META-INF/db/schema-41100to41200.sql renamed to engine/schema/src/main/resources/META-INF/db/schema-41110to41200.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
-- under the License.
1717

1818
--;
19-
-- Schema upgrade from 4.11.0.0 to 4.12.0.0
19+
-- Schema upgrade from 4.11.1.0 to 4.12.0.0
2020
--;
2121

2222
-- [CLOUDSTACK-10314] Add reason column to ACL rule table

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

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
import com.cloud.upgrade.dao.Upgrade471to480;
2525
import com.cloud.upgrade.dao.Upgrade480to481;
2626
import com.cloud.upgrade.dao.Upgrade490to4910;
27+
import com.cloud.upgrade.dao.Upgrade41000to41100;
28+
import com.cloud.upgrade.dao.Upgrade41100to41110;
29+
import com.cloud.upgrade.dao.Upgrade41110to41200;
2730
import org.apache.cloudstack.utils.CloudStackVersion;
2831
import org.junit.Test;
2932

@@ -74,6 +77,30 @@ public void testCalculateUpgradePath490to4910() {
7477

7578
}
7679

80+
@Test
81+
public void testCalculateUpgradePath410to412() {
82+
83+
final CloudStackVersion dbVersion = CloudStackVersion.parse("4.10.0.0");
84+
assertNotNull(dbVersion);
85+
86+
final CloudStackVersion currentVersion = CloudStackVersion.parse("4.12.0.0");
87+
assertNotNull(currentVersion);
88+
89+
final DatabaseUpgradeChecker checker = new DatabaseUpgradeChecker();
90+
final DbUpgrade[] upgrades = checker.calculateUpgradePath(dbVersion, currentVersion);
91+
92+
assertNotNull(upgrades);
93+
assertTrue(upgrades.length >= 1);
94+
assertTrue(upgrades[0] instanceof Upgrade41000to41100);
95+
assertTrue(upgrades[1] instanceof Upgrade41100to41110);
96+
assertTrue(upgrades[2] instanceof Upgrade41110to41200);
97+
98+
assertTrue(Arrays.equals(new String[] { "4.11.0.0", "4.11.1.0"},
99+
upgrades[1].getUpgradableVersionRange()));
100+
assertEquals(currentVersion.toString(), upgrades[2].getUpgradedVersion());
101+
102+
}
103+
77104
@Test
78105
public void testFindUpgradePath470to481() {
79106

0 commit comments

Comments
 (0)