|
31 | 31 | import org.apache.ignite.internal.processors.security.impl.TestSecurityData; |
32 | 32 | import org.apache.ignite.internal.processors.security.impl.TestSecurityPluginProvider; |
33 | 33 | import org.apache.ignite.internal.util.typedef.F; |
| 34 | +import org.apache.ignite.lang.IgniteProductVersion; |
34 | 35 | import org.apache.ignite.plugin.security.SecurityPermission; |
35 | 36 | import org.apache.ignite.plugin.security.SecurityPermissionSet; |
36 | 37 | import org.apache.ignite.plugin.security.SecurityPermissionSetBuilder; |
|
41 | 42 | import org.junit.runners.Parameterized; |
42 | 43 |
|
43 | 44 | import static java.util.Arrays.asList; |
| 45 | +import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_BUILD_VER; |
44 | 46 | import static org.apache.ignite.internal.commandline.ArgumentParser.CMD_PASSWORD; |
45 | 47 | import static org.apache.ignite.internal.commandline.ArgumentParser.CMD_USER; |
46 | 48 | import static org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_OK; |
47 | 49 | import static org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_UNEXPECTED_ERROR; |
48 | 50 | import static org.apache.ignite.internal.util.IgniteUtils.resolveIgnitePath; |
| 51 | +import static org.apache.ignite.plugin.security.SecurityPermission.ADMIN_ROLLING_UPGRADE; |
49 | 52 | import static org.apache.ignite.plugin.security.SecurityPermission.CACHE_CREATE; |
50 | 53 | import static org.apache.ignite.plugin.security.SecurityPermission.CACHE_DESTROY; |
51 | 54 | import static org.apache.ignite.plugin.security.SecurityPermission.CACHE_READ; |
@@ -138,6 +141,32 @@ public void testCacheCreate() throws Exception { |
138 | 141 | ); |
139 | 142 | } |
140 | 143 |
|
| 144 | + /** */ |
| 145 | + @Test |
| 146 | + public void testRollingUpgrade() throws Exception { |
| 147 | + IgniteEx ign = startGrid(0); |
| 148 | + |
| 149 | + IgniteProductVersion curVer = IgniteProductVersion.fromString(ign.localNode().attribute(ATTR_BUILD_VER)); |
| 150 | + |
| 151 | + String targetVerStr = curVer.major() + "." + (curVer.minor() + 1) + ".0"; |
| 152 | + |
| 153 | + |
| 154 | + checkCommandPermissions( |
| 155 | + asList("--rolling-upgrade", "enable", targetVerStr), |
| 156 | + systemPermissions(ADMIN_ROLLING_UPGRADE) |
| 157 | + ); |
| 158 | + |
| 159 | + assertTrue(ign.context().rollingUpgrade().enabled()); |
| 160 | + assertEquals(IgniteProductVersion.fromString(targetVerStr), ign.context().rollingUpgrade().versions().get2()); |
| 161 | + |
| 162 | + checkCommandPermissions( |
| 163 | + asList("--rolling-upgrade", "disable"), |
| 164 | + systemPermissions(ADMIN_ROLLING_UPGRADE) |
| 165 | + ); |
| 166 | + |
| 167 | + assertFalse(ign.context().rollingUpgrade().enabled()); |
| 168 | + } |
| 169 | + |
141 | 170 | /** */ |
142 | 171 | @Test |
143 | 172 | public void testServiceCancel() throws Exception { |
|
0 commit comments