Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 86c2cda7e -> 724da0864


AMBARI-18601 : Analyze and Optimize Ambari Server Unit Tests - Group 4 (Commit 
1) (avijayan)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/724da086
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/724da086
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/724da086

Branch: refs/heads/branch-2.5
Commit: 724da086472793b580a3a228bab31979143a1aff
Parents: 86c2cda
Author: Aravindan Vijayan <avija...@hortonworks.com>
Authored: Fri Oct 14 11:30:54 2016 -0700
Committer: Aravindan Vijayan <avija...@hortonworks.com>
Committed: Fri Oct 14 11:30:54 2016 -0700

----------------------------------------------------------------------
 .../timeline/AMSPropertyProviderTest.java       |  95 ++++++-------
 .../ambari/server/state/ConfigHelperTest.java   | 139 ++++++++++++++-----
 .../server/upgrade/UpgradeCatalog220Test.java   |  20 +--
 3 files changed, 156 insertions(+), 98 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/724da086/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/AMSPropertyProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/AMSPropertyProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/AMSPropertyProviderTest.java
index 05fa880..251327f 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/AMSPropertyProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/AMSPropertyProviderTest.java
@@ -40,6 +40,7 @@ import org.apache.ambari.server.controller.spi.TemporalInfo;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.ambari.server.security.TestAuthenticationFactory;
 import org.apache.ambari.server.security.authorization.AuthorizationException;
+import 
org.apache.ambari.server.security.authorization.internal.InternalAuthenticationToken;
 import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Clusters;
 import org.apache.ambari.server.state.ComponentInfo;
@@ -47,8 +48,11 @@ import org.apache.ambari.server.state.StackId;
 import org.apache.http.client.utils.URIBuilder;
 import org.easymock.EasyMock;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Matchers;
