You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ha...@apache.org on 2017/06/25 09:59:45 UTC

[09/25] ambari git commit: AMBARI-21268 Remove Upgrade Catalogs For Every Version Before 2.5 (dgrinenko)

http://git-wip-us.apache.org/repos/asf/ambari/blob/af1bf85c/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
deleted file mode 100644
index 7218578..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
+++ /dev/null
@@ -1,1360 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.upgrade;
-
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNotNull;
-import static junit.framework.Assert.assertNull;
-import static junit.framework.Assert.assertTrue;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.anyString;
-import static org.easymock.EasyMock.capture;
-import static org.easymock.EasyMock.createMockBuilder;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.createStrictMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-import java.io.File;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.persistence.EntityManager;
-
-import org.apache.ambari.server.AmbariException;
-import org.apache.ambari.server.H2DatabaseCleaner;
-import org.apache.ambari.server.api.services.AmbariMetaInfo;
-import org.apache.ambari.server.configuration.Configuration;
-import org.apache.ambari.server.controller.AmbariManagementController;
-import org.apache.ambari.server.controller.ServiceConfigVersionResponse;
-import org.apache.ambari.server.orm.DBAccessor;
-import org.apache.ambari.server.orm.DBAccessor.DBColumnInfo;
-import org.apache.ambari.server.orm.GuiceJpaInitializer;
-import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
-import org.apache.ambari.server.orm.OrmTestHelper;
-import org.apache.ambari.server.orm.dao.ArtifactDAO;
-import org.apache.ambari.server.orm.dao.ClusterDAO;
-import org.apache.ambari.server.orm.dao.ClusterStateDAO;
-import org.apache.ambari.server.orm.dao.HostComponentDesiredStateDAO;
-import org.apache.ambari.server.orm.dao.ServiceComponentDesiredStateDAO;
-import org.apache.ambari.server.orm.dao.StackDAO;
-import org.apache.ambari.server.orm.entities.ArtifactEntity;
-import org.apache.ambari.server.orm.entities.ClusterEntity;
-import org.apache.ambari.server.orm.entities.ClusterServiceEntity;
-import org.apache.ambari.server.orm.entities.ClusterStateEntity;
-import org.apache.ambari.server.orm.entities.HostComponentDesiredStateEntity;
-import org.apache.ambari.server.orm.entities.HostEntity;
-import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
-import org.apache.ambari.server.orm.entities.ServiceComponentDesiredStateEntity;
-import org.apache.ambari.server.orm.entities.StackEntity;
-import org.apache.ambari.server.state.Cluster;
-import org.apache.ambari.server.state.Clusters;
-import org.apache.ambari.server.state.Config;
-import org.apache.ambari.server.state.ConfigHelper;
-import org.apache.ambari.server.state.Host;
-import org.apache.ambari.server.state.HostComponentAdminState;
-import org.apache.ambari.server.state.Service;
-import org.apache.ambari.server.state.StackId;
-import org.apache.ambari.server.state.kerberos.KerberosDescriptor;
-import org.apache.ambari.server.state.kerberos.KerberosDescriptorFactory;
-import org.apache.ambari.server.state.kerberos.KerberosServiceDescriptor;
-import org.apache.ambari.server.state.stack.OsFamily;
-import org.easymock.Capture;
-import org.easymock.CaptureType;
-import org.easymock.EasyMock;
-import org.easymock.EasyMockSupport;
-import org.junit.Assert;
-import org.junit.Test;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Binder;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-import com.google.inject.Provider;
-
-/**
- * {@link org.apache.ambari.server.upgrade.UpgradeCatalog210} unit tests.
- */
-public class UpgradeCatalog210Test {
-  private Injector injector;
-  private Provider<EntityManager> entityManagerProvider = createStrictMock(Provider.class);
-  private EntityManager entityManager = createNiceMock(EntityManager.class);
-  private UpgradeCatalogHelper upgradeCatalogHelper;
-  private StackEntity desiredStackEntity;
-  private String desiredRepositoryVersion = "2.2.0-1234";
-
-  public void initData() {
-    //reset(entityManagerProvider);
-    //expect(entityManagerProvider.get()).andReturn(entityManager).anyTimes();
-    //replay(entityManagerProvider);
-    injector = Guice.createInjector(new InMemoryDefaultTestModule());
-    injector.getInstance(GuiceJpaInitializer.class);
-
-    upgradeCatalogHelper = injector.getInstance(UpgradeCatalogHelper.class);
-    // inject AmbariMetaInfo to ensure that stacks get populated in the DB
-    injector.getInstance(AmbariMetaInfo.class);
-    // load the stack entity
-    StackDAO stackDAO = injector.getInstance(StackDAO.class);
-    desiredStackEntity = stackDAO.find("HDP", "2.2.0");
-  }
-
-  public void tearDown() throws AmbariException, SQLException {
-    H2DatabaseCleaner.clearDatabaseAndStopPersistenceService(injector);
-  }
-
-  @Test
-  public void testExecuteDDLUpdates() throws Exception {
-    final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-    Configuration configuration = createNiceMock(Configuration.class);
-    Connection connection = createNiceMock(Connection.class);
-    Statement statement = createNiceMock(Statement.class);
-    ResultSet resultSet = createNiceMock(ResultSet.class);
-    expect(configuration.getDatabaseUrl()).andReturn(Configuration.JDBC_IN_MEMORY_URL).anyTimes();
-    dbAccessor.getConnection();
-    expectLastCall().andReturn(connection).anyTimes();
-    connection.createStatement();
-    expectLastCall().andReturn(statement).anyTimes();
-    statement.executeQuery(anyObject(String.class));
-    expectLastCall().andReturn(resultSet).anyTimes();
-
-    // Create DDL sections with their own capture groups
-    AlertSectionDDL alertSectionDDL = new AlertSectionDDL();
-    HostSectionDDL hostSectionDDL = new HostSectionDDL();
-    WidgetSectionDDL widgetSectionDDL = new WidgetSectionDDL();
-    ViewSectionDDL viewSectionDDL = new ViewSectionDDL();
-
-    // Execute any DDL schema changes
-    alertSectionDDL.execute(dbAccessor);
-    hostSectionDDL.execute(dbAccessor);
-    widgetSectionDDL.execute(dbAccessor);
-    viewSectionDDL.execute(dbAccessor);
-
-    // Replay sections
-    replay(dbAccessor, configuration, resultSet, connection, statement);
-
-    AbstractUpgradeCatalog upgradeCatalog = getUpgradeCatalog(dbAccessor);
-    Class<?> c = AbstractUpgradeCatalog.class;
-    Field f = c.getDeclaredField("configuration");
-    f.setAccessible(true);
-    f.set(upgradeCatalog, configuration);
-
-    upgradeCatalog.executeDDLUpdates();
-    verify(dbAccessor, configuration, resultSet, connection, statement);
-
-    // Verify sections
-    alertSectionDDL.verify(dbAccessor);
-    hostSectionDDL.verify(dbAccessor);
-    widgetSectionDDL.verify(dbAccessor);
-    viewSectionDDL.verify(dbAccessor);
-  }
-
-  @Test
-  public void testExecutePreDMLUpdates() throws Exception {
-    Method executeStackPreDMLUpdates = UpgradeCatalog210.class.getDeclaredMethod("executeStackPreDMLUpdates");
-    Method cleanupStackUpdates = UpgradeCatalog210.class.getDeclaredMethod("cleanupStackUpdates");
-
-    final UpgradeCatalog210 upgradeCatalog210 = createMockBuilder(UpgradeCatalog210.class)
-        .addMockedMethod(executeStackPreDMLUpdates)
-        .addMockedMethod(cleanupStackUpdates).createMock();
-
-    final Injector mockInjector = Guice.createInjector(new AbstractModule() {
-      @Override
-      protected void configure() {
-        bind(UpgradeCatalog210.class).toInstance(upgradeCatalog210);
-        bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
-        bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
-      }
-    });
-
-    upgradeCatalog210.executeStackPreDMLUpdates();
-    expectLastCall().once();
-
-    replay(upgradeCatalog210);
-    mockInjector.getInstance(UpgradeCatalog210.class).executePreDMLUpdates();
-
-    verify(upgradeCatalog210);
-  }
-
-  @Test
-  public void testExecuteDMLUpdates() throws Exception {
-    Method addNewConfigurationsFromXml =
-      AbstractUpgradeCatalog.class.getDeclaredMethod("addNewConfigurationsFromXml");
-
-    Method initializeClusterAndServiceWidgets =
-      UpgradeCatalog210.class.getDeclaredMethod("initializeClusterAndServiceWidgets");
-
-    Method addMissingConfigs = UpgradeCatalog210.class.getDeclaredMethod("addMissingConfigs");
-
-    Method updateAlertDefinitions = UpgradeCatalog210.class.getDeclaredMethod("updateAlertDefinitions");
-
-    Method removeStormRestApiServiceComponent =
-      UpgradeCatalog210.class.getDeclaredMethod("removeStormRestApiServiceComponent");
-
-    Method updateKerberosDescriptorArtifacts =
-      AbstractUpgradeCatalog.class.getDeclaredMethod("updateKerberosDescriptorArtifacts");
-
-    UpgradeCatalog210 upgradeCatalog210 = createMockBuilder(UpgradeCatalog210.class)
-        .addMockedMethod(addNewConfigurationsFromXml)
-        .addMockedMethod(initializeClusterAndServiceWidgets)
-        .addMockedMethod(addMissingConfigs)
-        .addMockedMethod(updateAlertDefinitions)
-        .addMockedMethod(removeStormRestApiServiceComponent)
-        .addMockedMethod(updateKerberosDescriptorArtifacts)
-        .createMock();
-
-    upgradeCatalog210.addNewConfigurationsFromXml();
-    expectLastCall().once();
-
-    upgradeCatalog210.initializeClusterAndServiceWidgets();
-    expectLastCall().once();
-
-    upgradeCatalog210.addMissingConfigs();
-    expectLastCall().once();
-
-    upgradeCatalog210.updateAlertDefinitions();
-    expectLastCall().once();
-
-    upgradeCatalog210.removeStormRestApiServiceComponent();
-    expectLastCall().once();
-
-    upgradeCatalog210.updateKerberosDescriptorArtifacts();
-    expectLastCall().once();
-
-    replay(upgradeCatalog210);
-
-    upgradeCatalog210.executeDMLUpdates();
-
-    verify(upgradeCatalog210);
-  }
-
-  @Test
-  public void testUpdateRangerHiveConfigs() 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 mockRangerPlugin = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveEnv = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveServer = easyMockSupport.createNiceMock(Config.class);
-
-    final Map<String, String> propertiesExpectedRangerPlugin = new HashMap<>();
-    propertiesExpectedRangerPlugin.put("ranger-hive-plugin-enabled", "yes");
-    final Map<String, String> propertiesExpectedHiveEnv = new HashMap<>();
-    final Map<String, String> propertiesExpectedHiveServer2 = new HashMap<>();
-    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();
-
-    expect(mockClusterExpected.getDesiredConfigByType("ranger-hive-plugin-properties")).andReturn(mockRangerPlugin).atLeastOnce();
-    expect(mockClusterExpected.getDesiredConfigByType("hive-env")).andReturn(mockHiveEnv).atLeastOnce();
-    expect(mockClusterExpected.getDesiredConfigByType("hiveserver2-site")).andReturn(mockHiveServer).atLeastOnce();
-    expect(mockRangerPlugin.getProperties()).andReturn(propertiesExpectedRangerPlugin).anyTimes();
-    expect(mockHiveEnv.getProperties()).andReturn(propertiesExpectedHiveEnv).anyTimes();
-    expect(mockHiveServer.getProperties()).andReturn(propertiesExpectedHiveServer2).anyTimes();
-
-    ServiceConfigVersionResponse r = null;
-    expect(mockClusterExpected.getConfig(anyObject(String.class), anyObject(String.class))).
-        andReturn(mockHiveServer).anyTimes();
-    expect(mockClusterExpected.addDesiredConfig("ambari-upgrade", Collections.singleton(mockHiveServer), "Updated hive-env during Ambari Upgrade from 2.0.0 to 2.1.0.")).
-        andReturn(r).times(1);
-    expect(mockClusterExpected.addDesiredConfig("ambari-upgrade", Collections.singleton(mockHiveServer), "Updated hiveserver2-site during Ambari Upgrade from 2.0.0 to 2.1.0.")).
-        andReturn(r).times(1);
-    expect(mockClusterExpected.addDesiredConfig("ambari-upgrade", Collections.singleton(mockHiveServer), "Updated ranger-hive-plugin-properties during Ambari Upgrade from 2.0.0 to 2.1.0.")).
-        andReturn(r).times(1);
-
-    easyMockSupport.replayAll();
-    mockInjector.getInstance(UpgradeCatalog210.class).updateRangerHiveConfigs();
-    easyMockSupport.verifyAll();
-  }
-
-  @Test
-  public void testUpdateHiveConfigs() 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 ServiceConfigVersionResponse mockServiceConfigVersionResponse = easyMockSupport.createNiceMock(ServiceConfigVersionResponse.class);
-    final Config mockHiveEnv = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveServerSite = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveSite = easyMockSupport.createNiceMock(Config.class);
-
-    final Map<String, String> propertiesExpectedHiveEnv = new HashMap<String, String>() {{
-      put("hive_security_authorization", "none");
-    }};
-    final Map<String, String> propertiesExpectedHiveSite = new HashMap<String, String>() {{
-      put("hive.server2.authentication", "pam");
-      put("hive.server2.custom.authentication.class", "");
-    }};
-    final Map<String, String> propertiesExpectedHiveServerSite = new HashMap<String, String>() {{
-      put("hive.security.authorization.manager", "");
-      put("hive.security.authenticator.manager", "");
-    }};
-    final Map<String, Service> servicesExpected = new HashMap<>();
-
-    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();
-
-    Capture<String> configTypeEnv = EasyMock.newCapture();
-    Capture<String> configTypeSite = EasyMock.newCapture();
-    Capture<String> configTypeServerSite = EasyMock.newCapture();
-
-    expect(mockClusterExpected.getDesiredConfigByType("hive-env")).andReturn(mockHiveEnv).atLeastOnce();
-    expect(mockClusterExpected.getDesiredConfigByType("hiveserver2-site")).andReturn(mockHiveServerSite).atLeastOnce();
-    expect(mockHiveEnv.getProperties()).andReturn(propertiesExpectedHiveEnv).anyTimes();
-    expect(mockHiveServerSite.getProperties()).andReturn(propertiesExpectedHiveServerSite).anyTimes();
-    expect(mockClusterExpected.getConfig(capture(configTypeEnv), anyObject(String.class))).andReturn(mockHiveEnv).once();
-    expect(mockClusterExpected.getConfig(capture(configTypeServerSite), anyObject(String.class))).andReturn(mockHiveServerSite).once();
-    expect(mockClusterExpected.addDesiredConfig("ambari-upgrade", Collections.singleton(mockHiveEnv), "Updated hive-env during Ambari Upgrade from 2.0.0 to 2.1.0.")).andReturn(mockServiceConfigVersionResponse).once();
-    expect(mockClusterExpected.addDesiredConfig("ambari-upgrade", Collections.singleton(mockHiveServerSite), "Updated hiveserver2-site during Ambari Upgrade from 2.0.0 to 2.1.0.")).andReturn(mockServiceConfigVersionResponse).once();
-
-    expect(mockClusterExpected.getDesiredConfigByType("hive-site")).andReturn(mockHiveSite).atLeastOnce();
-    expect(mockHiveSite.getProperties()).andReturn(propertiesExpectedHiveSite).anyTimes();
-    expect(mockClusterExpected.getServices()).andReturn(servicesExpected).once();
-    expect(mockClusterExpected.getConfig(capture(configTypeSite), anyObject(String.class))).andReturn(mockHiveSite).once();
-    expect(mockClusterExpected.addDesiredConfig("ambari-upgrade", Collections.singleton(mockHiveSite), "Updated hive-site during Ambari Upgrade from 2.0.0 to 2.1.0.")).andReturn(mockServiceConfigVersionResponse).once();
-
-    easyMockSupport.replayAll();
-    mockInjector.getInstance(UpgradeCatalog210.class).updateHiveConfigs();
-    easyMockSupport.verifyAll();
-
-    assertEquals("hive-env", configTypeEnv.getValue());
-    assertEquals("hive-site", configTypeSite.getValue());
-    assertEquals("hiveserver2-site", configTypeServerSite.getValue());
-  }
-
-  @Test
-  public void TestRangerSitePropertyConversion() throws Exception{
-    EasyMockSupport easyMockSupport = new EasyMockSupport();
-    final String clusterName = "c1";
-    final AmbariManagementController  mockAmbariManagementController = easyMockSupport.createNiceMock(AmbariManagementController.class);
-    final ConfigHelper mockConfigHelper = easyMockSupport.createMock(ConfigHelper.class);
-    final Clusters mockClusters = easyMockSupport.createStrictMock(Clusters.class);
-    final Cluster cluster = easyMockSupport.createStrictMock(Cluster.class);
-    final Config config = easyMockSupport.createNiceMock(Config.class);
-    final Map<String,Cluster> clusters = new HashMap<String,Cluster>(){{
-      put(clusterName, cluster);
-    }};
-    final Map<String,String> properties = new HashMap<String, String>() {{
-      put("HTTPS_CLIENT_AUTH", "test123");
-      put("HTTPS_KEYSTORE_FILE", "test123");
-      put("HTTPS_KEYSTORE_PASS", "test123");
-      put("HTTPS_KEY_ALIAS", "test123");
-      put("HTTPS_SERVICE_PORT", "test123");
-      put("HTTP_ENABLED", "test123");
-      put("HTTP_SERVICE_PORT", "test123");
-    }};
-
-    final Map<String, String> expectedPropertyMap = new HashMap<String, String>() {{
-      put("HTTPS_CLIENT_AUTH", "https.attrib.clientAuth");
-      put("HTTPS_KEYSTORE_FILE", "https.attrib.keystoreFile");
-      put("HTTPS_KEYSTORE_PASS", "https.attrib.keystorePass");
-      put("HTTPS_KEY_ALIAS", "https.attrib.keyAlias");
-      put("HTTP_SERVICE_PORT", "http.service.port");
-      put("HTTPS_SERVICE_PORT", "https.service.port");
-      put("HTTP_ENABLED", "http.enabled");
-    }};
-
-    final Map<String,String> convertedProperties = new HashMap<>();
-    final Set<String> removedProperties = new HashSet<>();
-
-    final Injector mockInjector = Guice.createInjector(new AbstractModule() {
-      @Override
-      protected void configure() {
-        bind(AmbariManagementController.class).toInstance(mockAmbariManagementController);
-        bind(Clusters.class).toInstance(mockClusters);
-        bind(ConfigHelper.class).toInstance(mockConfigHelper);
-
-        bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
-        bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
-      }
-    });
-
-    UpgradeCatalog210 upgradeCatalog210 = new UpgradeCatalog210(mockInjector) {
-
-      @Override
-      protected void updateConfigurationPropertiesForCluster(Cluster cluster, String configType,
-        Map<String, String> properties, boolean updateIfExists, boolean createNewConfigType) throws AmbariException {
-        convertedProperties.putAll(properties);
-      }
-
-      @Override
-      protected void removeConfigurationPropertiesFromCluster(Cluster cluster, String configType, Set<String> removePropertiesList)
-        throws AmbariException {
-        removedProperties.addAll(removePropertiesList);
-      }
-    };
-
-    expect(mockAmbariManagementController.getClusters()).andReturn(mockClusters).atLeastOnce();
-    expect(mockClusters.getClusters()).andReturn(clusters).atLeastOnce();
-    expect(config.getProperties()).andReturn(properties).atLeastOnce();
-    expect(cluster.getDesiredConfigByType("ranger-site")).andReturn(config).atLeastOnce();
-
-    replay(mockAmbariManagementController, mockClusters, cluster, config);
-
-    upgradeCatalog210.updateRangerSiteConfigs();
-
-
-    for (Map.Entry<String,String> propertyEntry: expectedPropertyMap.entrySet()){
-      String oldKey = propertyEntry.getKey();
-      String newKey = propertyEntry.getValue();
-      assertTrue(String.format("Old property %s doesn't migrated to new name %s", oldKey, newKey), convertedProperties.containsKey(newKey));
-      assertTrue(String.format("Property value %s doesn't preserved after renaming: %s",properties.get(oldKey), convertedProperties.get(newKey)),
-        convertedProperties.get(newKey).equals(properties.get(oldKey)));
-      assertTrue(String.format("Old property %s doesn't removed after renaming", oldKey), removedProperties.contains(oldKey));
-    }
-  }
-
-  @Test
-  public void testUpdateHiveConfigsWithKerberos() throws Exception {
-    EasyMockSupport easyMockSupport = new EasyMockSupport();
-    final ConfigHelper mockConfigHelper = easyMockSupport.createMock(ConfigHelper.class);
-    final AmbariManagementController  mockAmbariManagementController = easyMockSupport.createNiceMock(AmbariManagementController.class);
-
-    final Clusters mockClusters = easyMockSupport.createStrictMock(Clusters.class);
-    final Cluster mockClusterExpected = easyMockSupport.createNiceMock(Cluster.class);
-    final Config mockHiveEnv = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveSite = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveServerSite = easyMockSupport.createNiceMock(Config.class);
-
-    final Map<String, String> propertiesExpectedHiveEnv = new HashMap<>();
-    final Map<String, String> propertiesExpectedHiveSite = new HashMap<String, String>() {{
-      put("hive.server2.authentication", "kerberos");
-    }};
-    final Map<String, String> propertiesExpectedHiveServerSite = new HashMap<>();
-    final Map<String, Service> servicesExpected = new HashMap<String, Service>(){{
-      put("KERBEROS", null);
-    }};
-
-    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(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
-        bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
-      }
-    });
-
-    final UpgradeCatalog210 upgradeCatalog210 =  mockInjector.getInstance(UpgradeCatalog210.class);
-
-    expect(mockAmbariManagementController.getClusters()).andReturn(mockClusters).once();
-    expect(mockClusters.getClusters()).andReturn(new HashMap<String, Cluster>() {{
-      put("normal", mockClusterExpected);
-    }}).once();
-
-    Capture<Map<String,String>> configCreation = Capture.newInstance(CaptureType.ALL);
-
-    expect(mockClusterExpected.getDesiredConfigByType("hive-env")).andReturn(mockHiveEnv).atLeastOnce();
-    expect(mockClusterExpected.getDesiredConfigByType("hiveserver2-site")).andReturn(mockHiveServerSite).atLeastOnce();
-    expect(mockHiveEnv.getProperties()).andReturn(propertiesExpectedHiveEnv).anyTimes();
-    expect(mockHiveServerSite.getProperties()).andReturn(propertiesExpectedHiveServerSite).anyTimes();
-
-    expect(mockClusterExpected.getDesiredConfigByType("hive-site")).andReturn(mockHiveSite).atLeastOnce();
-    expect(mockHiveSite.getProperties()).andReturn(propertiesExpectedHiveSite).anyTimes();
-    expect(mockClusterExpected.getServices()).andReturn(servicesExpected).atLeastOnce();
-    expect(mockAmbariManagementController.createConfig((Cluster)anyObject(), anyObject(StackId.class),
-      anyString(),
-      capture(configCreation),
-      anyString(),
-      EasyMock.<Map<String, Map<String, String>>>anyObject())).andReturn(null).atLeastOnce();
-
-    easyMockSupport.replayAll();
-    upgradeCatalog210.updateHiveConfigs();
-    easyMockSupport.verifyAll();
-
-    Assert.assertEquals(2, configCreation.getValues().size());
-
-    boolean hiveSecFound = false;
-
-    for (Map<String, String> cfg: configCreation.getValues()){
-      if (cfg.containsKey("hive_security_authorization")) {
-        hiveSecFound = true;
-        Assert.assertTrue("sqlstdauth".equalsIgnoreCase(cfg.get("hive_security_authorization")));
-        break;
-      }
-    }
-
-    Assert.assertTrue(hiveSecFound);
-  }
-
-  @Test
-  public void testUpdateHiveConfigsWithRangerPlugin() throws Exception {
-    EasyMockSupport easyMockSupport = new EasyMockSupport();
-    final ConfigHelper mockConfigHelper = easyMockSupport.createMock(ConfigHelper.class);
-    final AmbariManagementController mockAmbariManagementController = easyMockSupport.createNiceMock(AmbariManagementController.class);
-
-    final Clusters mockClusters = easyMockSupport.createStrictMock(Clusters.class);
-    final Cluster mockClusterExpected = easyMockSupport.createNiceMock(Cluster.class);
-    final Config mockHiveEnv = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveSite = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHiveServerSite = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHivePluginProperies = easyMockSupport.createNiceMock(Config.class);
-
-    final Map<String, String> propertiesExpectedHiveEnv = new HashMap<String, String>() {{
-      put("hive_security_authorization", "none");
-    }};
-    final Map<String, String> propertiesExpectedHiveSite = new HashMap<>();
-
-    final Map<String, String> propertiesExpectedPluginProperies = new HashMap<String, String>() {{
-      put("ranger-hive-plugin-enabled", "yes");
-    }};
-    final Map<String, String> propertiesExpectedHiveServerSite = new HashMap<String, String>() {{
-      put("hive.security.authorization.manager", "test");
-      put("hive.security.authenticator.manager", "test");
-    }};
-    final Map<String, Service> servicesExpected = new HashMap<String, Service>() {{
-      put("RANGER", null);
-    }};
-
-    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(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
-        bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
-      }
-    });
-
-    final UpgradeCatalog210 upgradeCatalog210 = mockInjector.getInstance(UpgradeCatalog210.class);
-
-    expect(mockAmbariManagementController.getClusters()).andReturn(mockClusters).once();
-    expect(mockClusters.getClusters()).andReturn(new HashMap<String, Cluster>() {{
-      put("normal", mockClusterExpected);
-    }}).once();
-
-    Capture<Map<String, String>> configCreation = Capture.newInstance(CaptureType.ALL);
-
-    expect(mockClusterExpected.getDesiredConfigByType("hive-env")).andReturn(mockHiveEnv).atLeastOnce();
-    expect(mockClusterExpected.getDesiredConfigByType("hiveserver2-site")).andReturn(mockHiveServerSite).atLeastOnce();
-    expect(mockHiveEnv.getProperties()).andReturn(propertiesExpectedHiveEnv).anyTimes();
-    expect(mockHiveServerSite.getProperties()).andReturn(propertiesExpectedHiveServerSite).anyTimes();
-
-    expect(mockClusterExpected.getDesiredConfigByType("ranger-hive-plugin-properties")).andReturn(mockHivePluginProperies).once();
-    expect(mockClusterExpected.getDesiredConfigByType("hive-site")).andReturn(mockHiveSite).atLeastOnce();
-    expect(mockHiveSite.getProperties()).andReturn(propertiesExpectedHiveSite).anyTimes();
-    expect(mockHivePluginProperies.getProperties()).andReturn(propertiesExpectedPluginProperies).anyTimes();
-    expect(mockClusterExpected.getServices()).andReturn(servicesExpected).atLeastOnce();
-    expect(mockAmbariManagementController.createConfig((Cluster) anyObject(), anyObject(StackId.class),
-        anyString(),
-        capture(configCreation),
-        anyString(),
-        EasyMock.<Map<String, Map<String, String>>>anyObject())).andReturn(null).atLeastOnce();
-
-    easyMockSupport.replayAll();
-    upgradeCatalog210.updateHiveConfigs();
-    easyMockSupport.verifyAll();
-    Assert.assertEquals(1, configCreation.getValues().size());
-
-    boolean result = false;
-    for (Map<String, String> cfg : configCreation.getValues()) {
-      if (cfg.containsKey("hive.security.authorization.manager")) {
-        result = true;
-        break;
-      }
-    }
-    Assert.assertFalse(result);
-    result = false;
-    for (Map<String, String> cfg : configCreation.getValues()) {
-      if (cfg.containsKey("hive.security.authenticator.manager")) {
-        result = true;
-        break;
-      }
-    }
-    Assert.assertFalse(result);
-  }
-
-
-  @Test
-  public void TestUpdateHiveEnvContent() {
-    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 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));
-      }
-    });
-    String content = "# Start HIVE_AUX_JARS_PATH \n" +
-        "if [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n" +
-        "  export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\n" +
-        "elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then \n" +
-        "  export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog\n" +
-        "fi\n" +
-        "#End HIVE_AUX_JARS_PATH";
-    String expectedContent = "# Start HIVE_AUX_JARS_PATH \n" +
-        "if [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n" +
-        "  if [ -f \"${HIVE_AUX_JARS_PATH}\" ]; then    \n" +
-        "    export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\n" +
-        "  elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n" +
-        "    export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n" +
-        "  fi\n" +
-        "elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n" +
-        "  export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n" +
-        "fi\n" +
-        "#End HIVE_AUX_JARS_PATH";
-
-    String modifiedContent = mockInjector.getInstance(UpgradeCatalog210.class).updateHiveEnvContent(content);
-    Assert.assertEquals(modifiedContent, expectedContent);
-  }
-
-  @Test
-  public void testInitializeClusterAndServiceWidgets() throws Exception {
-    final AmbariManagementController controller = createStrictMock(AmbariManagementController.class);
-    final Clusters clusters = createStrictMock(Clusters.class);
-    final Cluster cluster = createStrictMock(Cluster.class);
-    final Service service = createStrictMock(Service.class);
-    final Map<String, Cluster> clusterMap = Collections.singletonMap("c1", cluster);
-    final Map<String, Service> services = Collections.singletonMap("HBASE", service);
-
-
-    Module module = new Module() {
-      @Override
-      public void configure(Binder binder) {
-        binder.bind(AmbariManagementController.class).toInstance(controller);
-        binder.bind(Clusters.class).toInstance(clusters);
-        binder.bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
-        binder.bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
-      }
-    };
-
-    expect(controller.getClusters()).andReturn(clusters).anyTimes();
-    expect(clusters.getClusters()).andReturn(clusterMap).anyTimes();
-    controller.initializeWidgetsAndLayouts(cluster, null);
-    expectLastCall().once();
-
-    expect(cluster.getServices()).andReturn(services).once();
-    controller.initializeWidgetsAndLayouts(cluster, service);
-    expectLastCall().once();
-
-    replay(controller, clusters, cluster);
-
-    Injector injector = Guice.createInjector(module);
-    injector.getInstance(UpgradeCatalog210.class).initializeClusterAndServiceWidgets();
-
-    verify(controller, clusters, cluster);
-  }
-
-  @Test
-  public void testUpdateStormConfiguration() 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 mockClusterEnv = easyMockSupport.createNiceMock(Config.class);
-    final Config mockStormSite = easyMockSupport.createNiceMock(Config.class);
-
-    final Map<String, String> propertiesExpectedClusterEnv = new HashMap<>();
-    propertiesExpectedClusterEnv.put("security_enabled", "true");
-    final Map<String, String> propertiesExpectedStormSite = new HashMap<>();
-    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();
-
-    expect(mockClusterExpected.getDesiredConfigByType("cluster-env")).andReturn(mockClusterEnv).atLeastOnce();
-    expect(mockClusterExpected.getDesiredConfigByType("storm-site")).andReturn(mockStormSite).atLeastOnce();
-    expect(mockClusterEnv.getProperties()).andReturn(propertiesExpectedClusterEnv).anyTimes();
-    expect(mockStormSite.getProperties()).andReturn(propertiesExpectedStormSite).anyTimes();
-
-    easyMockSupport.replayAll();
-    mockInjector.getInstance(UpgradeCatalog210.class).updateStormConfigs();
-    easyMockSupport.verifyAll();
-  }
-
-  @Test
-  public void testUpdateHBaseConfiguration() 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 Host mockHost = easyMockSupport.createNiceMock(Host.class);
-
-    final Config mockHBaseSite = easyMockSupport.createNiceMock(Config.class);
-    final Config mockHBaseEnv = easyMockSupport.createNiceMock(Config.class);
-
-    final Map<String, String> propertiesExpectedHBaseSite = new HashMap<>();
-    propertiesExpectedHBaseSite.put("hbase.region.server.rpc.scheduler.factory.class",
-        "org.apache.phoenix.hbase.index.ipc.PhoenixIndexRpcSchedulerFactory");
-    propertiesExpectedHBaseSite.put("hbase.security.authorization", "true");
-
-    final Map<String, String> propertiesExpectedHBaseEnv = new HashMap<>();
-    propertiesExpectedHBaseEnv.put("phoenix_sql_enabled", "false");
-
-    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();
-
-    expect(mockClusterExpected.getDesiredConfigByType("hbase-site")).andReturn(mockHBaseSite).atLeastOnce();
-    expect(mockClusterExpected.getDesiredConfigByType("hbase-env")).andReturn(mockHBaseEnv).atLeastOnce();
-    expect(mockHBaseSite.getProperties()).andReturn(propertiesExpectedHBaseSite).anyTimes();
-    expect(mockHBaseEnv.getProperties()).andReturn(propertiesExpectedHBaseEnv).anyTimes();
-
-    Capture<String> configType = EasyMock.newCapture();
-    Capture<String> configTag = EasyMock.newCapture();
-    expect(mockClusterExpected.getConfig(capture(configType), capture(configTag))).
-            andReturn(mockHBaseSite).atLeastOnce();
-
-    easyMockSupport.replayAll();
-    mockInjector.getInstance(UpgradeCatalog210.class).updateHBaseConfigs();
-    easyMockSupport.verifyAll();
-  }
-
-  @Test
-  public void testDeleteStormRestApiServiceComponent() throws Exception {
-    initData();
-
-    ClusterEntity clusterEntity = upgradeCatalogHelper.createCluster(injector,
-        "c1", desiredStackEntity, desiredRepositoryVersion);
-
-    OrmTestHelper helper = injector.getInstance(OrmTestHelper.class);
-    RepositoryVersionEntity repositoryVersion = helper.getOrCreateRepositoryVersion(
-        new StackId(desiredStackEntity.getStackName(), desiredStackEntity.getStackVersion()),
-        desiredRepositoryVersion);
-
-    ClusterServiceEntity clusterServiceEntity = upgradeCatalogHelper.createService(
-        injector, clusterEntity, "STORM");
-
-    HostEntity hostEntity = upgradeCatalogHelper.createHost(injector,
-        clusterEntity, "h1");
-
-    // Set current stack version
-    ClusterDAO clusterDAO = injector.getInstance(ClusterDAO.class);
-    ClusterStateDAO clusterStateDAO = injector.getInstance(ClusterStateDAO.class);
-    ClusterStateEntity clusterStateEntity = new ClusterStateEntity();
-    clusterStateEntity.setClusterId(clusterEntity.getClusterId());
-    clusterStateEntity.setClusterEntity(clusterEntity);
-    clusterStateEntity.setCurrentStack(desiredStackEntity);
-    clusterStateDAO.create(clusterStateEntity);
-    clusterEntity.setClusterStateEntity(clusterStateEntity);
-    clusterDAO.merge(clusterEntity);
-
-    ServiceComponentDesiredStateEntity componentDesiredStateEntity = new ServiceComponentDesiredStateEntity();
-    componentDesiredStateEntity.setClusterId(clusterEntity.getClusterId());
-    componentDesiredStateEntity.setServiceName(clusterServiceEntity.getServiceName());
-    componentDesiredStateEntity.setClusterServiceEntity(clusterServiceEntity);
-    componentDesiredStateEntity.setComponentName("STORM_REST_API");
-    componentDesiredStateEntity.setDesiredRepositoryVersion(repositoryVersion);
-
-    ServiceComponentDesiredStateDAO componentDesiredStateDAO =
-      injector.getInstance(ServiceComponentDesiredStateDAO.class);
-
-    componentDesiredStateDAO.create(componentDesiredStateEntity);
-
-    HostComponentDesiredStateDAO hostComponentDesiredStateDAO =
-      injector.getInstance(HostComponentDesiredStateDAO.class);
-
-    HostComponentDesiredStateEntity hostComponentDesiredStateEntity = new HostComponentDesiredStateEntity();
-
-    hostComponentDesiredStateEntity.setClusterId(clusterEntity.getClusterId());
-    hostComponentDesiredStateEntity.setComponentName("STORM_REST_API");
-    hostComponentDesiredStateEntity.setAdminState(HostComponentAdminState.INSERVICE);
-    hostComponentDesiredStateEntity.setServiceName(clusterServiceEntity.getServiceName());
-    hostComponentDesiredStateEntity.setServiceComponentDesiredStateEntity(componentDesiredStateEntity);
-    hostComponentDesiredStateEntity.setHostEntity(hostEntity);
-
-    hostComponentDesiredStateDAO.create(hostComponentDesiredStateEntity);
-
-    HostComponentDesiredStateEntity entity = hostComponentDesiredStateDAO.findAll().get(0);
-
-    Assert.assertEquals(HostComponentAdminState.INSERVICE.name(), entity.getAdminState().name());
-
-    // ensure the desired state exists
-    Assert.assertNotNull(componentDesiredStateDAO.findByName(clusterEntity.getClusterId(), "STORM",
-        "STORM_REST_API"));
-
-    UpgradeCatalog210 upgradeCatalog210 = injector.getInstance(UpgradeCatalog210.class);
-    upgradeCatalog210.removeStormRestApiServiceComponent();
-
-    Assert.assertNull(componentDesiredStateDAO.findByName(clusterEntity.getClusterId(), "STORM",
-        "STORM_REST_API"));
-    tearDown();
-  }
-
-
-  @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 Config mockCoreSite = easyMockSupport.createStrictMock(Config.class);
-
-    final Map<String, String> propertiesExpectedHdfs = new HashMap<>();
-    final Map<String, String> propertiesExpectedCoreSite = new HashMap<>();
-    propertiesExpectedHdfs.put("dfs.nameservices", "nncl1,nncl2");
-    propertiesExpectedHdfs.put("dfs.ha.namenodes.nncl2", "nn1,nn2");
-    propertiesExpectedCoreSite.put("fs.defaultFS", "hdfs://EXAMPLE.COM:8020");
-    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("hadoop-env")).andReturn(null).once();
-
-    // Expected operation
-    expect(mockClusterExpected.getDesiredConfigByType("hdfs-site")).andReturn(mockHdfsSite).atLeastOnce();
-    expect(mockClusterExpected.getHosts("HDFS", "NAMENODE")).andReturn( new HashSet<String>() {{
-      add("host1");
-    }}).atLeastOnce();
-    expect(mockHdfsSite.getProperties()).andReturn(propertiesExpectedHdfs).anyTimes();
-
-    expect(mockClusterExpected.getDesiredConfigByType("core-site")).andReturn(mockCoreSite).anyTimes();
-    expect(mockCoreSite.getProperties()).andReturn(propertiesExpectedCoreSite).anyTimes();
-
-    easyMockSupport.replayAll();
-    mockInjector.getInstance(UpgradeCatalog210.class).updateHdfsConfigs();
-    easyMockSupport.verifyAll();
-  }
-
-  /**
-   * @param dbAccessor
-   * @return
-   */
-  private AbstractUpgradeCatalog getUpgradeCatalog(final DBAccessor dbAccessor) {
-    Module module = new Module() {
-      @Override
-      public void configure(Binder binder) {
-        binder.bind(DBAccessor.class).toInstance(dbAccessor);
-        binder.bind(EntityManager.class).toInstance(entityManager);
-        binder.bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
-      }
-    };
-
-    Injector injector = Guice.createInjector(module);
-    return injector.getInstance(UpgradeCatalog210.class);
-  }
-
-  @Test
-  public void testGetSourceVersion() {
-    final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-    UpgradeCatalog upgradeCatalog = getUpgradeCatalog(dbAccessor);
-    Assert.assertEquals("2.0.0", upgradeCatalog.getSourceVersion());
-  }
-
-  @Test
-  public void testGetTargetVersion() throws Exception {
-    final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-    UpgradeCatalog upgradeCatalog = getUpgradeCatalog(dbAccessor);
-
-    Assert.assertEquals("2.1.0", upgradeCatalog.getTargetVersion());
-  }
-
-  @Test
-  public void testUpdateKerberosDescriptorArtifact_Simple() throws Exception {
-    final KerberosDescriptorFactory kerberosDescriptorFactory = new KerberosDescriptorFactory();
-
-    KerberosServiceDescriptor serviceDescriptor;
-
-    URL systemResourceURL = ClassLoader.getSystemResource("kerberos/test_kerberos_descriptor_simple.json");
-    assertNotNull(systemResourceURL);
-
-    final KerberosDescriptor kerberosDescriptorOrig = kerberosDescriptorFactory.createInstance(new File(systemResourceURL.getFile()));
-    assertNotNull(kerberosDescriptorOrig);
-    assertNotNull(kerberosDescriptorOrig.getIdentity("hdfs"));
-
-    serviceDescriptor = kerberosDescriptorOrig.getService("HDFS");
-    assertNotNull(serviceDescriptor);
-    assertNotNull(serviceDescriptor.getIdentity("/hdfs"));
-    assertNull(serviceDescriptor.getIdentity("hdfs"));
-
-    serviceDescriptor = kerberosDescriptorOrig.getService("OOZIE");
-    assertNotNull(serviceDescriptor);
-    assertNotNull(serviceDescriptor.getIdentity("/hdfs"));
-    assertNull(serviceDescriptor.getIdentity("/HDFS/hdfs"));
-
-    UpgradeCatalog210 upgradeMock = createMockBuilder(UpgradeCatalog210.class).createMock();
-
-    Capture<Map<String, Object>> updatedData = EasyMock.newCapture();
-
-    ArtifactEntity artifactEntity = createNiceMock(ArtifactEntity.class);
-    expect(artifactEntity.getArtifactData())
-        .andReturn(kerberosDescriptorOrig.toMap())
-        .once();
-
-    artifactEntity.setArtifactData(capture(updatedData));
-    expectLastCall().once();
-
-    replay(artifactEntity, upgradeMock);
-    upgradeMock.updateKerberosDescriptorArtifact(createNiceMock(ArtifactDAO.class), artifactEntity);
-    verify(artifactEntity, upgradeMock);
-
-    KerberosDescriptor kerberosDescriptorUpdated = new KerberosDescriptorFactory().createInstance(updatedData.getValue());
-    assertNotNull(kerberosDescriptorUpdated);
-    assertNull(kerberosDescriptorUpdated.getIdentity("/hdfs"));
-
-    serviceDescriptor = kerberosDescriptorUpdated.getService("HDFS");
-    assertNotNull(serviceDescriptor);
-    assertNull(serviceDescriptor.getIdentity("/hdfs"));
-    assertNotNull(serviceDescriptor.getIdentity("hdfs"));
-
-    serviceDescriptor = kerberosDescriptorUpdated.getService("OOZIE");
-    assertNotNull(serviceDescriptor);
-    assertNull(serviceDescriptor.getIdentity("/hdfs"));
-    assertNotNull(serviceDescriptor.getIdentity("/HDFS/hdfs"));
-  }
-
-  @Test
-  public void testUpdateKerberosDescriptorArtifact_NoHDFSService() throws Exception {
-    final KerberosDescriptorFactory kerberosDescriptorFactory = new KerberosDescriptorFactory();
-
-    KerberosServiceDescriptor serviceDescriptor;
-
-    URL systemResourceURL = ClassLoader.getSystemResource("kerberos/test_kerberos_descriptor_no_hdfs.json");
-    assertNotNull(systemResourceURL);
-
-    final KerberosDescriptor kerberosDescriptorOrig = kerberosDescriptorFactory.createInstance(new File(systemResourceURL.getFile()));
-    assertNotNull(kerberosDescriptorOrig);
-    assertNotNull(kerberosDescriptorOrig.getIdentity("hdfs"));
-
-    serviceDescriptor = kerberosDescriptorOrig.getService("HDFS");
-    assertNull(serviceDescriptor);
-
-    serviceDescriptor = kerberosDescriptorOrig.getService("OOZIE");
-    assertNotNull(serviceDescriptor);
-    assertNotNull(serviceDescriptor.getIdentity("/hdfs"));
-    assertNull(serviceDescriptor.getIdentity("/HDFS/hdfs"));
-
-    UpgradeCatalog210 upgradeMock = createMockBuilder(UpgradeCatalog210.class).createMock();
-
-    Capture<Map<String, Object>> updatedData = EasyMock.newCapture();
-
-    ArtifactEntity artifactEntity = createNiceMock(ArtifactEntity.class);
-    expect(artifactEntity.getArtifactData())
-        .andReturn(kerberosDescriptorOrig.toMap())
-        .once();
-
-    artifactEntity.setArtifactData(capture(updatedData));
-    expectLastCall().once();
-
-    replay(artifactEntity, upgradeMock);
-    upgradeMock.updateKerberosDescriptorArtifact(createNiceMock(ArtifactDAO.class), artifactEntity);
-    verify(artifactEntity, upgradeMock);
-
-    KerberosDescriptor kerberosDescriptorUpdated = new KerberosDescriptorFactory().createInstance(updatedData.getValue());
-    assertNotNull(kerberosDescriptorUpdated);
-    assertNull(kerberosDescriptorUpdated.getIdentity("/hdfs"));
-
-    serviceDescriptor = kerberosDescriptorUpdated.getService("HDFS");
-    assertNotNull(serviceDescriptor);
-    assertNull(serviceDescriptor.getIdentity("/hdfs"));
-    assertNotNull(serviceDescriptor.getIdentity("hdfs"));
-
-    serviceDescriptor = kerberosDescriptorUpdated.getService("OOZIE");
-    assertNotNull(serviceDescriptor);
-    assertNull(serviceDescriptor.getIdentity("/hdfs"));
-    assertNotNull(serviceDescriptor.getIdentity("/HDFS/hdfs"));
-  }
-
-  // *********** Inner Classes that represent sections of the DDL ***********
-  // ************************************************************************
-
-  /**
-   * Verify that all of the host-related tables added a column for the host_id
-   */
-  class HostSectionDDL implements SectionDDL {
-
-    HashMap<String, Capture<DBColumnInfo>> captures;
-
-    public HostSectionDDL() {
-      // Capture all tables that will have the host_id column added to it.
-      captures = new HashMap<>();
-
-      // Column Capture section
-      // Hosts
-      Capture<DBAccessor.DBColumnInfo> clusterHostMappingColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> configGroupHostMappingColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> hostConfigMappingColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> hostsColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> hostComponentStateColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> hostComponentDesiredStateColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> hostRoleCommandColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> hostStateColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> hostVersionColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> kerberosPrincipalHostColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> requestOperationLevelColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> serviceConfigHostsColumnCapture = EasyMock.newCapture();
-
-      captures.put("ClusterHostMapping", clusterHostMappingColumnCapture);
-      captures.put("configgrouphostmapping", configGroupHostMappingColumnCapture);
-      captures.put("hostconfigmapping", hostConfigMappingColumnCapture);
-      captures.put("hosts", hostsColumnCapture);
-      captures.put("hostcomponentstate", hostComponentStateColumnCapture);
-      captures.put("hostcomponentdesiredstate", hostComponentDesiredStateColumnCapture);
-      captures.put("host_role_command", hostRoleCommandColumnCapture);
-      captures.put("hoststate", hostStateColumnCapture);
-      captures.put("host_version", hostVersionColumnCapture);
-      captures.put("kerberos_principal_host", kerberosPrincipalHostColumnCapture);
-      captures.put("requestoperationlevel", requestOperationLevelColumnCapture);
-      captures.put("serviceconfighosts", serviceConfigHostsColumnCapture);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void execute(DBAccessor dbAccessor) throws SQLException {
-      // Add columns and alter table section
-      dbAccessor.addColumn(eq("ClusterHostMapping"), capture(captures.get("ClusterHostMapping")));
-      dbAccessor.addColumn(eq("configgrouphostmapping"), capture(captures.get("configgrouphostmapping")));
-      dbAccessor.addColumn(eq("hostconfigmapping"), capture(captures.get("hostconfigmapping")));
-      dbAccessor.addColumn(eq("hosts"), capture(captures.get("hosts")));
-      dbAccessor.addColumn(eq("hostcomponentstate"), capture(captures.get("hostcomponentstate")));
-      dbAccessor.addColumn(eq("hostcomponentdesiredstate"), capture(captures.get("hostcomponentdesiredstate")));
-      dbAccessor.addColumn(eq("host_role_command"), capture(captures.get("host_role_command")));
-      dbAccessor.addColumn(eq("hoststate"), capture(captures.get("hoststate")));
-      dbAccessor.addColumn(eq("host_version"), capture(captures.get("host_version")));
-      dbAccessor.addColumn(eq("kerberos_principal_host"), capture(captures.get("kerberos_principal_host")));
-      dbAccessor.addColumn(eq("requestoperationlevel"), capture(captures.get("requestoperationlevel")));
-      dbAccessor.addColumn(eq("serviceconfighosts"), capture(captures.get("serviceconfighosts")));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void verify(DBAccessor dbAccessor) throws SQLException {
-      // Verification section
-      for (Capture<DBColumnInfo> columnCapture : captures.values()) {
-        verifyContainsHostIdColumn(columnCapture);
-      }
-    }
-
-    /**
-     * Verify that the column capture of the table contains a host_id column of type Long.
-     * This is needed for all of the host-related tables that are switching from the
-     * host_name to the host_id.
-     * @param columnCapture
-     */
-    private void verifyContainsHostIdColumn(Capture<DBAccessor.DBColumnInfo> columnCapture) {
-      DBColumnInfo idColumn = columnCapture.getValue();
-      Assert.assertEquals(Long.class, idColumn.getType());
-      Assert.assertEquals("host_id", idColumn.getName());
-    }
-  }
-
-  /**
-   * Verify that the widget, widget_layout, and widget_layout_user_widget tables are created correctly.
-   */
-  class WidgetSectionDDL implements SectionDDL {
-
-    HashMap<String, Capture<List<DBColumnInfo>>> captures;
-    Capture<DBColumnInfo> userActiveLayoutsColumnCapture;
-
-    public WidgetSectionDDL() {
-      captures = new HashMap<>();
-
-      Capture<List<DBColumnInfo>> userWidgetColumnsCapture = EasyMock.newCapture();
-      Capture<List<DBColumnInfo>> widgetLayoutColumnsCapture = EasyMock.newCapture();
-      Capture<List<DBColumnInfo>> widgetLayoutUserWidgetColumnsCapture = EasyMock.newCapture();
-
-      captures.put("widget", userWidgetColumnsCapture);
-      captures.put("widget_layout", widgetLayoutColumnsCapture);
-      captures.put("widget_layout_user_widget", widgetLayoutUserWidgetColumnsCapture);
-      userActiveLayoutsColumnCapture = EasyMock.newCapture();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void execute(DBAccessor dbAccessor) throws SQLException {
-      Capture<List<DBColumnInfo>> userWidgetColumnsCapture = captures.get("widget");
-      Capture<List<DBColumnInfo>> widgetLayoutColumnsCapture = captures.get("widget_layout");
-      Capture<List<DBColumnInfo>> widgetLayoutUserWidgetColumnsCapture = captures.get("widget_layout_user_widget");
-
-      // User Widget
-      dbAccessor.createTable(eq("widget"),
-          capture(userWidgetColumnsCapture), eq("id"));
-
-      // Widget Layout
-      dbAccessor.createTable(eq("widget_layout"),
-          capture(widgetLayoutColumnsCapture), eq("id"));
-
-      // Widget Layout User Widget
-      dbAccessor.createTable(eq("widget_layout_user_widget"),
-          capture(widgetLayoutUserWidgetColumnsCapture), eq("widget_layout_id"), eq("widget_id"));
-
-      dbAccessor.addColumn(eq("users"), capture(userActiveLayoutsColumnCapture));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void verify(DBAccessor dbAccessor) throws SQLException {
-      Capture<List<DBColumnInfo>> widgetColumnsCapture = captures.get("widget");
-      Capture<List<DBColumnInfo>> widgetLayoutColumnsCapture = captures.get("widget_layout");
-      Capture<List<DBColumnInfo>> widgetLayoutUserWidgetColumnsCapture = captures.get("widget_layout_user_widget");
-
-      // Verify widget tables
-      assertEquals(12, widgetColumnsCapture.getValue().size());
-      assertEquals(7, widgetLayoutColumnsCapture.getValue().size());
-      assertEquals(3, widgetLayoutUserWidgetColumnsCapture.getValue().size());
-
-      DBColumnInfo idColumn = userActiveLayoutsColumnCapture.getValue();
-      Assert.assertEquals(String.class, idColumn.getType());
-      Assert.assertEquals("active_widget_layouts", idColumn.getName());
-    }
-  }
-
-  /**
-   * Verify view changes
-   */
-  class ViewSectionDDL implements SectionDDL {
-
-    HashMap<String, Capture<DBColumnInfo>> captures;
-
-    public ViewSectionDDL() {
-      captures = new HashMap<>();
-
-      Capture<DBAccessor.DBColumnInfo> viewInstanceColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> viewInstanceAlterNamesColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> viewParamColumnCapture = EasyMock.newCapture();
-      Capture<DBAccessor.DBColumnInfo> viewBuildColumnCapture = EasyMock.newCapture();
-
-      captures.put("viewinstance", viewInstanceColumnCapture);
-      captures.put("viewinstance_alter_names", viewInstanceAlterNamesColumnCapture);
-      captures.put("viewparameter", viewParamColumnCapture);
-      captures.put("viewmain", viewBuildColumnCapture);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void execute(DBAccessor dbAccessor) throws SQLException {
-      Capture<DBColumnInfo> viewInstanceColumnCapture = captures.get("viewinstance");
-      Capture<DBColumnInfo> viewInstanceAlterNamesColumnCapture = captures.get("viewinstance_alter_names");
-      Capture<DBColumnInfo> viewParamColumnCapture = captures.get("viewparameter");
-      Capture<DBColumnInfo> viewBuildColumnCapture = captures.get("viewmain");
-
-      dbAccessor.addColumn(eq("viewinstance"), capture(viewInstanceColumnCapture));
-      dbAccessor.addColumn(eq("viewinstance"), capture(viewInstanceAlterNamesColumnCapture));
-      dbAccessor.addColumn(eq("viewparameter"), capture(viewParamColumnCapture));
-      dbAccessor.addColumn(eq("viewmain"), capture(viewBuildColumnCapture));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void verify(DBAccessor dbAccessor) throws SQLException {
-      verifyViewInstance(captures.get("viewinstance"));
-      verifyViewInstanceAlterNames(captures.get("viewinstance_alter_names"));
-      verifyViewParameter(captures.get("viewparameter"));
-      verifyViewBuild(captures.get("viewmain"));
-    }
-
-    private void verifyViewInstance(Capture<DBAccessor.DBColumnInfo> viewInstanceColumnCapture) {
-      DBColumnInfo clusterIdColumn = viewInstanceColumnCapture.getValue();
-      Assert.assertEquals(String.class, clusterIdColumn.getType());
-      Assert.assertEquals("cluster_handle", clusterIdColumn.getName());
-    }
-
-    private void verifyViewInstanceAlterNames(Capture<DBAccessor.DBColumnInfo> viewInstanceAlterNamesColumnCapture) {
-      DBColumnInfo clusterIdColumn = viewInstanceAlterNamesColumnCapture.getValue();
-      Assert.assertEquals(Integer.class, clusterIdColumn.getType());
-      Assert.assertEquals("alter_names", clusterIdColumn.getName());
-    }
-
-    private void verifyViewParameter(Capture<DBAccessor.DBColumnInfo> viewParamColumnCapture) {
-      DBColumnInfo clusterConfigColumn = viewParamColumnCapture.getValue();
-      Assert.assertEquals(String.class, clusterConfigColumn.getType());
-      Assert.assertEquals("cluster_config", clusterConfigColumn.getName());
-    }
-
-    private void verifyViewBuild(Capture<DBAccessor.DBColumnInfo> viewBuildColumnCapture) {
-      DBColumnInfo clusterConfigColumn = viewBuildColumnCapture.getValue();
-      Assert.assertEquals(String.class, clusterConfigColumn.getType());
-      Assert.assertEquals("build", clusterConfigColumn.getName());
-    }
-  }
-
-  /**
-   * Verify alert changes
-   */
-  class AlertSectionDDL implements SectionDDL {
-    HashMap<String, Capture<String>> stringCaptures;
-    HashMap<String, Capture<Class>> classCaptures;
-
-
-    public AlertSectionDDL() {
-      stringCaptures = new HashMap<>();
-      classCaptures = new HashMap<>();
-
-      Capture<String> textCaptureC = EasyMock.newCapture();
-      Capture<String> textCaptureH = EasyMock.newCapture();
-      Capture<Class>  classFromC = EasyMock.newCapture();
-      Capture<Class>  classFromH = EasyMock.newCapture();
-      Capture<Class>  classToC = EasyMock.newCapture();
-      Capture<Class>  classToH = EasyMock.newCapture();
-
-      stringCaptures.put("textCaptureC", textCaptureC);
-      stringCaptures.put("textCaptureH", textCaptureH);
-      classCaptures.put("classFromC", classFromC);
-      classCaptures.put("classFromH", classFromH);
-      classCaptures.put("classToC", classToC);
-      classCaptures.put("classToH", classToH);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void execute(DBAccessor dbAccessor) throws SQLException {
-      Capture<String> textCaptureC = stringCaptures.get("textCaptureC");
-      Capture<String> textCaptureH = stringCaptures.get("textCaptureH");
-      Capture<Class>  classFromC = classCaptures.get("classFromC");
-      Capture<Class>  classFromH = classCaptures.get("classFromH");
-      Capture<Class>  classToC = classCaptures.get("classToC");
-      Capture<Class>  classToH = classCaptures.get("classToH");
-
-      dbAccessor.changeColumnType(eq("alert_current"), capture(textCaptureC), capture(classFromC), capture(classToC));
-      dbAccessor.changeColumnType(eq("alert_history"), capture(textCaptureH), capture(classFromH), capture(classToH));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void verify(DBAccessor dbAccessor) throws SQLException {
-      Capture<String> textCaptureC = stringCaptures.get("textCaptureC");
-      Capture<String> textCaptureH = stringCaptures.get("textCaptureH");
-      Capture<Class>  classFromC = classCaptures.get("classFromC");
-      Capture<Class>  classFromH = classCaptures.get("classFromH");
-      Capture<Class>  classToC = classCaptures.get("classToC");
-      Capture<Class>  classToH = classCaptures.get("classToH");
-
-      Assert.assertEquals("latest_text", textCaptureC.getValue());
-      Assert.assertEquals(String.class, classFromC.getValue());
-      Assert.assertEquals(char[].class, classToC.getValue());
-
-      Assert.assertEquals("alert_text", textCaptureH.getValue());
-      Assert.assertEquals(String.class, classFromH.getValue());
-      Assert.assertEquals(char[].class, classToH.getValue());
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/af1bf85c/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog211Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog211Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog211Test.java
deleted file mode 100644
index 60efead..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog211Test.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.upgrade;
-
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.capture;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.newCapture;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.Statement;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicLong;
-
-import javax.persistence.EntityManager;
-
-import org.apache.ambari.server.api.services.AmbariMetaInfo;
-import org.apache.ambari.server.configuration.Configuration;
-import org.apache.ambari.server.configuration.Configuration.DatabaseType;
-import org.apache.ambari.server.controller.AmbariManagementController;
-import org.apache.ambari.server.controller.ConfigurationRequest;
-import org.apache.ambari.server.orm.DBAccessor;
-import org.apache.ambari.server.orm.GuiceJpaInitializer;
-import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
-import org.apache.ambari.server.orm.dao.StackDAO;
-import org.apache.ambari.server.state.Cluster;
-import org.apache.ambari.server.state.Clusters;
-import org.apache.ambari.server.state.Config;
-import org.apache.ambari.server.state.StackId;
-import org.apache.ambari.server.state.stack.OsFamily;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
-import org.easymock.EasyMockSupport;
-import org.junit.Assert;
-import org.junit.Test;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Binder;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-import com.google.inject.Provider;
-import com.google.inject.persist.PersistService;
-
-
-/**
- * {@link UpgradeCatalog211} unit tests.
- */
-public class UpgradeCatalog211Test extends EasyMockSupport {
-
-  @Test
-  public void testExecuteDDLUpdates() throws Exception {
-    Injector injector = initInjector();
-
-    try {
-      Provider<EntityManager> entityManagerProvider = initEntityManagerProvider();
-
-      final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-      final OsFamily osFamily = createNiceMock(OsFamily.class);
-      Configuration configuration = createNiceMock(Configuration.class);
-      Connection connection = createNiceMock(Connection.class);
-      Statement statement = createNiceMock(Statement.class);
-      ResultSet resultSet = createNiceMock(ResultSet.class);
-      expect(configuration.getDatabaseUrl()).andReturn(Configuration.JDBC_IN_MEMORY_URL).anyTimes();
-      expect(configuration.getDatabaseType()).andReturn(DatabaseType.DERBY).anyTimes();
-      dbAccessor.getConnection();
-      expectLastCall().andReturn(connection).anyTimes();
-      connection.createStatement();
-      expectLastCall().andReturn(statement).anyTimes();
-      statement.executeQuery("SELECT COUNT(*) from ambari_sequences where sequence_name='hostcomponentstate_id_seq'");
-      expectLastCall().andReturn(resultSet).atLeastOnce();
-
-      ResultSet rs1 = createNiceMock(ResultSet.class);
-      expect(rs1.next()).andReturn(Boolean.TRUE).once();
-
-      statement.executeQuery(anyObject(String.class));
-      expectLastCall().andReturn(rs1).anyTimes();
-
-      Capture<String> queryCapture = EasyMock.newCapture();
-      dbAccessor.executeQuery(capture(queryCapture));
-      expectLastCall().once();
-
-      dbAccessor.setColumnNullable("viewinstanceproperty", "value", true);
-      expectLastCall().once();
-      dbAccessor.setColumnNullable("viewinstancedata", "value", true);
-      expectLastCall().once();
-
-      // Create DDL sections with their own capture groups
-      // Example: AlertSectionDDL alertSectionDDL = new AlertSectionDDL();
-
-      // Execute any DDL schema changes
-      // Example: alertSectionDDL.execute(dbAccessor);
-
-      // Replay sections
-      replayAll();
-
-      AbstractUpgradeCatalog upgradeCatalog = getUpgradeCatalog(dbAccessor, osFamily, entityManagerProvider.get());
-      Class<?> c = AbstractUpgradeCatalog.class;
-      Field f = c.getDeclaredField("configuration");
-      f.setAccessible(true);
-      f.set(upgradeCatalog, configuration);
-
-      f = UpgradeCatalog211.class.getDeclaredField("m_hcsId");
-      f.setAccessible(true);
-      f.set(upgradeCatalog, new AtomicLong(1001));
-
-      upgradeCatalog.executeDDLUpdates();
-      verifyAll();
-
-      Assert.assertTrue(queryCapture.hasCaptured());
-      Assert.assertTrue(queryCapture.getValue().contains("1001"));
-
-      // Verify sections
-      // Example: alertSectionDDL.verify(dbAccessor);
-    } finally {
-      destroyInjector(injector);
-    }
-  }
-
-  @Test
-  public void testExecutePreDMLUpdates() throws Exception {
-
-    final UpgradeCatalog211 upgradeCatalog211 = createMockBuilder(UpgradeCatalog211.class)
-        // Add mocked methods. Example: .addMockedMethod(cleanupStackUpdates)
-        .createMock();
-
-    final Injector injector = Guice.createInjector(new AbstractModule() {
-      @Override
-      protected void configure() {
-        bind(UpgradeCatalog211.class).toInstance(upgradeCatalog211);
-        bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
-        bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
-      }
-    });
-
-    setInjector(upgradeCatalog211, injector);
-
-    replayAll();
-
-    injector.getInstance(UpgradeCatalog211.class).executePreDMLUpdates();
-
-    verifyAll();
-  }
-
-  @Test
-  public void testExecuteDMLUpdates() throws Exception {
-    final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-    final OsFamily osFamily = createNiceMock(OsFamily.class);
-
-    final Cluster cluster = createMock(Cluster.class);
-
-    final Clusters clusters = createMock(Clusters.class);
-    expect(clusters.getClusters())
-        .andReturn(Collections.singletonMap("c1", cluster));
-
-    final AmbariManagementController controller = createNiceMock(AmbariManagementController.class);
-    expect(controller.getClusters())
-        .andReturn(clusters)
-        .once();
-
-    final Injector injector = Guice.createInjector(new AbstractModule() {
-      @Override
-      protected void configure() {
-        bind(AmbariManagementController.class).toInstance(controller);
-        bind(DBAccessor.class).toInstance(dbAccessor);
-        bind(OsFamily.class).toInstance(osFamily);
-      }
-    });
-
-    Method addNewConfigurationsFromXml =
-        AbstractUpgradeCatalog.class.getDeclaredMethod("addNewConfigurationsFromXml");
-
-    Method updateKerberosConfigurations =
-        UpgradeCatalog211.class.getDeclaredMethod("updateKerberosConfigurations", Cluster.class);
-
-    UpgradeCatalog211 upgradeCatalog211 = createMockBuilder(UpgradeCatalog211.class)
-        .addMockedMethod(addNewConfigurationsFromXml)
-        .addMockedMethod(updateKerberosConfigurations)
-        .createMock();
-
-    setInjector(upgradeCatalog211, injector);
-
-    upgradeCatalog211.addNewConfigurationsFromXml();
-    expectLastCall().once();
-
-    upgradeCatalog211.updateKerberosConfigurations(anyObject(Cluster.class));
-    expectLastCall().once();
-
-    replayAll();
-
-    upgradeCatalog211.executeDMLUpdates();
-
-    verifyAll();
-  }
-
-  @Test
-  public void testUpdateKerberosConfiguration() throws Exception {
-    final AmbariManagementController controller = createNiceMock(AmbariManagementController.class);
-    final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-    final OsFamily osFamily = createNiceMock(OsFamily.class);
-
-    final Map<String, String> propertiesKerberosEnv = new HashMap<String, String>() {
-      {
-        put("create_attributes_template", "create_attributes_template content");
-        put("realm", "EXAMPLE.COM");
-        put("container_dn", "");
-        put("ldap_url", "");
-        put("encryption_types", "aes des3-cbc-sha1 rc4 des-cbc-md5");
-        put("kdc_host", "c6407.ambari.apache.org");
-        put("admin_server_host", "c6407.ambari.apache.org");
-        put("kdc_type", "mit-kdc");
-      }
-    };
-
-    final Config configKerberosEnv = createNiceMock(Config.class);
-    expect(configKerberosEnv.getProperties()).andReturn(propertiesKerberosEnv).anyTimes();
-    expect(configKerberosEnv.getTag()).andReturn("tag1").anyTimes();
-
-    final Cluster cluster = createNiceMock(Cluster.class);
-    expect(cluster.getDesiredConfigByType("kerberos-env")).andReturn(configKerberosEnv).once();
-
-    final Injector injector = Guice.createInjector(new AbstractModule() {
-      @Override
-      protected void configure() {
-        bind(AmbariManagementController.class).toInstance(controller);
-        bind(DBAccessor.class).toInstance(dbAccessor);
-        bind(OsFamily.class).toInstance(osFamily);
-      }
-    });
-
-    /* *********************************************************
-     * Expects for updateConfigurationPropertiesForCluster
-     * **** */
-    expect(cluster.getConfigsByType("kerberos-env"))
-        .andReturn(Collections.singletonMap("tag1", configKerberosEnv))
-        .once();
-
-    expect(cluster.getDesiredConfigByType("kerberos-env"))
-        .andReturn(configKerberosEnv)
-        .once();
-
-    Capture<ConfigurationRequest> captureCR = EasyMock.newCapture();
-    Capture<Cluster> clusterCapture = newCapture();
-    Capture<String> typeCapture = newCapture();
-    Capture<Map<String, String>> propertiesCapture = newCapture();
-    Capture<String> tagCapture = newCapture();
-    Capture<Map<String, Map<String, String>>> attributesCapture = newCapture();
-
-
-    expect(controller.createConfig(capture(clusterCapture), anyObject(StackId.class),capture(typeCapture),
-        capture(propertiesCapture), capture(tagCapture), capture(attributesCapture) ))
-        .andReturn(createNiceMock(Config.class))
-        .once();
-
-    /* ****
-     * Expects for updateConfigurationPropertiesForCluster (end)
-     * ********************************************************* */
-
-    replayAll();
-
-    injector.getInstance(UpgradeCatalog211.class).updateKerberosConfigurations(cluster);
-
-    verifyAll();
-
-    Map<String, String> capturedCRProperties = propertiesCapture.getValue();
-    Assert.assertNotNull(capturedCRProperties);
-    Assert.assertFalse(capturedCRProperties.containsKey("create_attributes_template"));
-    Assert.assertTrue(capturedCRProperties.containsKey("ad_create_attributes_template"));
-
-    for (String property : propertiesKerberosEnv.keySet()) {
-      if ("create_attributes_template".equals(property)) {
-        Assert.assertEquals("create_attributes_template/ad_create_attributes_template", propertiesKerberosEnv.get(property), capturedCRProperties.get("ad_create_attributes_template"));
-      } else {
-        Assert.assertEquals(property, propertiesKerberosEnv.get(property), capturedCRProperties.get(property));
-      }
-    }
-  }
-
-  @Test
-  public void testGetSourceVersion() {
-    final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-    final OsFamily osFamily = createNiceMock(OsFamily.class);
-    Provider<EntityManager> entityManagerProvider = initEntityManagerProvider();
-
-    replayAll();
-
-    UpgradeCatalog upgradeCatalog = getUpgradeCatalog(dbAccessor, osFamily, entityManagerProvider.get());
-
-    Assert.assertEquals("2.1.0", upgradeCatalog.getSourceVersion());
-
-    verifyAll();
-  }
-
-  @Test
-  public void testGetTargetVersion() throws Exception {
-    final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
-    final OsFamily osFamily = createNiceMock(OsFamily.class);
-    Provider<EntityManager> entityManagerProvider = initEntityManagerProvider();
-
-    replayAll();
-
-    UpgradeCatalog upgradeCatalog = getUpgradeCatalog(dbAccessor, osFamily, entityManagerProvider.get());
-
-    Assert.assertEquals("2.1.1", upgradeCatalog.getTargetVersion());
-
-    verifyAll();
-  }
-
-  private Provider<EntityManager> initEntityManagerProvider() {
-    Provider<EntityManager> entityManagerProvider = createStrictMock(Provider.class);
-
-    EntityManager entityManager = createNiceMock(EntityManager.class);
-    expect(entityManagerProvider.get())
-        .andReturn(entityManager)
-        .anyTimes();
-
-    return entityManagerProvider;
-  }
-
-  private Injector initInjector() {
-    Injector injector;
-
-    injector = Guice.createInjector(new InMemoryDefaultTestModule());
-    injector.getInstance(GuiceJpaInitializer.class);
-
-    // inject AmbariMetaInfo to ensure that stacks get populated in the DB
-    injector.getInstance(AmbariMetaInfo.class);
-
-    // load the stack entity
-    StackDAO stackDAO = injector.getInstance(StackDAO.class);
-    stackDAO.find("HDP", "2.2.0");
-
-    return injector;
-  }
-
-  private void destroyInjector(Injector injector) {
-    injector.getInstance(PersistService.class).stop();
-  }
-
-  private AbstractUpgradeCatalog getUpgradeCatalog(final DBAccessor dbAccessor, final OsFamily osFamily, final EntityManager entityManager) {
-    Module module = new Module() {
-      @Override
-      public void configure(Binder binder) {
-        binder.bind(DBAccessor.class).toInstance(dbAccessor);
-        binder.bind(OsFamily.class).toInstance(osFamily);
-        binder.bind(EntityManager.class).toInstance(entityManager);
-      }
-    };
-
-    Injector injector = Guice.createInjector(module);
-    return injector.getInstance(UpgradeCatalog211.class);
-  }
-
-  private void setInjector(UpgradeCatalog211 upgradeCatalog211, Injector injector) throws NoSuchFieldException, IllegalAccessException {
-    Field fieldInjector = AbstractUpgradeCatalog.class.getDeclaredField("injector");
-    if (fieldInjector != null) {
-      fieldInjector.set(upgradeCatalog211, injector);
-    }
-  }
-
-  // *********** Inner Classes that represent sections of the DDL ***********
-  // ************************************************************************
-
-  /*
-   * Example *SectionDDL class
-   */
-  /*
-  class AlertSectionDDL implements SectionDDL {
-    HashMap<String, Capture<String>> stringCaptures;
-    HashMap<String, Capture<Class>> classCaptures;
-
-
-    public AlertSectionDDL() {
-      stringCaptures = new HashMap<String, Capture<String>>();
-      classCaptures = new HashMap<String, Capture<Class>>();
-
-      Capture<String> textCaptureC = EasyMock.newCapture();
-      Capture<String> textCaptureH = EasyMock.newCapture();
-      Capture<Class>  classFromC = EasyMock.newCapture();
-      Capture<Class>  classFromH = EasyMock.newCapture();
-      Capture<Class>  classToC = EasyMock.newCapture();
-      Capture<Class>  classToH = EasyMock.newCapture();
-
-      stringCaptures.put("textCaptureC", textCaptureC);
-      stringCaptures.put("textCaptureH", textCaptureH);
-      classCaptures.put("classFromC", classFromC);
-      classCaptures.put("classFromH", classFromH);
-      classCaptures.put("classToC", classToC);
-      classCaptures.put("classToH", classToH);
-    }
-
-    @Override
-    public void execute(DBAccessor dbAccessor) throws SQLException {
-      Capture<String> textCaptureC = stringCaptures.get("textCaptureC");
-      Capture<String> textCaptureH = stringCaptures.get("textCaptureH");
-      Capture<Class>  classFromC = classCaptures.get("classFromC");
-      Capture<Class>  classFromH = classCaptures.get("classFromH");
-      Capture<Class>  classToC = classCaptures.get("classToC");
-      Capture<Class>  classToH = classCaptures.get("classToH");
-
-      dbAccessor.changeColumnType(eq("alert_current"), capture(textCaptureC), capture(classFromC), capture(classToC));
-      dbAccessor.changeColumnType(eq("alert_history"), capture(textCaptureH), capture(classFromH), capture(classToH));
-    }
-
-    @Override
-    public void verify(DBAccessor dbAccessor) throws SQLException {
-      Capture<String> textCaptureC = stringCaptures.get("textCaptureC");
-      Capture<String> textCaptureH = stringCaptures.get("textCaptureH");
-      Capture<Class>  classFromC = classCaptures.get("classFromC");
-      Capture<Class>  classFromH = classCaptures.get("classFromH");
-      Capture<Class>  classToC = classCaptures.get("classToC");
-      Capture<Class>  classToH = classCaptures.get("classToH");
-
-      Assert.assertEquals("latest_text", textCaptureC.getValue());
-      Assert.assertEquals(String.class, classFromC.getValue());
-      Assert.assertEquals(char[].class, classToC.getValue());
-
-      Assert.assertEquals("alert_text", textCaptureH.getValue());
-      Assert.assertEquals(String.class, classFromH.getValue());
-      Assert.assertEquals(char[].class, classToH.getValue());
-    }
-  }
-  */
-}