|
@@ -50,6 +50,7 @@ import javax.persistence.EntityManager;
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
import java.lang.reflect.Method;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import static org.easymock.EasyMock.createMockBuilder;
|
|
@@ -95,6 +96,7 @@ public class UpgradeCatalog213Test {
|
|
|
@Test
|
|
|
public void testExecuteDMLUpdates() throws Exception {
|
|
|
Method updateAMSConfigs = UpgradeCatalog213.class.getDeclaredMethod("updateAMSConfigs");
|
|
|
+ Method updateHDFSConfigs = UpgradeCatalog213.class.getDeclaredMethod("updateHDFSConfigs");
|
|
|
Method updateKafkaConfigs = UpgradeCatalog213.class.getDeclaredMethod("updateKafkaConfigs");
|
|
|
Method updateStormConfigs = UpgradeCatalog213.class.getDeclaredMethod("updateStormConfigs");
|
|
|
Method addNewConfigurationsFromXml = AbstractUpgradeCatalog.class.getDeclaredMethod("addNewConfigurationsFromXml");
|
|
@@ -103,6 +105,7 @@ public class UpgradeCatalog213Test {
|
|
|
|
|
|
UpgradeCatalog213 upgradeCatalog213 = createMockBuilder(UpgradeCatalog213.class)
|
|
|
.addMockedMethod(updateAMSConfigs)
|
|
|
+ .addMockedMethod(updateHDFSConfigs)
|
|
|
.addMockedMethod(updateStormConfigs)
|
|
|
.addMockedMethod(addNewConfigurationsFromXml)
|
|
|
.addMockedMethod(updateHbaseEnvConfig)
|
|
@@ -122,6 +125,8 @@ public class UpgradeCatalog213Test {
|
|
|
expectLastCall().once();
|
|
|
upgradeCatalog213.updateKafkaConfigs();
|
|
|
expectLastCall().once();
|
|
|
+ upgradeCatalog213.updateHDFSConfigs();
|
|
|
+ expectLastCall().once();
|
|
|
|
|
|
replay(upgradeCatalog213);
|
|
|
|
|
@@ -217,6 +222,48 @@ public class UpgradeCatalog213Test {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void testUpdateHDFSConfiguration() throws Exception {
|
|
|
+ EasyMockSupport easyMockSupport = new EasyMockSupport();
|
|
|
+ final AmbariManagementController mockAmbariManagementController = easyMockSupport.createNiceMock(AmbariManagementController.class);
|
|
|
+ final ConfigHelper mockConfigHelper = easyMockSupport.createMock(ConfigHelper.class);
|
|
|
+
|
|
|
+ final Clusters mockClusters = easyMockSupport.createStrictMock(Clusters.class);
|
|
|
+ final Cluster mockClusterExpected = easyMockSupport.createNiceMock(Cluster.class);
|
|
|
+
|
|
|
+ final Config mockHdfsSite = easyMockSupport.createNiceMock(Config.class);
|
|
|
+
|
|
|
+ final Map<String, String> propertiesExpectedHdfs = new HashMap<String, String>();
|
|
|
+ propertiesExpectedHdfs.put("dfs.namenode.rpc-address", "nn.rpc.address");
|
|
|
+ propertiesExpectedHdfs.put("dfs.nameservices", "nn1");
|
|
|
+ propertiesExpectedHdfs.put("dfs.ha.namenodes.nn1", "value");
|
|
|
+
|
|
|
+ final Injector mockInjector = Guice.createInjector(new AbstractModule() {
|
|
|
+ @Override
|
|
|
+ protected void configure() {
|
|
|
+ bind(AmbariManagementController.class).toInstance(mockAmbariManagementController);
|
|
|
+ bind(ConfigHelper.class).toInstance(mockConfigHelper);
|
|
|
+ bind(Clusters.class).toInstance(mockClusters);
|
|
|
+
|
|
|
+ bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
|
|
|
+ bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ expect(mockAmbariManagementController.getClusters()).andReturn(mockClusters).once();
|
|
|
+ expect(mockClusters.getClusters()).andReturn(new HashMap<String, Cluster>() {{
|
|
|
+ put("normal", mockClusterExpected);
|
|
|
+ }}).once();
|
|
|
+
|
|
|
+ // Expected operation
|
|
|
+ expect(mockClusterExpected.getDesiredConfigByType("hdfs-site")).andReturn(mockHdfsSite).atLeastOnce();
|
|
|
+ expect(mockHdfsSite.getProperties()).andReturn(propertiesExpectedHdfs).anyTimes();
|
|
|
+
|
|
|
+ easyMockSupport.replayAll();
|
|
|
+ mockInjector.getInstance(UpgradeCatalog213.class).updateHDFSConfigs();
|
|
|
+ easyMockSupport.verifyAll();
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
public void testUpdateAmsHbaseEnvContent() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
|
|
|
Method updateAmsHbaseEnvContent = UpgradeCatalog213.class.getDeclaredMethod("updateAmsHbaseEnvContent", String.class);
|