@@ -112,75 +116,41 @@ public class AMSPropertyProviderTest {
   @Before
   public void setupCache() {
     cacheEntryFactory = new TimelineMetricCacheEntryFactory(new 
Configuration());
+    InternalAuthenticationToken authenticationToken = new 
InternalAuthenticationToken("admin");
+    authenticationToken.setAuthenticated(true);
+    SecurityContextHolder.getContext().setAuthentication(authenticationToken);
   }
 
-  @After
-  public void clearAuthentication() {
-    SecurityContextHolder.getContext().setAuthentication(null);
-  }
+  //    SecurityContextHolder.getContext().setAuthentication(null);
 
   @Test
-  public void testAMSPropertyProviderAsClusterAdministrator() throws Exception 
{
-    //Setup user with Role 'ClusterAdministrator'.
-    
SecurityContextHolder.getContext().setAuthentication(TestAuthenticationFactory.createClusterAdministrator("ClusterAdmin",
 2L));
+  public void testRbacForAMSPropertyProvider() throws Exception {
 
+    SecurityContextHolder.getContext().setAuthentication(null);
+    //Cluster Administrator
+    
SecurityContextHolder.getContext().setAuthentication(TestAuthenticationFactory.createClusterAdministrator("ClusterAdmin",
 2L));
     SecurityContextHolder.getContext();
     testPopulateResourcesForSingleHostMetric();
-    testPopulateResourcesForSingleHostMetricPointInTime();
-    testPopulateResourcesForMultipleHostMetricscPointInTime();
-    testPopulateResourcesForMultipleHostMetrics();
-    testPopulateResourcesForRegexpMetrics();
-    testPopulateResourcesForSingleComponentMetric();
-    testPopulateMetricsForEmbeddedHBase();
-    testAggregateFunctionForComponentMetrics();
-    testFilterOutOfBandMetricData();
-    testPopulateResourcesForHostComponentHostMetrics();
-    testPopulateResourcesForHostComponentMetricsForMultipleHosts();
-    testPopulateResourcesHostBatches();
-    testPopulateResourcesForMultipleComponentsMetric();
-  }
-
-  @Test
-  public void testAMSPropertyProviderAsAdministrator() throws Exception {
-    //Setup user with Role 'Administrator'
-    
SecurityContextHolder.getContext().setAuthentication(TestAuthenticationFactory.createAdministrator("Admin"));
-
-    testPopulateResourcesForSingleHostMetric();
-    testPopulateResourcesForSingleHostMetricPointInTime();
-    testPopulateResourcesForMultipleHostMetricscPointInTime();
-    testPopulateResourcesForMultipleHostMetrics();
-    testPopulateResourcesForRegexpMetrics();
-    testPopulateResourcesForSingleComponentMetric();
-    testPopulateMetricsForEmbeddedHBase();
-    testAggregateFunctionForComponentMetrics();
-    testFilterOutOfBandMetricData();
-    testPopulateResourcesForHostComponentHostMetrics();
-    testPopulateResourcesForHostComponentMetricsForMultipleHosts();
-    testPopulateResourcesHostBatches();
-    testPopulateResourcesForMultipleComponentsMetric();
-  }
 
-  @Test
-  public void testAMSPropertyProviderAsServiceAdministrator() throws Exception 
{
+    SecurityContextHolder.getContext().setAuthentication(null);
     //Setup user with 'ServiceAdministrator'
     
SecurityContextHolder.getContext().setAuthentication(TestAuthenticationFactory.createServiceAdministrator("ServiceAdmin",
 2L));
-
-    testPopulateResourcesForSingleHostMetric();
+    SecurityContextHolder.getContext();
     testPopulateResourcesForSingleHostMetricPointInTime();
-    testPopulateResourcesForMultipleHostMetricscPointInTime();
-    testPopulateResourcesForMultipleHostMetrics();
-    testPopulateResourcesForRegexpMetrics();
-    testPopulateResourcesForSingleComponentMetric();
-    testPopulateMetricsForEmbeddedHBase();
-    testAggregateFunctionForComponentMetrics();
-    testFilterOutOfBandMetricData();
-    testPopulateResourcesForHostComponentHostMetrics();
-    testPopulateResourcesForHostComponentMetricsForMultipleHosts();
-    testPopulateResourcesHostBatches();
-    testPopulateResourcesForMultipleComponentsMetric();
+
+    SecurityContextHolder.getContext().setAuthentication(null);
+    // Setup user with 'ViewUser'
+    // ViewUser doesn't have the 'CLUSTER_VIEW_METRICS', 'HOST_VIEW_METRICS' 
and 'SERVICE_VIEW_METRICS', thus
+    // can't retrieve the Metrics.    
SecurityContextHolder.getContext().setAuthentication(TestAuthenticationFactory.createViewUser("ViewUser",
 2L));
+    SecurityContextHolder.getContext();
+    try {
+      testPopulateResourcesForMultipleHostMetricscPointInTime();
+    } catch (Exception e) {
+      Assert.assertTrue(e instanceof AuthorizationException);
+    }
   }
 
-  @Test(expected = AuthorizationException.class)
+  @Ignore
   public void testAMSPropertyProviderAsViewUser() throws Exception {
     // Setup user with 'ViewUser'
     // ViewUser doesn't have the 'CLUSTER_VIEW_METRICS', 'HOST_VIEW_METRICS' 
and 'SERVICE_VIEW_METRICS', thus
@@ -202,6 +172,7 @@ public class AMSPropertyProviderTest {
     testPopulateResourcesForMultipleComponentsMetric();
   }
 
+  @Test
   public void testPopulateResourcesForSingleHostMetric() throws Exception {
     setUpCommonMocks();
     TestStreamProvider streamProvider = new 
TestStreamProvider(SINGLE_HOST_METRICS_FILE_PATH);
@@ -247,6 +218,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(111, val.length);
   }
 
+  @Test
   public void testPopulateResourcesForSingleHostMetricPointInTime() throws 
Exception {
     setUpCommonMocks();
 
@@ -293,6 +265,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(41.088, val, 0.001);
   }
 
+  @Test
   public void testPopulateResourcesForMultipleHostMetricscPointInTime() throws 
Exception {
     setUpCommonMocks();
     TestStreamProvider streamProvider = new 
TestStreamProvider(MULTIPLE_HOST_METRICS_FILE_PATH);
@@ -348,6 +321,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(2.47025664E8, val2, 0.1);
   }
 
+  @Test
   public void testPopulateResourcesForMultipleHostMetrics() throws Exception {
     setUpCommonMocks();
     TestStreamProvider streamProvider = new 
TestStreamProvider(MULTIPLE_HOST_METRICS_FILE_PATH);
@@ -411,6 +385,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(86, val.length);
   }
 
+  @Test
   public void testPopulateResourcesForRegexpMetrics() throws Exception {
     setUpCommonMocks();
     TestStreamProvider streamProvider = new 
TestStreamProvider(MULTIPLE_COMPONENT_REGEXP_METRICS_FILE_PATH);
@@ -466,6 +441,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(238, val.length);
   }
 
+  @Test
   public void testPopulateResourcesForSingleComponentMetric() throws Exception 
{
     setUpCommonMocks();
     TestStreamProvider streamProvider = new 
TestStreamProvider(SINGLE_COMPONENT_METRICS_FILE_PATH);
@@ -515,6 +491,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(238, val.length);
   }
 
+  @Test
   public void testPopulateResourcesForMultipleComponentsMetric() throws 
Exception {
     setUpCommonMocks();
     TestStreamProvider streamProvider = new 
TestStreamProvider(SINGLE_COMPONENT_METRICS_FILE_PATH);
@@ -567,6 +544,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(2, allSpecs.size());
   }
 
+  @Test
   public void testPopulateMetricsForEmbeddedHBase() throws Exception {
     AmbariManagementController ams = 
createNiceMock(AmbariManagementController.class);
     PowerMock.mockStatic(AmbariServer.class);
@@ -640,6 +618,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(189, val.length);
   }
 
+  @Test
   public void testAggregateFunctionForComponentMetrics() throws Exception {
     AmbariManagementController ams = 
createNiceMock(AmbariManagementController.class);
     PowerMock.mockStatic(AmbariServer.class);
@@ -713,6 +692,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(32, val.length);
   }
 
+  @Test
   public void testFilterOutOfBandMetricData() throws Exception {
     setUpCommonMocks();
     TestStreamProvider streamProvider = new 
TestStreamProvider(SINGLE_HOST_METRICS_FILE_PATH);
@@ -783,6 +763,7 @@ public class AMSPropertyProviderTest {
     }
   }
 
+  @Test
   public void testPopulateResourcesForHostComponentHostMetrics() throws 
Exception {
     setUpCommonMocks();
     TestStreamProviderForHostComponentHostMetricsTest streamProvider =
@@ -888,6 +869,7 @@ public class AMSPropertyProviderTest {
     }
   }
 
+  @Test
   public void testPopulateResourcesHostBatches() throws Exception {
     setUpCommonMocks();
     TestStreamProviderForHostComponentMultipleHostsMetricsTest streamProvider =
@@ -939,6 +921,7 @@ public class AMSPropertyProviderTest {
     Assert.assertEquals(2, allSpecs.size());
   }
 
+  @Test
   public void testPopulateResourcesForHostComponentMetricsForMultipleHosts() 
throws Exception {
     setUpCommonMocks();
     TestStreamProviderForHostComponentMultipleHostsMetricsTest streamProvider =

http://git-wip-us.apache.org/repos/asf/ambari/blob/724da086/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
index 37a48f0..fd6ce1e 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
@@ -63,7 +63,9 @@ import org.apache.ambari.server.state.host.HostFactory;
 import org.apache.ambari.server.state.stack.OsFamily;
 import org.apache.ambari.server.utils.SynchronousThreadPoolExecutor;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.experimental.runners.Enclosed;
 import org.junit.runner.RunWith;
@@ -84,17 +86,17 @@ import junit.framework.Assert;
 public class ConfigHelperTest {
   public static class RunWithInMemoryDefaultTestModule {
     private final static Logger LOG = 
LoggerFactory.getLogger(ConfigHelperTest.class);
-    private Clusters clusters;
-    private Injector injector;
-    private String clusterName;
-    private Cluster cluster;
-    private ConfigGroupFactory configGroupFactory;
-    private ConfigHelper configHelper;
-    private AmbariManagementController managementController;
-    private AmbariMetaInfo metaInfo;
-
-    @Before
-    public void setup() throws Exception {
+    private static Clusters clusters;
+    private static Injector injector;
+    private static String clusterName;
+    private static Cluster cluster;
+    private static ConfigGroupFactory configGroupFactory;
+    private static ConfigHelper configHelper;
+    private static AmbariManagementController managementController;
+    private static AmbariMetaInfo metaInfo;
+
+    @BeforeClass
+    public static void setup() throws Exception {
       // Set the authenticated user
       // TODO: remove this or replace the authenticated user to test 
authorization rules
       
SecurityContextHolder.getContext().setAuthentication(TestAuthenticationFactory.createAdministrator("admin"));
@@ -183,6 +185,57 @@ public class ConfigHelperTest {
         add(clusterRequest3);
       }}, null);
 
+
+      //Another version of core-site & global.
+      // core-site2
+      ConfigurationRequest crr = new ConfigurationRequest();
+      crr.setClusterName(clusterName);
+      crr.setType("core-site2");
+      crr.setVersionTag("version1");
+      crr.setProperties(new HashMap<String, String>() {{
+        put("ipc.client.connect.max.retries", "30");
+        put("fs.trash.interval", "30");
+      }});
+      crr.setPropertiesAttributes(new HashMap<String, Map<String, String>>() {{
+        Map<String, String> attrs = new HashMap<String, String>();
+        attrs.put("ipc.client.connect.max.retries", "1");
+        attrs.put("fs.trash.interval", "2");
+        put("attribute1", attrs);
+      }});
+
+      final ClusterRequest clusterRequestDup =
+        new ClusterRequest(cluster.getClusterId(), clusterName,
+          cluster.getDesiredStackVersion().getStackVersion(), null);
+
+      clusterRequestDup.setDesiredConfig(Collections.singletonList(crr));
+      managementController.updateClusters(new HashSet<ClusterRequest>() {{
+        add(clusterRequestDup);
+      }}, null);
+
+      // global
+      crr.setType("global2");
+      crr.setVersionTag("version1");
+      crr.setProperties(new HashMap<String, String>() {{
+        put("dfs_namenode_name_dir", "/hadoop/hdfs/namenode");
+        put("namenode_heapsize", "1024");
+      }});
+      crr.setPropertiesAttributes(new HashMap<String, Map<String, String>>() {{
+        Map<String, String> attrs = new HashMap<String, String>();
+        attrs.put("dfs_namenode_name_dir", "3");
+        attrs.put("namenode_heapsize", "4");
+        put("attribute2", attrs);
+      }});
+
+      final ClusterRequest clusterRequestGlobalDup =
+        new ClusterRequest(cluster.getClusterId(), clusterName,
+          cluster.getDesiredStackVersion().getStackVersion(), null);
+
+      clusterRequestGlobalDup.setDesiredConfig(Collections.singletonList(crr));
+      managementController.updateClusters(new HashSet<ClusterRequest>() {{
+        add(clusterRequestGlobalDup);
+      }}, null);
+
+
       // oozie-site
       ConfigurationRequest cr4 = new ConfigurationRequest();
       cr4.setClusterName(clusterName);
@@ -202,10 +255,30 @@ public class ConfigHelperTest {
       managementController.updateClusters(new HashSet<ClusterRequest>() {{
         add(clusterRequest4);
       }}, null);
+
+      // ams-site
+      ConfigurationRequest cr5 = new ConfigurationRequest();
+      cr5.setClusterName(clusterName);
+      cr5.setType("ams-site");
+      cr5.setVersionTag("version1");
+      cr5.setProperties(new HashMap<String, String>() {{
+        put("timeline.service.operating.mode", "embedded");
+        put("timeline.service.fifo.enabled", "false");
+      }});
+      cr4.setPropertiesAttributes(null);
+
+      final ClusterRequest clusterRequest5 =
+        new ClusterRequest(cluster.getClusterId(), clusterName,
+          cluster.getDesiredStackVersion().getStackVersion(), null);
+
+      clusterRequest5.setDesiredConfig(Collections.singletonList(cr5));
+      managementController.updateClusters(new HashSet<ClusterRequest>() {{
+        add(clusterRequest5);
+      }}, null);
     }
 
-    @After
-    public void tearDown() {
+    @AfterClass
+    public static void tearDown() {
       injector.getInstance(PersistService.class).stop();
 
       // Clear the authenticated user
@@ -346,7 +419,7 @@ public class ConfigHelperTest {
       properties2.put("namenode_heapsize", "1111");
       config2.setProperties(properties2);
 
-      Long groupId = addConfigGroup("g1", "t1", new ArrayList<String>() {{
+      Long groupId = addConfigGroup("g2", "t1", new ArrayList<String>() {{
         add("h1");
       }}, new ArrayList<Config>() {{
         add(config1);
@@ -373,7 +446,7 @@ public class ConfigHelperTest {
 
     @Test
     public void testEffectivePropertiesAttributesWithOverrides() throws 
Exception {
-      final Config config1 = new ConfigImpl("core-site");
+      final Config config1 = new ConfigImpl("core-site2");
       config1.setTag("version122");
 
       Map<String, String> attributes = new HashMap<String, String>();
@@ -383,7 +456,7 @@ public class ConfigHelperTest {
       config1Attributes.put("attribute1", attributes);
       config1.setPropertiesAttributes(config1Attributes);
 
-      final Config config2 = new ConfigImpl("global");
+      final Config config2 = new ConfigImpl("global2");
       config2.setTag("version122");
       attributes = new HashMap<String, String>();
       attributes.put("namenode_heapsize", "z");
@@ -392,8 +465,8 @@ public class ConfigHelperTest {
       config2Attributes.put("attribute2", attributes);
       config2.setPropertiesAttributes(config2Attributes);
 
-      Long groupId = addConfigGroup("g1", "t1", new ArrayList<String>() {{
-        add("h1");
+      Long groupId = addConfigGroup("g3", "t1", new ArrayList<String>() {{
+        add("h2");
       }}, new ArrayList<Config>() {{
         add(config1);
         add(config2);
@@ -403,13 +476,13 @@ public class ConfigHelperTest {
 
       Map<String, Map<String, Map<String, String>>> effectiveAttributes = 
configHelper
           .getEffectiveConfigAttributes(cluster,
-              configHelper.getEffectiveDesiredTags(cluster, "h1"));
+              configHelper.getEffectiveDesiredTags(cluster, "h2"));
 
       Assert.assertNotNull(effectiveAttributes);
-      Assert.assertEquals(4, effectiveAttributes.size());
+      Assert.assertEquals(7, effectiveAttributes.size());
 
-      Assert.assertTrue(effectiveAttributes.containsKey("global"));
-      Map<String, Map<String, String>> globalAttrs = 
effectiveAttributes.get("global");
+      Assert.assertTrue(effectiveAttributes.containsKey("global2"));
+      Map<String, Map<String, String>> globalAttrs = 
effectiveAttributes.get("global2");
       Assert.assertEquals(1, globalAttrs.size());
       Assert.assertTrue(globalAttrs.containsKey("attribute2"));
       Map<String, String> attribute2Occurances = globalAttrs.get("attribute2");
@@ -421,8 +494,8 @@ public class ConfigHelperTest {
       Assert.assertTrue(attribute2Occurances.containsKey("c"));
       Assert.assertEquals("q", attribute2Occurances.get("c"));
 
-      Assert.assertTrue(effectiveAttributes.containsKey("core-site"));
-      Map<String, Map<String, String>> coreAttrs = 
effectiveAttributes.get("core-site");
+      Assert.assertTrue(effectiveAttributes.containsKey("core-site2"));
+      Map<String, Map<String, String>> coreAttrs = 
effectiveAttributes.get("core-site2");
       Assert.assertEquals(1, coreAttrs.size());
       Assert.assertTrue(coreAttrs.containsKey("attribute1"));
       Map<String, String> attribute1Occurances = coreAttrs.get("attribute1");
@@ -727,28 +800,28 @@ public class ConfigHelperTest {
 
     @Test
     public void testUpdateConfigTypeRemovals() throws Exception {
-      Config currentConfig = cluster.getDesiredConfigByType("oozie-site");
+      Config currentConfig = cluster.getDesiredConfigByType("ams-site");
       Map<String, String> properties = currentConfig.getProperties();
       // Config tag before update
       Assert.assertEquals("version1", currentConfig.getTag());
       // Properties before update
-      Assert.assertEquals("simple", 
properties.get("oozie.authentication.type"));
-      Assert.assertEquals("false", 
properties.get("oozie.service.HadoopAccessorService.kerberos.enabled"));
+      Assert.assertEquals("embedded", 
properties.get("timeline.service.operating.mode"));
+      Assert.assertEquals("false", 
properties.get("timeline.service.fifo.enabled"));
 
       List<String> removals = new ArrayList<String>();
-      removals.add("oozie.authentication.type");
+      removals.add("timeline.service.operating.mode");
 
-      configHelper.updateConfigType(cluster, managementController, 
"oozie-site", null, removals, "admin", "Test note");
+      configHelper.updateConfigType(cluster, managementController, "ams-site", 
null, removals, "admin", "Test note");
 
-      Config updatedConfig = cluster.getDesiredConfigByType("oozie-site");
+      Config updatedConfig = cluster.getDesiredConfigByType("ams-site");
       // Config tag updated
       Assert.assertFalse("version1".equals(updatedConfig.getTag()));
       // Property removed
       properties = updatedConfig.getProperties();
-      Assert.assertFalse(properties.containsKey("oozie.authentication.type"));
+      
Assert.assertFalse(properties.containsKey("timeline.service.operating.mode"));
       // Property unchanged
-      
Assert.assertTrue(properties.containsKey("oozie.service.HadoopAccessorService.kerberos.enabled"));
-      Assert.assertEquals("false", 
properties.get("oozie.service.HadoopAccessorService.kerberos.enabled"));
+      
Assert.assertTrue(properties.containsKey("timeline.service.fifo.enabled"));
+      Assert.assertEquals("false", 
properties.get("timeline.service.fifo.enabled"));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/ambari/blob/724da086/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog220Test.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog220Test.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog220Test.java
index 7c1605d..2b3764b 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog220Test.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog220Test.java
@@ -77,8 +77,10 @@ import org.easymock.EasyMock;
 import org.easymock.EasyMockSupport;
 import org.easymock.IMocksControl;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 import javax.persistence.EntityManager;
@@ -114,11 +116,11 @@ import static org.junit.Assert.assertTrue;
  * {@link org.apache.ambari.server.upgrade.UpgradeCatalog220} unit tests.
  */
 public class UpgradeCatalog220Test {
-  private Injector injector;
-  private Provider<EntityManager> entityManagerProvider = 
createStrictMock(Provider.class);
-  private EntityManager entityManager = createNiceMock(EntityManager.class);
-  private UpgradeCatalogHelper upgradeCatalogHelper;
-  private StackEntity desiredStackEntity;
+  private static Injector injector;
+  private static Provider<EntityManager> entityManagerProvider = 
createStrictMock(Provider.class);
+  private static EntityManager entityManager = 
createNiceMock(EntityManager.class);
+  private static UpgradeCatalogHelper upgradeCatalogHelper;
+  private static StackEntity desiredStackEntity;
   private AmbariManagementController amc = 
createNiceMock(AmbariManagementController.class);
   private AmbariMetaInfo metaInfo = createNiceMock(AmbariMetaInfo.class);
   private StackDAO stackDAO = createNiceMock(StackDAO.class);
@@ -129,8 +131,8 @@ public class UpgradeCatalog220Test {
 
   private IMocksControl mocksControl = EasyMock.createControl();
 
-  @Before
-  public void init() {
+  @BeforeClass
+  public static void init() {
     reset(entityManagerProvider);
     expect(entityManagerProvider.get()).andReturn(entityManager).anyTimes();
     replay(entityManagerProvider);
@@ -145,8 +147,8 @@ public class UpgradeCatalog220Test {
     desiredStackEntity = stackDAO.find("HDP", "2.2.0");
   }
 
-  @After
-  public void tearDown() {
+  @AfterClass
+  public static void tearDown() {
     injector.getInstance(PersistService.class).stop();
   }
 

Reply via email to