You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2016/09/28 21:27:47 UTC

ambari git commit: AMBARI-18483. Revert db optimization in UT.(vbrodetskyi)

Repository: ambari
Updated Branches:
  refs/heads/trunk 06282e02b -> 392a752d2


AMBARI-18483. Revert db optimization in UT.(vbrodetskyi)


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

Branch: refs/heads/trunk
Commit: 392a752d27ce3d0dd7e044ce8c4ab5e9d10f6e74
Parents: 06282e0
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Wed Sep 28 14:02:38 2016 +0300
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Wed Sep 28 14:03:08 2016 +0300

----------------------------------------------------------------------
 .../server/agent/TestHeartbeatMonitor.java      |  32 +-
 ...ThreadPoolExecutorCompletionServiceTest.java |   2 +-
 .../apache/ambari/server/orm/OrmTestHelper.java |  12 +-
 .../apache/ambari/server/orm/TestOrmImpl.java   |  94 ++---
 .../server/orm/dao/AlertDispatchDAOTest.java    | 419 ++++++-------------
 .../security/authorization/TestUsers.java       | 369 ++++++----------
 .../upgrades/ConfigureActionTest.java           | 104 ++---
 .../upgrades/UpgradeActionTest.java             | 150 ++-----
 .../apache/ambari/server/state/ServiceTest.java | 106 ++---
 .../svccomphost/ServiceComponentHostTest.java   | 167 +++-----
 .../server/upgrade/UpgradeCatalog210Test.java   |  34 +-
 11 files changed, 456 insertions(+), 1033 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
index 63460a2..d121fcb 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
@@ -57,9 +57,7 @@ import org.apache.ambari.server.state.svccomphost.ServiceComponentHostInstallEve
 import org.apache.ambari.server.state.svccomphost.ServiceComponentHostOpSucceededEvent;
 import org.apache.ambari.server.state.svccomphost.ServiceComponentHostStartedEvent;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.slf4j.Logger;
@@ -68,7 +66,6 @@ import org.slf4j.LoggerFactory;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.persist.PersistService;
-import com.google.inject.persist.UnitOfWork;
 
 public class TestHeartbeatMonitor {
 
@@ -86,44 +83,19 @@ public class TestHeartbeatMonitor {
   private static final Logger LOG =
           LoggerFactory.getLogger(TestHeartbeatMonitor.class);
 
-  @BeforeClass
-  public static void classSetUp() {
+  @Before
+  public void setup() throws Exception {
     injector = Guice.createInjector(new InMemoryDefaultTestModule());
     injector.getInstance(GuiceJpaInitializer.class);
     helper = injector.getInstance(OrmTestHelper.class);
     ambariMetaInfo = injector.getInstance(AmbariMetaInfo.class);
   }
 
-  @Before
-  public void setup() throws Exception {
-    cleanup();
-    injector.getInstance(UnitOfWork.class).begin();
-  }
-
   @After
   public void teardown() {
-    injector.getInstance(UnitOfWork.class).end();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
     injector.getInstance(PersistService.class).stop();
   }
 
-  private void cleanup() throws AmbariException {
-    Clusters clusters = injector.getInstance(Clusters.class);
-    Map<String, Cluster> clusterMap = clusters.getClusters();
-
-
-    for (String clusterName : clusterMap.keySet()) {
-      clusters.deleteCluster(clusterName);
-    }
-
-    for (Host host : clusters.getHosts()) {
-      clusters.deleteHost(host.getHostName());
-    }
-  }
-
   private void setOsFamily(Host host, String osFamily, String osVersion) {
     Map<String, String> hostAttributes = new HashMap<String, String>();
     hostAttributes.put("os_family", osFamily);

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/controller/test/BufferedThreadPoolExecutorCompletionServiceTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/test/BufferedThreadPoolExecutorCompletionServiceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/test/BufferedThreadPoolExecutorCompletionServiceTest.java
index ec99ab0..50ed33b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/test/BufferedThreadPoolExecutorCompletionServiceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/test/BufferedThreadPoolExecutorCompletionServiceTest.java
@@ -31,7 +31,7 @@ import org.junit.Test;
 public class BufferedThreadPoolExecutorCompletionServiceTest {
 
   private void longOp() throws InterruptedException {
-    Thread.sleep(1000);
+    Thread.sleep(700);
     System.out.println("Completed " + Thread.currentThread());
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
index 1bfcfb9..de2d292 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
@@ -18,6 +18,8 @@
 
 package org.apache.ambari.server.orm;
 
+import javax.persistence.EntityManager;
+import junit.framework.Assert;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -33,8 +35,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import javax.persistence.EntityManager;
-
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.Role;
 import org.apache.ambari.server.RoleCommand;
@@ -96,8 +96,6 @@ import com.google.inject.Provider;
 import com.google.inject.Singleton;
 import com.google.inject.persist.Transactional;
 
-import junit.framework.Assert;
-
 @Singleton
 public class OrmTestHelper {
 
@@ -501,7 +499,7 @@ public class OrmTestHelper {
     target.setTargetName("Target Name " + System.currentTimeMillis());
 
     alertDispatchDAO.create(target);
-    return alertDispatchDAO.findTargetById(target.getTargetId());
+    return target;
   }
 
   /**
@@ -518,7 +516,7 @@ public class OrmTestHelper {
     target.setGlobal(true);
 
     alertDispatchDAO.create(target);
-    return alertDispatchDAO.findTargetById(target.getTargetId());
+    return target;
   }
 
   /**
@@ -563,7 +561,7 @@ public class OrmTestHelper {
     group.setAlertTargets(targets);
 
     alertDispatchDAO.create(group);
-    return alertDispatchDAO.findGroupById(group.getGroupId());
+    return group;
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/orm/TestOrmImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/TestOrmImpl.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/TestOrmImpl.java
index e72692a..0f6d2e2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/TestOrmImpl.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/TestOrmImpl.java
@@ -48,98 +48,57 @@ import org.apache.ambari.server.orm.entities.StackEntity;
 import org.apache.ambari.server.orm.entities.StageEntity;
 import org.apache.ambari.server.security.authorization.ResourceType;
 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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.inject.Guice;
+import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.persist.PersistService;
-import com.google.inject.persist.UnitOfWork;
 
 public class TestOrmImpl extends Assert {
   private static final Logger log = LoggerFactory.getLogger(TestOrmImpl.class);
+  @Inject
+  private Injector injector;
+  @Inject
+  private StackDAO stackDAO;
+  @Inject
+  private ResourceTypeDAO resourceTypeDAO;
+  @Inject
+  private ClusterDAO clusterDAO;
+  @Inject
+  private OrmTestHelper ormTestHelper;
+  @Inject
+  private ClusterServiceDAO clusterServiceDAO;
+  @Inject
+  private HostRoleCommandDAO hostRoleCommandDAO;
+  @Inject
+  private HostDAO hostDAO;
+  @Inject
+  private StageDAO stageDAO;
+  @Inject
+  private EntityManager entityManager;
+  @Inject
+  private RequestDAO requestDAO;
 
-  private static Injector injector;
-  private static StackDAO stackDAO;
-  private static ResourceTypeDAO resourceTypeDAO;
-  private static ClusterDAO clusterDAO;
-  private static OrmTestHelper ormTestHelper;
-  private static ClusterServiceDAO clusterServiceDAO;
-  private static HostRoleCommandDAO hostRoleCommandDAO;
-  private static HostDAO hostDAO;
-  private static StageDAO stageDAO;
-  private static EntityManager entityManager;
-  private static RequestDAO requestDAO;
-
-  @BeforeClass
-  public static void classSetUp() throws Exception {
+  @Before
+  public void setup() {
     injector = Guice.createInjector(new InMemoryDefaultTestModule());
     injector.getInstance(GuiceJpaInitializer.class);
-
+    injector.injectMembers(this);
     // required to load stack information into the DB
     injector.getInstance(AmbariMetaInfo.class);
-    stackDAO = injector.getInstance(StackDAO.class);
-    resourceTypeDAO = injector.getInstance(ResourceTypeDAO.class);
-    clusterDAO = injector.getInstance(ClusterDAO.class);
-    ormTestHelper = injector.getInstance(OrmTestHelper.class);
-    clusterServiceDAO = injector.getInstance(ClusterServiceDAO.class);
-    hostRoleCommandDAO = injector.getInstance(HostRoleCommandDAO.class);
-    hostDAO = injector.getInstance(HostDAO.class);
-    stageDAO = injector.getInstance(StageDAO.class);
-    entityManager = injector.getInstance(EntityManager.class);
-    requestDAO = injector.getInstance(RequestDAO.class);
-
     ormTestHelper.createDefaultData();
-    injector.getInstance(UnitOfWork.class).end();
-  }
-
-  @Before
-  public void setup() {
-    injector.getInstance(UnitOfWork.class).begin();
   }
 
   @After
   public void teardown() {
-    injector.getInstance(UnitOfWork.class).end();
-    cleanup();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
     injector.getInstance(PersistService.class).stop();
   }
 
-  private void cleanup() {
-
-
-    List<HostRoleCommandEntity> hostRoleCommandEntities = hostRoleCommandDAO.findAll();
-    if (hostRoleCommandEntities != null) {
-      for (HostRoleCommandEntity hostRoleCommandEntity : hostRoleCommandEntities) {
-        hostRoleCommandDAO.remove(hostRoleCommandEntity);
-      }
-    }
-
-    List<StageEntity> stageEntities = stageDAO.findAll();
-    if (stageEntities != null) {
-      for (StageEntity stageEntity : stageEntities) {
-        stageDAO.remove(stageEntity);
-      }
-    }
-
-    List<RequestEntity> requestEntities = requestDAO.findAll();
-    if (requestEntities != null) {
-      for (RequestEntity requestEntity : requestEntities) {
-        requestDAO.remove(requestEntity);
-      }
-    }
-  }
-
   /**
    * persistence provider is responsible for returning empty collection if relation doesn't exists
    */
@@ -333,7 +292,6 @@ public class TestOrmImpl extends Assert {
     assertEquals(1L, stageDAO.getLastRequestId());
   }
 
-  @Ignore
   @Test
   public void testConcurrentModification() throws InterruptedException {
     final StackEntity stackEntity = stackDAO.find("HDP", "2.2.0");

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
index 5697ba0..87afb38 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
@@ -52,12 +52,9 @@ import org.apache.ambari.server.orm.entities.AlertGroupEntity;
 import org.apache.ambari.server.orm.entities.AlertHistoryEntity;
 import org.apache.ambari.server.orm.entities.AlertNoticeEntity;
 import org.apache.ambari.server.orm.entities.AlertTargetEntity;
-import org.apache.ambari.server.orm.entities.HostComponentDesiredStateEntity;
-import org.apache.ambari.server.orm.entities.HostComponentStateEntity;
 import org.apache.ambari.server.state.AlertState;
 import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Clusters;
-import org.apache.ambari.server.state.Host;
 import org.apache.ambari.server.state.NotificationState;
 import org.apache.ambari.server.state.ServiceComponentFactory;
 import org.apache.ambari.server.state.ServiceComponentHostFactory;
@@ -66,9 +63,7 @@ import org.apache.ambari.server.state.alert.Scope;
 import org.apache.ambari.server.state.alert.SourceType;
 import org.apache.ambari.server.utils.EventBusSynchronizer;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 import com.google.inject.Guice;
@@ -83,25 +78,30 @@ public class AlertDispatchDAOTest {
 
   private final static String HOSTNAME = "c6401.ambari.apache.org";
 
-  private static Clusters m_clusters;
-  private static Cluster m_cluster;
-  private static Injector m_injector;
-  private static AlertDispatchDAO m_dao;
-  private static AlertDefinitionDAO m_definitionDao;
-  private static AlertsDAO m_alertsDao;
-  private static OrmTestHelper m_helper;
-  private static HostComponentDesiredStateDAO hostComponentDesiredStateDAO;
-  private static HostComponentStateDAO hostComponentStateDAO;
-
-  private static ServiceFactory m_serviceFactory;
-  private static ServiceComponentFactory m_componentFactory;
-  private static ServiceComponentHostFactory m_schFactory;
-  private static AlertDaoHelper m_alertHelper;
-
-  @BeforeClass
-  public static void classSetUp() throws Exception {
+  private Clusters m_clusters;
+  private Cluster m_cluster;
+  private Injector m_injector;
+  private AlertDispatchDAO m_dao;
+  private AlertDefinitionDAO m_definitionDao;
+  private AlertsDAO m_alertsDao;
+  private OrmTestHelper m_helper;
+  private HostComponentDesiredStateDAO hostComponentDesiredStateDAO;
+  private HostComponentStateDAO hostComponentStateDAO;
+
+  private ServiceFactory m_serviceFactory;
+  private ServiceComponentFactory m_componentFactory;
+  private ServiceComponentHostFactory m_schFactory;
+  private AlertDaoHelper m_alertHelper;
+
+  /**
+   *
+   */
+  @Before
+  public void setup() throws Exception {
     m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
     m_injector.getInstance(GuiceJpaInitializer.class);
+    m_injector.getInstance(UnitOfWork.class).begin();
+
 
     m_dao = m_injector.getInstance(AlertDispatchDAO.class);
     m_alertsDao = m_injector.getInstance(AlertsDAO.class);
@@ -112,8 +112,7 @@ public class AlertDispatchDAOTest {
     m_schFactory = m_injector.getInstance(ServiceComponentHostFactory.class);
     m_clusters = m_injector.getInstance(Clusters.class);
     m_alertHelper = m_injector.getInstance(AlertDaoHelper.class);
-    hostComponentDesiredStateDAO = m_injector.getInstance(HostComponentDesiredStateDAO.class);
-    hostComponentStateDAO = m_injector.getInstance(HostComponentStateDAO.class);
+
 
     // !!! need a synchronous op for testing
     EventBusSynchronizer.synchronizeAmbariEventPublisher(m_injector);
@@ -123,77 +122,18 @@ public class AlertDispatchDAOTest {
   }
 
   /**
-   *
-   */
-  @Before
-  public void setup() throws Exception {
-    m_injector.getInstance(UnitOfWork.class).begin();
-  }
-
-  /**
    * @throws Exception
    */
   @After
   public void teardown() throws Exception {
     m_injector.getInstance(UnitOfWork.class).end();
-    cleanup();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
     m_injector.getInstance(PersistService.class).stop();
   }
 
-  private void cleanup() throws AmbariException {
-    List<AlertGroupEntity> alertGroupEntities = m_dao.findAllGroups();
-    if (alertGroupEntities != null) {
-      for (AlertGroupEntity alertGroupEntity : alertGroupEntities) {
-        m_dao.remove(alertGroupEntity);
-      }
-    }
-
-    List<AlertTargetEntity> alertTargetEntities = m_dao.findAllTargets();
-    if (alertTargetEntities != null) {
-      for (AlertTargetEntity alertTargetEntity : alertTargetEntities) {
-        m_dao.remove(alertTargetEntity);
-      }
-    }
-
-    List<HostComponentDesiredStateEntity> hostComponentDesiredStateEntities = hostComponentDesiredStateDAO.findAll();
-    if (hostComponentDesiredStateEntities != null) {
-      for (HostComponentDesiredStateEntity hcdse : hostComponentDesiredStateEntities) {
-        hostComponentDesiredStateDAO.remove(hcdse);
-      }
-    }
-
-    List<HostComponentStateEntity> hostComponentStateEntities = hostComponentStateDAO.findAll();
-    if (hostComponentStateEntities != null) {
-      for (HostComponentStateEntity hcse : hostComponentStateEntities) {
-        hostComponentStateDAO.remove(hcse);
-      }
-    }
-
-    List<AlertDefinitionEntity> alertDefinitionEntities = m_definitionDao.findAll();
-    if (alertDefinitionEntities != null) {
-      for (AlertDefinitionEntity alertDefinitionEntity : alertDefinitionEntities) {
-        m_definitionDao.remove(alertDefinitionEntity);
-      }
-    }
-
-    m_cluster.deleteAllServices();
-
-    List<Host> hosts = m_clusters.getHosts();
-    if (hosts != null) {
-      for (Host host : hosts) {
-        m_clusters.deleteHost(host.getHostName());
-      }
-    }
-  }
-
   private void initTestData() throws Exception {
     Set<AlertTargetEntity> targets = createTargets();
 
-    for (int i = 0; i < 10; i++) {
+    for (int i = 0; i < 2; i++) {
       AlertGroupEntity group = new AlertGroupEntity();
       group.setDefault(false);
       group.setGroupName("Group Name " + i);
@@ -210,28 +150,26 @@ public class AlertDispatchDAOTest {
    *
    */
   @Test
-  public void testFindAllTargets() throws Exception {
+  public void testFindTargets() throws Exception {
     initTestData();
+    // find all targets
     List<AlertTargetEntity> targets = m_dao.findAllTargets();
     assertNotNull(targets);
-    assertEquals(5, targets.size());
-  }
-
-  /**
-   * @throws Exception
-   */
-  public void testFindTargetsByIds() throws Exception {
-    List<AlertTargetEntity> targets = m_dao.findAllTargets();
-    assertNotNull(targets);
-    assertEquals(5, targets.size());
+    assertEquals(1, targets.size());
 
+    // find by ids
     List<Long> ids = new ArrayList<Long>();
     ids.add(targets.get(0).getTargetId());
-    ids.add(targets.get(1).getTargetId());
     ids.add(99999L);
 
     targets = m_dao.findTargetsById(ids);
-    assertEquals(2, targets.size());
+    assertEquals(1, targets.size());
+
+    //find by name
+    AlertTargetEntity target = targets.get(0);
+
+    AlertTargetEntity actual = m_dao.findTargetByName(target.getTargetName());
+    assertEquals(target, actual);
   }
 
   /**
@@ -259,53 +197,22 @@ public class AlertDispatchDAOTest {
    *
    */
   @Test
-  public void testFindTargetByName() throws Exception {
-    initTestData();
-    List<AlertTargetEntity> targets = m_dao.findAllTargets();
-    assertNotNull(targets);
-    AlertTargetEntity target = targets.get(3);
-
-    AlertTargetEntity actual = m_dao.findTargetByName(target.getTargetName());
-    assertEquals(target, actual);
-  }
-
-  /**
-   *
-   */
-  @Test
-  public void testFindAllGroups() throws Exception {
+  public void testFindGroups() throws Exception {
     initTestData();
+    // find all
     List<AlertGroupEntity> groups = m_dao.findAllGroups();
     assertNotNull(groups);
-    assertEquals(10, groups.size());
-  }
+    assertEquals(2, groups.size());
 
-  /**
-   *
-   */
-  @Test
-  public void testFindGroupByName() throws Exception {
-    initTestData();
-    List<AlertGroupEntity> groups = m_dao.findAllGroups();
-    assertNotNull(groups);
-    AlertGroupEntity group = groups.get(3);
+    //find by name
+    AlertGroupEntity group = groups.get(1);
 
     AlertGroupEntity actual = m_dao.findGroupByName(group.getClusterId(),
-        group.getGroupName());
+            group.getGroupName());
 
     assertEquals(group, actual);
-  }
-
-  /**
-   * @throws Exception
-   */
-  @Test
-  public void testFindGroupsByIds() throws Exception {
-    initTestData();
-    List<AlertGroupEntity> groups = m_dao.findAllGroups();
-    assertNotNull(groups);
-    assertEquals(10, groups.size());
 
+    //find by id
     List<Long> ids = new ArrayList<Long>();
     ids.add(groups.get(0).getGroupId());
     ids.add(groups.get(1).getGroupId());
@@ -313,13 +220,28 @@ public class AlertDispatchDAOTest {
 
     groups = m_dao.findGroupsById(ids);
     assertEquals(2, groups.size());
+
+    // find default group
+    for (AlertGroupEntity alertGroupEntity : groups) {
+      assertFalse(alertGroupEntity.isDefault());
+    }
+
+    Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
+            m_componentFactory, m_schFactory, HOSTNAME);
+
+    AlertGroupEntity hdfsGroup = m_dao.findDefaultServiceGroup(
+            cluster.getClusterId(), "HDFS");
+
+    assertNotNull(hdfsGroup);
+    assertTrue(hdfsGroup.isDefault());
   }
 
   /**
    *
    */
   @Test
-  public void testCreateGroup() throws Exception {
+  public void testCreateUpdateRemoveGroup() throws Exception {
+    // create group
     AlertTargetEntity target = m_helper.createAlertTarget();
     Set<AlertTargetEntity> targets = new HashSet<AlertTargetEntity>();
     targets.add(target);
@@ -333,15 +255,47 @@ public class AlertDispatchDAOTest {
     assertEquals(group.isDefault(), actual.isDefault());
     assertEquals(group.getAlertTargets(), actual.getAlertTargets());
     assertEquals(group.getAlertDefinitions(), actual.getAlertDefinitions());
-  }
 
+    // update group
+    AlertGroupEntity group1 = m_helper.createAlertGroup(
+            m_cluster.getClusterId(), null);
+
+    String groupName = group1.getGroupName();
+
+    group1 = m_dao.findGroupById(group1.getGroupId());
+    group1.setGroupName(groupName + "FOO");
+    group1.setDefault(true);
+
+    m_dao.merge(group1);
+    group = m_dao.findGroupById(group1.getGroupId());
+
+    assertEquals(groupName + "FOO", group1.getGroupName());
+    assertEquals(true, group1.isDefault());
+    assertEquals(0, group1.getAlertDefinitions().size());
+    assertEquals(0, group1.getAlertTargets().size());
+
+    group1.addAlertTarget(target);
+    m_dao.merge(group);
+
+    group1 = m_dao.findGroupById(group1.getGroupId());
+    assertEquals(targets, group1.getAlertTargets());
+
+    // delete group
+    m_dao.remove(group);
+    group = m_dao.findGroupById(group.getGroupId());
+    assertNull(group);
 
+    target = m_dao.findTargetById(target.getTargetId());
+    assertNotNull(target);
+    assertEquals(1, m_dao.findAllTargets().size());
+  }
 
   /**
    *
    */
   @Test
-  public void testCreateTarget() throws Exception {
+  public void testCreateAndRemoveTarget() throws Exception {
+    // create target
     int targetCount = m_dao.findAllTargets().size();
 
     AlertTargetEntity target = m_helper.createAlertTarget();
@@ -367,6 +321,13 @@ public class AlertDispatchDAOTest {
     assertEquals(group, actualGroup);
 
     assertEquals(targetCount + 1, m_dao.findAllTargets().size());
+
+    // remove target
+    m_dao.remove(target);
+
+    target = m_dao.findTargetById(target.getTargetId());
+    assertNull(target);
+
   }
 
   /**
@@ -426,57 +387,6 @@ public class AlertDispatchDAOTest {
   }
 
   /**
-   *
-   */
-  @Test
-  public void testDeleteGroup() throws Exception {
-    int targetCount = m_dao.findAllTargets().size();
-
-    AlertGroupEntity group = m_helper.createAlertGroup(
-        m_cluster.getClusterId(), null);
-    AlertTargetEntity target = m_helper.createAlertTarget();
-    assertEquals(targetCount + 1, m_dao.findAllTargets().size());
-
-    group = m_dao.findGroupById(group.getGroupId());
-    assertNotNull(group);
-    assertNotNull(group.getAlertTargets());
-    assertEquals(0, group.getAlertTargets().size());
-
-    group.addAlertTarget(target);
-    m_dao.merge(group);
-
-    group = m_dao.findGroupById(group.getGroupId());
-    assertNotNull(group);
-    assertNotNull(group.getAlertTargets());
-    assertEquals(1, group.getAlertTargets().size());
-
-    m_dao.remove(group);
-    group = m_dao.findGroupById(group.getGroupId());
-    assertNull(group);
-
-    target = m_dao.findTargetById(target.getTargetId());
-    assertNotNull(target);
-    assertEquals(targetCount + 1, m_dao.findAllTargets().size());
-  }
-
-  /**
-   *
-   */
-  @Test
-  public void testDeleteTarget() throws Exception {
-    AlertTargetEntity target = m_helper.createAlertTarget();
-    target = m_dao.findTargetById(target.getTargetId());
-    assertTrue(target.getAlertStates().size() > 0);
-
-    assertNotNull(target);
-
-    m_dao.remove(target);
-
-    target = m_dao.findTargetById(target.getTargetId());
-    assertNull(target);
-  }
-
-  /**
   *
   */
   @Test
@@ -544,39 +454,6 @@ public class AlertDispatchDAOTest {
   }
 
   /**
-   *
-   */
-  @Test
-  public void testUpdateGroup() throws Exception {
-    AlertTargetEntity target = m_helper.createAlertTarget();
-    Set<AlertTargetEntity> targets = new HashSet<AlertTargetEntity>();
-    targets.add(target);
-
-    String groupName = "Group Name " + System.currentTimeMillis();
-
-    AlertGroupEntity group = m_helper.createAlertGroup(
-        m_cluster.getClusterId(), null);
-
-    group = m_dao.findGroupById(group.getGroupId());
-    group.setGroupName(groupName + "FOO");
-    group.setDefault(true);
-
-    m_dao.merge(group);
-    group = m_dao.findGroupById(group.getGroupId());
-
-    assertEquals(groupName + "FOO", group.getGroupName());
-    assertEquals(true, group.isDefault());
-    assertEquals(0, group.getAlertDefinitions().size());
-    assertEquals(0, group.getAlertTargets().size());
-
-    group.addAlertTarget(target);
-    m_dao.merge(group);
-
-    group = m_dao.findGroupById(group.getGroupId());
-    assertEquals(targets, group.getAlertTargets());
-  }
-
-  /**
    * Tests finding groups by a definition ID that they are associatd with.
    *
    * @throws Exception
@@ -686,10 +563,11 @@ public class AlertDispatchDAOTest {
    */
   @Test
   public void testAlertNoticePredicate() throws Exception {
-    Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
-        m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.addHost(m_clusters, m_cluster, HOSTNAME);
+    m_helper.installHdfsService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.installYarnService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
 
-    m_alertHelper.populateData(cluster);
+    m_alertHelper.populateData(m_cluster);
 
     Predicate clusterPredicate = null;
     Predicate hdfsPredicate = null;
@@ -764,10 +642,11 @@ public class AlertDispatchDAOTest {
    */
   @Test
   public void testAlertNoticePagination() throws Exception {
-    Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
-        m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.addHost(m_clusters, m_cluster, HOSTNAME);
+    m_helper.installHdfsService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.installYarnService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
 
-    m_alertHelper.populateData(cluster);
+    m_alertHelper.populateData(m_cluster);
 
     AlertNoticeRequest request = new AlertNoticeRequest();
     request.Pagination = null;
@@ -805,10 +684,11 @@ public class AlertDispatchDAOTest {
    */
   @Test
   public void testAlertNoticeSorting() throws Exception {
-    Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
-        m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.addHost(m_clusters, m_cluster, HOSTNAME);
+    m_helper.installHdfsService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.installYarnService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
 
-    m_alertHelper.populateData(cluster);
+    m_alertHelper.populateData(m_cluster);
 
     List<SortRequestProperty> sortProperties = new ArrayList<SortRequestProperty>();
     SortRequest sortRequest = new SortRequestImpl(sortProperties);
@@ -864,57 +744,25 @@ public class AlertDispatchDAOTest {
   }
 
   /**
-   *
-   */
-  @Test
-  public void testFindDefaultGroup() throws Exception {
-    initTestData();
-    List<AlertGroupEntity> groups = m_dao.findAllGroups();
-    assertNotNull(groups);
-    assertEquals(10, groups.size());
-
-    for (AlertGroupEntity group : groups) {
-      assertFalse(group.isDefault());
-    }
-
-    Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
-        m_componentFactory, m_schFactory, HOSTNAME);
-
-    AlertGroupEntity hdfsGroup = m_dao.findDefaultServiceGroup(
-        cluster.getClusterId(), "HDFS");
-
-    assertNotNull(hdfsGroup);
-    assertTrue(hdfsGroup.isDefault());
-  }
-
-  /**
    * Tests that when creating a new {@link AlertDefinitionEntity}, if the group
    * for its service does not exist, then it will be created.
    */
   @Test
   public void testDefaultGroupAutomaticCreation() throws Exception {
-    initTestData();
-    List<AlertGroupEntity> groups = m_dao.findAllGroups();
-    assertNotNull(groups);
-    assertEquals(10, groups.size());
-
-    for (AlertGroupEntity group : groups) {
-      assertFalse(group.isDefault());
-    }
-
-    Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
-        m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.addHost(m_clusters, m_cluster, HOSTNAME);
+    m_helper.installHdfsService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
+    //m_helper.installYarnService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
 
     AlertGroupEntity hdfsGroup = m_dao.findDefaultServiceGroup(
-        cluster.getClusterId(), "HDFS");
+            m_cluster.getClusterId(), "HDFS");
 
     // remove the HDFS default group
     m_dao.remove(hdfsGroup);
-    hdfsGroup = m_dao.findDefaultServiceGroup(cluster.getClusterId(), "HDFS");
+    hdfsGroup = m_dao.findDefaultServiceGroup(m_cluster.getClusterId(), "HDFS");
     assertNull(hdfsGroup);
 
     AlertDefinitionEntity datanodeProcess = new AlertDefinitionEntity();
-    datanodeProcess.setClusterId(cluster.getClusterId());
+    datanodeProcess.setClusterId(m_cluster.getClusterId());
     datanodeProcess.setDefinitionName("datanode_process");
     datanodeProcess.setServiceName("HDFS");
     datanodeProcess.setComponentName("DATANODE");
@@ -926,7 +774,7 @@ public class AlertDispatchDAOTest {
     m_definitionDao.create(datanodeProcess);
 
     // the group should be created and should be default
-    hdfsGroup = m_dao.findDefaultServiceGroup(cluster.getClusterId(), "HDFS");
+    hdfsGroup = m_dao.findDefaultServiceGroup(m_cluster.getClusterId(), "HDFS");
     assertNotNull(hdfsGroup);
     assertTrue(hdfsGroup.isDefault());
   }
@@ -939,22 +787,15 @@ public class AlertDispatchDAOTest {
   @Test(expected = AmbariException.class)
   public void testDefaultGroupInvalidServiceNoCreation() throws Exception {
     initTestData();
-    List<AlertGroupEntity> groups = m_dao.findAllGroups();
-    assertNotNull(groups);
-    assertEquals(10, groups.size());
-
-    for (AlertGroupEntity group : groups) {
-      assertFalse(group.isDefault());
-    }
-
-    Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
-        m_componentFactory, m_schFactory, HOSTNAME);
+    m_helper.addHost(m_clusters, m_cluster, HOSTNAME);
+    m_helper.installHdfsService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
+    //m_helper.installYarnService(m_cluster, m_serviceFactory, m_componentFactory, m_schFactory, HOSTNAME);
 
-    assertEquals(12, m_dao.findAllGroups().size());
+    assertEquals(3, m_dao.findAllGroups().size());
 
     // create a definition with an invalid service
     AlertDefinitionEntity datanodeProcess = new AlertDefinitionEntity();
-    datanodeProcess.setClusterId(cluster.getClusterId());
+    datanodeProcess.setClusterId(m_cluster.getClusterId());
     datanodeProcess.setDefinitionName("datanode_process");
     datanodeProcess.setServiceName("INVALID");
     datanodeProcess.setComponentName("DATANODE");
@@ -968,8 +809,7 @@ public class AlertDispatchDAOTest {
       m_definitionDao.create(datanodeProcess);
     } finally {
       // assert no group was added
-      assertEquals(12, m_dao.findAllGroups().size());
-      teardown();
+      assertEquals(3, m_dao.findAllGroups().size());
     }
   }
 
@@ -985,7 +825,9 @@ public class AlertDispatchDAOTest {
     m_helper.installYarnService(m_cluster, m_serviceFactory,
         m_componentFactory, m_schFactory, HOSTNAME);
 
-    for (int i = 0; i < 8; i++) {
+    List<AlertDefinitionEntity> alertDefinitionEntities = new ArrayList<>();
+
+    for (int i = 0; i < 2; i++) {
       AlertDefinitionEntity definition = new AlertDefinitionEntity();
       definition.setDefinitionName("Alert Definition " + i);
       definition.setServiceName("YARN");
@@ -997,11 +839,10 @@ public class AlertDispatchDAOTest {
       definition.setSource("{\"type\" : \"SCRIPT\"}");
       definition.setSourceType(SourceType.SCRIPT);
       m_definitionDao.create(definition);
+      alertDefinitionEntities.add(definition);
     }
 
-    List<AlertDefinitionEntity> alertDefinitions = m_definitionDao.findAll();
-    assertEquals(8, alertDefinitions.size());
-    return alertDefinitions;
+    return alertDefinitionEntities;
   }
 
   /**
@@ -1010,7 +851,7 @@ public class AlertDispatchDAOTest {
    */
   private Set<AlertTargetEntity> createTargets() throws Exception {
     Set<AlertTargetEntity> targets = new HashSet<AlertTargetEntity>();
-    for (int i = 0; i < 5; i++) {
+    for (int i = 0; i < 1; i++) {
       AlertTargetEntity target = new AlertTargetEntity();
       target.setDescription("Target Description " + i);
       target.setNotificationType("EMAIL");

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
index a80cd03..f54ac5c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
@@ -43,9 +43,7 @@ import org.apache.ambari.server.orm.entities.ResourceEntity;
 import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
 import org.apache.ambari.server.orm.entities.UserEntity;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -55,102 +53,77 @@ import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.crypto.password.PasswordEncoder;
 
 import com.google.inject.Guice;
+import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.persist.PersistService;
 
 public class TestUsers {
-  private static Injector injector;
-
-
-  protected static Users users;
-  protected static UserDAO userDAO;
-  protected static GroupDAO groupDAO;
-  protected static PermissionDAO permissionDAO;
-  protected static ResourceDAO resourceDAO;
-  protected static ResourceTypeDAO resourceTypeDAO;
-  protected static PrincipalTypeDAO principalTypeDAO;
-  protected static PrincipalDAO principalDAO;
-  protected static PasswordEncoder passwordEncoder;
-
-
-  @BeforeClass
-  public static void classSetUp() {
-    injector = Guice.createInjector(new InMemoryDefaultTestModule());
-    injector.getInstance(GuiceJpaInitializer.class);
-    users = injector.getInstance(Users.class);
-    userDAO = injector.getInstance(UserDAO.class);
-    groupDAO = injector.getInstance(GroupDAO.class);
-    permissionDAO = injector.getInstance(PermissionDAO.class);
-    resourceDAO = injector.getInstance(ResourceDAO.class);
-    resourceTypeDAO = injector.getInstance(ResourceTypeDAO.class);
-    principalTypeDAO = injector.getInstance(PrincipalTypeDAO.class);
-    principalDAO = injector.getInstance(PrincipalDAO.class);
-    passwordEncoder = injector.getInstance(PasswordEncoder.class);
-  }
+  private Injector injector;
+
+  @Inject
+  protected Users users;
+  @Inject
+  protected UserDAO userDAO;
+  @Inject
+  protected GroupDAO groupDAO;
+  @Inject
+  protected PermissionDAO permissionDAO;
+  @Inject
+  protected ResourceDAO resourceDAO;
+  @Inject
+  protected ResourceTypeDAO resourceTypeDAO;
+  @Inject
+  protected PrincipalTypeDAO principalTypeDAO;
+  @Inject
+  protected PrincipalDAO principalDAO;
+  @Inject
+  protected PasswordEncoder passwordEncoder;
 
   @Before
   public void setup() throws AmbariException {
-    //injector.injectMembers(this);
+    InMemoryDefaultTestModule module = new InMemoryDefaultTestModule();
+    injector = Guice.createInjector(module);
+    injector.getInstance(GuiceJpaInitializer.class);
+    injector.injectMembers(this);
     Authentication auth = new UsernamePasswordAuthenticationToken("admin", null);
     SecurityContextHolder.getContext().setAuthentication(auth);
 
-    if (resourceTypeDAO.findByName(ResourceType.AMBARI.name()) == null) {
-      // create admin permission
-      ResourceTypeEntity resourceTypeEntity = new ResourceTypeEntity();
-      resourceTypeEntity.setId(ResourceType.AMBARI.getId());
-      resourceTypeEntity.setName(ResourceType.AMBARI.name());
-      resourceTypeDAO.create(resourceTypeEntity);
-
-      ResourceEntity resourceEntity = new ResourceEntity();
-      resourceEntity.setId(ResourceEntity.AMBARI_RESOURCE_ID);
-      resourceEntity.setResourceType(resourceTypeEntity);
-      resourceDAO.create(resourceEntity);
-
-      PrincipalTypeEntity principalTypeEntity = new PrincipalTypeEntity();
-      principalTypeEntity.setName("ROLE");
-      principalTypeEntity = principalTypeDAO.merge(principalTypeEntity);
-
-      PrincipalEntity principalEntity = new PrincipalEntity();
-      principalEntity.setPrincipalType(principalTypeEntity);
-      principalEntity = principalDAO.merge(principalEntity);
-
-      PermissionEntity adminPermissionEntity = new PermissionEntity();
-      adminPermissionEntity.setId(PermissionEntity.AMBARI_ADMINISTRATOR_PERMISSION);
-      adminPermissionEntity.setPermissionName(PermissionEntity.AMBARI_ADMINISTRATOR_PERMISSION_NAME);
-      adminPermissionEntity.setPrincipal(principalEntity);
-      adminPermissionEntity.setResourceType(resourceTypeEntity);
-      permissionDAO.create(adminPermissionEntity);
-
-      users.createUser("admin", "admin", UserType.LOCAL, true, true);
-    }
-    cleanup();
-  }
+    // create admin permission
+    ResourceTypeEntity resourceTypeEntity = new ResourceTypeEntity();
+    resourceTypeEntity.setId(ResourceType.AMBARI.getId());
+    resourceTypeEntity.setName(ResourceType.AMBARI.name());
+    resourceTypeDAO.create(resourceTypeEntity);
 
-  @After
-  public void tearDown() throws AmbariException {
+    ResourceEntity resourceEntity = new ResourceEntity();
+    resourceEntity.setId(ResourceEntity.AMBARI_RESOURCE_ID);
+    resourceEntity.setResourceType(resourceTypeEntity);
+    resourceDAO.create(resourceEntity);
+
+    PrincipalTypeEntity principalTypeEntity = new PrincipalTypeEntity();
+    principalTypeEntity.setName("ROLE");
+    principalTypeEntity = principalTypeDAO.merge(principalTypeEntity);
+
+    PrincipalEntity principalEntity = new PrincipalEntity();
+    principalEntity.setPrincipalType(principalTypeEntity);
+    principalEntity = principalDAO.merge(principalEntity);
 
+    PermissionEntity adminPermissionEntity = new PermissionEntity();
+    adminPermissionEntity.setId(PermissionEntity.AMBARI_ADMINISTRATOR_PERMISSION);
+    adminPermissionEntity.setPermissionName(PermissionEntity.AMBARI_ADMINISTRATOR_PERMISSION_NAME);
+    adminPermissionEntity.setPrincipal(principalEntity);
+    adminPermissionEntity.setResourceType(resourceTypeEntity);
+    permissionDAO.create(adminPermissionEntity);
   }
 
-  @AfterClass
-  public static void afterClass() throws Exception {
+  @After
+  public void tearDown() throws AmbariException {
     injector.getInstance(PersistService.class).stop();
   }
 
-  private void cleanup() throws AmbariException {
-    for (User user : users.getAllUsers()) {
-      if (!user.getUserName().equals("admin")) {
-        users.removeUser(user);
-      }
-    }
-
-    for (Group group : users.getAllGroups()) {
-      users.removeGroup(group);
-    }
-  }
 
   @Test
   public void testIsUserCanBeRemoved() throws Exception {
-    //users.createUser("admin", "admin", UserType.LOCAL, true, true);
+    users.createUser("admin", "admin", UserType.LOCAL, true, true);
     users.createUser("admin222", "admin222", UserType.LOCAL, true, true);
 
     Assert.assertTrue(users.isUserCanBeRemoved(userDAO.findUserByName("admin")));
@@ -168,19 +141,8 @@ public class TestUsers {
   }
 
   @Test
-  public void testGetUserIfUnique() throws Exception {
-    users.createUser("user333", "user333", UserType.LOCAL, true, false);
-
-    Assert.assertNotNull(users.getUserIfUnique("user333"));
-
-    users.createUser("user333", "user333", UserType.LDAP, true, false);
-
-    Assert.assertNull(users.getUserIfUnique("user333"));
-  }
-
-  @Test
   public void testModifyPassword_UserByAdmin() throws Exception {
-    users.createUser("new_admin", "new_admin", UserType.LOCAL, true, true);
+    users.createUser("admin", "admin", UserType.LOCAL, true, true);
     users.createUser("user", "user");
 
     UserEntity userEntity = userDAO.findUserByName("user");
@@ -213,80 +175,81 @@ public class TestUsers {
   }
 
   @Test
-  public void testGetGroupMembers() throws Exception {
-    final String groupNameTwoMembers = "engineering";
-    final String groupNameZeroMembers = "management";
-    users.createGroup(groupNameTwoMembers);
-    users.createGroup(groupNameZeroMembers);
+  public void testCreateGetRemoveUser() throws Exception {
     users.createUser("user1", "user1");
-    users.createUser("user2", "user2");
-    users.addMemberToGroup(groupNameTwoMembers, "user1");
-    users.addMemberToGroup(groupNameTwoMembers, "user2");
-
-    assertEquals(users.getGroupMembers(groupNameTwoMembers).size(), 2);
-    assertEquals(users.getGroupMembers(groupNameZeroMembers).size(), 0);
-  }
+    users.createUser("user", "user", UserType.LOCAL, false, false);
+    users.createUser("user_ldap", "user_ldap", UserType.LDAP, true, true);
+    User createdUser = users.getUser("user", UserType.LOCAL);
+    User createdUser1 = users.getAnyUser("user1");
+    User createdLdapUser = users.getUser("user_ldap", UserType.LDAP);
 
-  @Test
-  public void testGetAllUsers() throws Exception {
-    Authentication auth = new UsernamePasswordAuthenticationToken("user", null);
-    SecurityContextHolder.getContext().setAuthentication(auth);
+    Assert.assertEquals("user1", createdUser1.getUserName());
+    Assert.assertEquals(true, createdUser1.isActive());
+    Assert.assertEquals(false, createdUser1.isLdapUser());
+    Assert.assertEquals(false, createdUser1.isAdmin());
 
-    users.createUser("user", "user");
+    Assert.assertEquals("user", createdUser.getUserName());
+    Assert.assertEquals(false, createdUser.isActive());
+    Assert.assertEquals(false, createdUser.isLdapUser());
+    Assert.assertEquals(false, createdUser.isAdmin());
 
-    List<User> userList = users.getAllUsers();
+    Assert.assertEquals("user_ldap", createdLdapUser.getUserName());
+    Assert.assertEquals(true, createdLdapUser.isActive());
+    Assert.assertEquals(true, createdLdapUser.isLdapUser());
+    Assert.assertEquals(true, createdLdapUser.isAdmin());
 
-    assertEquals(2, userList.size());
+    assertEquals("user", users.getAnyUser("user").getUserName());
+    assertEquals("user_ldap", users.getAnyUser("user_ldap").getUserName());
+    Assert.assertNull(users.getAnyUser("non_existing"));
 
-    for (User user : userList) {
-      assertEquals(false, user.isLdapUser());
+    // create duplicate user
+    try {
+      users.createUser("user1", "user1");
+      Assert.fail("It shouldn't be possible to create duplicate user");
+    } catch (AmbariException e) {
     }
 
-    assertEquals(2, userDAO.findAll().size());
-
-    UserEntity userEntity = userDAO.findUserByName("user");
-    assertNotNull("user", userEntity.getUserPassword());
-
-    users.modifyPassword("user", "user", "resu");
-
-    assertNotSame(userEntity.getUserPassword(), userDAO.findUserByName("user").getUserPassword());
-  }
-
-  @Test
-  public void testGetAnyUser() throws Exception {
-    users.createUser("user", "user", UserType.LOCAL, true, false);
-    users.createUser("user_ldap", "user_ldap", UserType.LDAP, true, false);
+    try {
+      users.createUser("USER1", "user1");
+      Assert.fail("It shouldn't be possible to create duplicate user");
+    } catch (AmbariException e) {
+    }
 
-    assertEquals("user", users.getAnyUser("user").getUserName());
-    assertEquals("user_ldap", users.getAnyUser("user_ldap").getUserName());
-    Assert.assertNull(users.getAnyUser("non_existing"));
-  }
+    // test get all users
+    List<User> userList = users.getAllUsers();
 
-  @Test
-  public void testGetAnyUserCaseInsensitive() throws Exception {
-    users.createUser("user", "user", UserType.LOCAL, true, false);
-    users.createUser("user_ldap", "user_ldap", UserType.LDAP, true, false);
+    Assert.assertEquals(3, userList.size());
 
+    // check get any user case insensitive
     assertEquals("user", users.getAnyUser("USER").getUserName());
     assertEquals("user_ldap", users.getAnyUser("USER_LDAP").getUserName());
     Assert.assertNull(users.getAnyUser("non_existing"));
-  }
 
-  @Test
-  public void testGetUserById() throws Exception {
-    users.createUser("user", "user", UserType.LOCAL, true, false);
-    User createdUser = users.getUser("user", UserType.LOCAL);
+    // get user by id
     User userById = users.getUser(createdUser.getUserId());
 
     assertNotNull(userById);
     assertEquals(createdUser.getUserId(), userById.getUserId());
-  }
 
-  @Test
-  public void testGetUserByInvalidId() throws Exception {
-    User userById = users.getUser(-1);
+    // get user by invalid id
+    User userByInvalidId = users.getUser(-1);
+
+    assertNull(userByInvalidId);
+
+    // get user if unique
+    Assert.assertNotNull(users.getUserIfUnique("user"));
+
+    users.createUser("user", "user", UserType.LDAP, true, false);
+
+    Assert.assertNull(users.getUserIfUnique("user"));
+
+    //remove user
+    Assert.assertEquals(4, users.getAllUsers().size());
+
+    users.removeUser(users.getAnyUser("user1"));
 
-    assertNull(userById);
+    Assert.assertNull(users.getAnyUser("user1"));
+    Assert.assertEquals(3, users.getAllUsers().size());
   }
 
   @Test
@@ -336,16 +299,11 @@ public class TestUsers {
   }
 
   @Test
-  public void testCreateGroup() throws Exception {
-    final String groupName = "engineering";
-    users.createGroup(groupName);
-    assertNotNull(groupDAO.findGroupByName(groupName));
-  }
-
-  @Test
-  public void testGetGroup() throws Exception {
-    final String groupName = "engineering";
+  public void testCreateGetRemoveGroup() throws Exception {
+    final String groupName = "engineering1";
+    final String groupName2 = "engineering2";
     users.createGroup(groupName);
+    users.createGroup(groupName2);
 
     final Group group = users.getGroup(groupName);
     assertNotNull(group);
@@ -353,71 +311,46 @@ public class TestUsers {
     assertEquals(groupName, group.getGroupName());
 
     assertNotNull(groupDAO.findGroupByName(groupName));
-  }
-
-  @Test
-  public void testGetAllGroups() throws Exception {
-    users.createGroup("one");
-    users.createGroup("two");
 
+    // get all groups
     final List<Group> groupList = users.getAllGroups();
 
     assertEquals(2, groupList.size());
     assertEquals(2, groupDAO.findAll().size());
-  }
 
-  @Test
-  public void testRemoveGroup() throws Exception {
-    final String groupName = "engineering";
-    users.createGroup(groupName);
-    final Group group = users.getGroup(groupName);
-    assertEquals(1, users.getAllGroups().size());
+    // remove group
     users.removeGroup(group);
-    assertEquals(0, users.getAllGroups().size());
-  }
-
-  @Test
-  public void testAddMemberToGroup() throws Exception {
-    final String groupName = "engineering";
-    users.createGroup(groupName);
-    users.createUser("user", "user");
-    users.addMemberToGroup(groupName, "user");
-    assertEquals(1, groupDAO.findGroupByName(groupName).getMemberEntities().size());
+    assertNull(users.getGroup(group.getGroupName()));
+    assertEquals(1, users.getAllGroups().size());
   }
 
   @Test
-  public void testGetAllMembers() throws Exception {
+  public void testMembers() throws Exception {
     final String groupName = "engineering";
+    final String groupName2 = "engineering2";
     users.createGroup(groupName);
+    users.createGroup(groupName2);
     users.createUser("user1", "user1");
     users.createUser("user2", "user2");
     users.createUser("user3", "user3");
     users.addMemberToGroup(groupName, "user1");
     users.addMemberToGroup(groupName, "user2");
     assertEquals(2, users.getAllMembers(groupName).size());
+    assertEquals(0, users.getAllMembers(groupName2).size());
 
     try {
       users.getAllMembers("non existing");
       Assert.fail("It shouldn't be possible to call getAllMembers() on non-existing group");
     } catch (Exception ex) {
     }
-  }
-
-  @Test
-  public void testRemoveMemberFromGroup() throws Exception {
-    final String groupName = "engineering";
-    users.createGroup(groupName);
-    users.createUser("user", "user");
-    users.addMemberToGroup(groupName, "user");
-    assertEquals(1, groupDAO.findGroupByName(groupName).getMemberEntities().size());
-    users.removeMemberFromGroup(groupName, "user");
-    assertEquals(0, groupDAO.findGroupByName(groupName).getMemberEntities().size());
-  }
 
+    // get members from not unexisting group
+    assertEquals(users.getGroupMembers("unexisting"), null);
 
-  @Test
-  public void testGetGroupMembersUnexistingGroup() throws Exception {
-   assertEquals(users.getGroupMembers("unexisting"), null);
+    // remove member from group
+    users.removeMemberFromGroup(groupName, "user1");
+    assertEquals(1, groupDAO.findGroupByName(groupName).getMemberEntities().size());
+    assertEquals("user2", groupDAO.findGroupByName(groupName).getMemberEntities().iterator().next().getUser().getUserName());
   }
 
   @Test
@@ -477,17 +410,6 @@ public class TestUsers {
   }
 
   @Test
-  public void testCreateUserTwoParams() throws Exception {
-    users.createUser("user", "user");
-
-    final User createdUser = users.getAnyUser("user");
-    Assert.assertEquals("user", createdUser.getUserName());
-    Assert.assertEquals(true, createdUser.isActive());
-    Assert.assertEquals(false, createdUser.isLdapUser());
-    Assert.assertEquals(false, createdUser.isAdmin());
-  }
-
-  @Test
   @Ignore // TODO @Transactional annotation breaks this test
   public void testCreateUserDefaultParams() throws Exception {
     final Users spy = Mockito.spy(users);
@@ -496,47 +418,4 @@ public class TestUsers {
   }
 
 
-  @Test(expected = AmbariException.class)
-  public void testCreateUserDuplicate() throws Exception {
-    users.createUser("user", "user");
-    users.createUser("user", "user");
-  }
-
-  @Test(expected = AmbariException.class)
-  public void testCreateUserDuplicateCaseInsensitive() throws Exception {
-    users.createUser("user", "user");
-    users.createUser("USER", "user");
-  }
-
-  @Test
-  public void testRemoveUser() throws Exception {
-    users.createUser("user1", "user1");
-    users.createUser("user2", "user2");
-    users.createUser("user3", "user3");
-    Assert.assertEquals(4, users.getAllUsers().size());
-
-    users.removeUser(users.getAnyUser("user1"));
-
-    Assert.assertNull(users.getAnyUser("user1"));
-    Assert.assertEquals(3, users.getAllUsers().size());
-  }
-
-  @Test
-  public void testCreateUserFiveParams() throws Exception {
-    users.createUser("user", "user", UserType.LOCAL, false, false);
-
-    final User createdUser = users.getAnyUser("user");
-    Assert.assertEquals("user", createdUser.getUserName());
-    Assert.assertEquals(false, createdUser.isActive());
-    Assert.assertEquals(false, createdUser.isLdapUser());
-    Assert.assertEquals(false, createdUser.isAdmin());
-
-    users.createUser("user2", "user2", UserType.LDAP, true, true);
-    final User createdUser2 = users.getAnyUser("user2");
-    Assert.assertEquals("user2", createdUser2.getUserName());
-    Assert.assertEquals(true, createdUser2.isActive());
-    Assert.assertEquals(true, createdUser2.isLdapUser());
-    Assert.assertEquals(true, createdUser2.isAdmin());
-  }
-
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java
index bf72e0c..5462f7b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java
@@ -43,9 +43,7 @@ import org.apache.ambari.server.orm.dao.HostDAO;
 import org.apache.ambari.server.orm.dao.HostVersionDAO;
 import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
 import org.apache.ambari.server.orm.dao.StackDAO;
-import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
 import org.apache.ambari.server.orm.entities.HostVersionEntity;
-import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
 import org.apache.ambari.server.orm.entities.StackEntity;
 import org.apache.ambari.server.serveraction.ServerAction;
 import org.apache.ambari.server.state.Cluster;
@@ -66,13 +64,12 @@ import org.apache.ambari.server.state.stack.upgrade.PropertyKeyState;
 import org.apache.ambari.server.state.stack.upgrade.TransferCoercionType;
 import org.apache.ambari.server.state.stack.upgrade.TransferOperation;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 import com.google.gson.Gson;
 import com.google.inject.Guice;
+import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.persist.PersistService;
 
@@ -86,84 +83,45 @@ public class ConfigureActionTest {
   private static final StackId HDP_211_STACK = new StackId("HDP-2.1.1");
   private static final StackId HDP_220_STACK = new StackId("HDP-2.2.0");
 
-  private static Injector m_injector;
-  private static OrmTestHelper m_helper;
-  private static RepositoryVersionDAO repoVersionDAO;
-  private static HostVersionDAO hostVersionDAO;
-  private static HostRoleCommandFactory hostRoleCommandFactory;
-  private static ServiceFactory serviceFactory;
-  private static ConfigHelper m_configHelper;
-  private static Clusters clusters;
-  private static ClusterVersionDAO clusterVersionDAO;
-  private static ConfigFactory cf;
-  private static ConfigureAction action;
-  private static HostDAO hostDAO;
-
-  @BeforeClass
-  public static void classSetUp() throws Exception {
-    m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
-    m_injector.getInstance(GuiceJpaInitializer.class);
-
-    m_helper = m_injector.getInstance(OrmTestHelper.class);
-    repoVersionDAO = m_injector.getInstance(RepositoryVersionDAO.class);
-    hostVersionDAO = m_injector.getInstance(HostVersionDAO.class);
-    hostRoleCommandFactory = m_injector.getInstance(HostRoleCommandFactory.class);
-    serviceFactory = m_injector.getInstance(ServiceFactory.class);
-    m_configHelper = m_injector.getInstance(ConfigHelper.class);
-    clusters = m_injector.getInstance(Clusters.class);
-    clusterVersionDAO = m_injector.getInstance(ClusterVersionDAO.class);
-    cf = m_injector.getInstance(ConfigFactory.class);
-    action = m_injector.getInstance(ConfigureAction.class);
-    hostDAO = m_injector.getInstance(HostDAO.class);
-  }
+  @Inject
+  private Injector m_injector;
+  @Inject
+  private OrmTestHelper m_helper;
+  @Inject
+  private RepositoryVersionDAO repoVersionDAO;
+  @Inject
+  private HostVersionDAO hostVersionDAO;
+  @Inject
+  private HostRoleCommandFactory hostRoleCommandFactory;
+  @Inject
+  private ServiceFactory serviceFactory;
+  @Inject
+  private ConfigHelper m_configHelper;
+  @Inject
+  private Clusters clusters;
+  @Inject
+  private ClusterVersionDAO clusterVersionDAO;
+  @Inject
+  private ConfigFactory cf;
+  @Inject
+  private ConfigureAction action;
+  @Inject
+  private HostDAO hostDAO;
+  @Inject
+  private StackDAO stackDAO;
 
   @Before
   public void setup() throws Exception {
-
+    m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
+    m_injector.getInstance(GuiceJpaInitializer.class);
+    m_injector.injectMembers(this);
   }
 
   @After
   public void teardown() throws Exception {
-    cleanup();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
     m_injector.getInstance(PersistService.class).stop();
   }
 
-  private void cleanup() throws AmbariException {
-    Map<String, Cluster> clusterMap = clusters.getClusters();
-
-    List<ClusterVersionEntity> clusterVersionEntities = clusterVersionDAO.findAll();
-    if (clusterVersionEntities != null) {
-      for (ClusterVersionEntity cve : clusterVersionEntities) {
-        clusterVersionDAO.remove(cve);
-      }
-    }
-
-    List<RepositoryVersionEntity> repositoryVersionEntities = repoVersionDAO.findAll();
-    if (repositoryVersionEntities != null) {
-      for (RepositoryVersionEntity rve : repositoryVersionEntities) {
-        repoVersionDAO.remove(rve);
-      }
-    }
-
-    List<HostVersionEntity> hostVersionEntities = hostVersionDAO.findAll();
-    if (clusterVersionEntities != null) {
-      for (HostVersionEntity hve : hostVersionEntities) {
-        hostVersionDAO.remove(hve);
-      }
-    }
-
-    for (String clusterName : clusterMap.keySet()) {
-      clusters.deleteCluster(clusterName);
-    }
-
-    for (Host host : clusters.getHosts()) {
-      clusters.deleteHost(host.getHostName());
-    }
-  }
 
   @Test
   public void testConfigActionUpgradeAcrossStack() throws Exception {
@@ -1703,7 +1661,7 @@ public class ConfigureActionTest {
 
     clusters.addCluster(clusterName, HDP_220_STACK);
 
-    StackDAO stackDAO = m_injector.getInstance(StackDAO.class);
+
     StackEntity stackEntity = stackDAO.find(HDP_220_STACK.getStackName(),
         HDP_220_STACK.getStackVersion());
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
index f1013c2..50ce7b4 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
@@ -57,8 +57,6 @@ import org.apache.ambari.server.orm.dao.ServiceComponentDesiredStateDAO;
 import org.apache.ambari.server.orm.dao.StackDAO;
 import org.apache.ambari.server.orm.dao.UpgradeDAO;
 import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
-import org.apache.ambari.server.orm.entities.HostComponentDesiredStateEntity;
-import org.apache.ambari.server.orm.entities.HostComponentStateEntity;
 import org.apache.ambari.server.orm.entities.HostVersionEntity;
 import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
 import org.apache.ambari.server.orm.entities.RequestEntity;
@@ -85,10 +83,8 @@ import org.apache.ambari.server.state.stack.UpgradePack;
 import org.apache.ambari.server.state.stack.upgrade.Direction;
 import org.apache.ambari.server.state.stack.upgrade.UpgradeType;
 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 com.google.gson.Gson;
@@ -96,6 +92,7 @@ import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.inject.Guice;
+import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.persist.PersistService;
 import com.google.inject.persist.UnitOfWork;
@@ -117,122 +114,67 @@ public class UpgradeActionTest {
 
   private static final String HDP_211_CENTOS6_REPO_URL = "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.1.1.0-118";
 
-  private static Injector m_injector;
-  private static AmbariManagementController amc;
-  private static OrmTestHelper m_helper;
-  private static RepositoryVersionDAO repoVersionDAO;
-  private static Clusters clusters;
-  private static ClusterVersionDAO clusterVersionDAO;
-  private static HostVersionDAO hostVersionDAO;
-  private static HostDAO hostDAO;
-  private static HostRoleCommandFactory hostRoleCommandFactory;
-  private static ServiceFactory serviceFactory;
-  private static ServiceComponentFactory serviceComponentFactory;
-  private static ServiceComponentHostFactory serviceComponentHostFactory;
-  private static RequestDAO requestDAO;
-  private static UpgradeDAO upgradeDAO;
-  private static ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO;
-  private static HostComponentDesiredStateDAO hostComponentDesiredStateDAO;
-  private static HostComponentStateDAO hostComponentStateDAO;
-  private static StackDAO stackDAO;
-  private static AmbariMetaInfo ambariMetaInfo;
-  private static FinalizeUpgradeAction finalizeUpgradeAction;
-
-  @BeforeClass
-  public static void classSetUp() throws NoSuchFieldException, IllegalAccessException {
+  private Injector m_injector;
+
+  private AmbariManagementController amc;
+  @Inject
+  private OrmTestHelper m_helper;
+  @Inject
+  private RepositoryVersionDAO repoVersionDAO;
+  @Inject
+  private Clusters clusters;
+  @Inject
+  private ClusterVersionDAO clusterVersionDAO;
+  @Inject
+  private HostVersionDAO hostVersionDAO;
+  @Inject
+  private HostDAO hostDAO;
+  @Inject
+  private HostRoleCommandFactory hostRoleCommandFactory;
+  @Inject
+  private ServiceFactory serviceFactory;
+  @Inject
+  private ServiceComponentFactory serviceComponentFactory;
+  @Inject
+  private ServiceComponentHostFactory serviceComponentHostFactory;
+  @Inject
+  private RequestDAO requestDAO;
+  @Inject
+  private UpgradeDAO upgradeDAO;
+  @Inject
+  private ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO;
+  @Inject
+  private HostComponentDesiredStateDAO hostComponentDesiredStateDAO;
+  @Inject
+  private HostComponentStateDAO hostComponentStateDAO;
+  @Inject
+  private StackDAO stackDAO;
+  @Inject
+  private AmbariMetaInfo ambariMetaInfo;
+  @Inject
+  private FinalizeUpgradeAction finalizeUpgradeAction;
+
+  @Before
+  public void setup() throws Exception {
     m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
     m_injector.getInstance(GuiceJpaInitializer.class);
+    m_injector.injectMembers(this);
+    m_injector.getInstance(UnitOfWork.class).begin();
 
-    m_helper = m_injector.getInstance(OrmTestHelper.class);
-    repoVersionDAO = m_injector.getInstance(RepositoryVersionDAO.class);
-    clusters = m_injector.getInstance(Clusters.class);
-    clusterVersionDAO = m_injector.getInstance(ClusterVersionDAO.class);
-    hostVersionDAO = m_injector.getInstance(HostVersionDAO.class);
-    hostDAO = m_injector.getInstance(HostDAO.class);
-    hostRoleCommandFactory = m_injector.getInstance(HostRoleCommandFactory.class);
-    serviceFactory = m_injector.getInstance(ServiceFactory.class);
-    serviceComponentFactory = m_injector.getInstance(ServiceComponentFactory.class);
-    serviceComponentHostFactory = m_injector.getInstance(ServiceComponentHostFactory.class);
-    requestDAO = m_injector.getInstance(RequestDAO.class);
-    upgradeDAO = m_injector.getInstance(UpgradeDAO.class);
-    serviceComponentDesiredStateDAO = m_injector.getInstance(ServiceComponentDesiredStateDAO.class);
-    hostComponentDesiredStateDAO = m_injector.getInstance(HostComponentDesiredStateDAO.class);
-    hostComponentStateDAO = m_injector.getInstance(HostComponentStateDAO.class);
+    // Initialize AmbariManagementController
     amc = m_injector.getInstance(AmbariManagementController.class);
-    stackDAO = m_injector.getInstance(StackDAO.class);
-    ambariMetaInfo = m_injector.getInstance(AmbariMetaInfo.class);
-    finalizeUpgradeAction = m_injector.getInstance(FinalizeUpgradeAction.class);
 
     Field field = AmbariServer.class.getDeclaredField("clusterController");
     field.setAccessible(true);
     field.set(null, amc);
   }
 
-  @Before
-  public void setup() throws Exception {
-    cleanup();
-    m_injector.getInstance(UnitOfWork.class).begin();
-  }
-
   @After
   public void teardown() throws Exception {
     m_injector.getInstance(UnitOfWork.class).end();
-    cleanup();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
     m_injector.getInstance(PersistService.class).stop();
   }
 
-  private void cleanup() throws AmbariException {
-    Map<String, Cluster> clusterMap = clusters.getClusters();
-
-    List<ClusterVersionEntity> clusterVersionEntities = clusterVersionDAO.findAll();
-    if (clusterVersionEntities != null) {
-      for (ClusterVersionEntity cve : clusterVersionEntities) {
-        clusterVersionDAO.remove(cve);
-      }
-    }
-
-    List<RepositoryVersionEntity> repositoryVersionEntities = repoVersionDAO.findAll();
-    if (repositoryVersionEntities != null) {
-      for (RepositoryVersionEntity rve : repositoryVersionEntities) {
-        repoVersionDAO.remove(rve);
-      }
-    }
-
-    List<HostVersionEntity> hostVersionEntities = hostVersionDAO.findAll();
-    if (clusterVersionEntities != null) {
-      for (HostVersionEntity hve : hostVersionEntities) {
-        hostVersionDAO.remove(hve);
-      }
-    }
-
-    List<HostComponentDesiredStateEntity> hostComponentDesiredStateEntities = hostComponentDesiredStateDAO.findAll();
-    if (hostComponentDesiredStateEntities != null) {
-      for (HostComponentDesiredStateEntity hcdse : hostComponentDesiredStateEntities) {
-        hostComponentDesiredStateDAO.remove(hcdse);
-      }
-    }
-
-    List<HostComponentStateEntity> hostComponentStateEntities = hostComponentStateDAO.findAll();
-    if (hostComponentStateEntities != null) {
-      for (HostComponentStateEntity hcse : hostComponentStateEntities) {
-        hostComponentStateDAO.remove(hcse);
-      }
-    }
-
-    for (String clusterName : clusterMap.keySet()) {
-      clusters.deleteCluster(clusterName);
-    }
-
-    for (Host host : clusters.getHosts()) {
-      clusters.deleteHost(host.getHostName());
-    }
-
-  }
-
   private void makeDowngradeCluster(StackId sourceStack, String sourceRepo, StackId targetStack, String targetRepo) throws Exception {
     String hostName = "h1";
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
index 897e955..8f00b72 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
@@ -20,8 +20,6 @@ package org.apache.ambari.server.state;
 
 import junit.framework.Assert;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.util.HashMap;
@@ -35,9 +33,7 @@ import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
 import org.apache.ambari.server.orm.dao.ClusterServiceDAO;
 import org.apache.ambari.server.orm.entities.ClusterServiceEntity;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 import com.google.inject.Guice;
@@ -46,17 +42,17 @@ import com.google.inject.persist.PersistService;
 
 public class ServiceTest {
 
-  private static Clusters clusters;
-  private static Cluster cluster;
-  private static String clusterName;
-  private static Injector injector;
-  private static ServiceFactory serviceFactory;
-  private static ServiceComponentFactory serviceComponentFactory;
-  private static ServiceComponentHostFactory serviceComponentHostFactory;
-  private static AmbariMetaInfo metaInfo;
-
-  @BeforeClass
-  public static void classSetUp() throws Exception {
+  private Clusters clusters;
+  private Cluster cluster;
+  private String clusterName;
+  private Injector injector;
+  private ServiceFactory serviceFactory;
+  private ServiceComponentFactory serviceComponentFactory;
+  private ServiceComponentHostFactory serviceComponentHostFactory;
+  private AmbariMetaInfo metaInfo;
+
+  @Before
+  public void setup() throws Exception {
     injector = Guice.createInjector(new InMemoryDefaultTestModule());
     injector.getInstance(GuiceJpaInitializer.class);
     clusters = injector.getInstance(Clusters.class);
@@ -72,26 +68,11 @@ public class ServiceTest {
     Assert.assertNotNull(cluster);
   }
 
-  @Before
-  public void setup() throws Exception {
-
-  }
-
   @After
   public void teardown() throws AmbariException {
-    //injector.getInstance(PersistService.class).stop();
-    cleanup();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
     injector.getInstance(PersistService.class).stop();
   }
 
-  private void cleanup() throws AmbariException {
-    cluster.deleteAllServices();
-  }
-
   @Test
   public void testCanBeRemoved() throws Exception{
     Service service = cluster.addService("HDFS");
@@ -134,26 +115,6 @@ public class ServiceTest {
   }
 
   @Test
-  public void testCreateService() throws AmbariException {
-    String serviceName = "HDFS";
-    Service s = serviceFactory.createNew(cluster, serviceName);
-    cluster.addService(s);
-    s.persist();
-    Service service = cluster.getService(serviceName);
-
-    Assert.assertNotNull(service);
-    Assert.assertEquals(serviceName, service.getName());
-    Assert.assertEquals(cluster.getClusterId(),
-        service.getCluster().getClusterId());
-    Assert.assertEquals(cluster.getClusterName(),
-        service.getCluster().getClusterName());
-    Assert.assertEquals(State.INIT, service.getDesiredState());
-    Assert.assertEquals(SecurityState.UNSECURED, service.getSecurityState());
-    Assert.assertFalse(
-        service.getDesiredStackVersion().getStackId().isEmpty());
-  }
-
-  @Test
   public void testGetAndSetServiceInfo() throws AmbariException {
     String serviceName = "HDFS";
     Service s = serviceFactory.createNew(cluster, serviceName);
@@ -176,7 +137,7 @@ public class ServiceTest {
 
 
   @Test
-  public void testAddAndGetServiceComponents() throws AmbariException {
+  public void testAddGetDeleteServiceComponents() throws AmbariException {
     String serviceName = "HDFS";
     Service s = serviceFactory.createNew(cluster, serviceName);
     cluster.addService(s);
@@ -185,6 +146,15 @@ public class ServiceTest {
     Service service = cluster.getService(serviceName);
 
     Assert.assertNotNull(service);
+    Assert.assertEquals(serviceName, service.getName());
+    Assert.assertEquals(cluster.getClusterId(),
+            service.getCluster().getClusterId());
+    Assert.assertEquals(cluster.getClusterName(),
+            service.getCluster().getClusterName());
+    Assert.assertEquals(State.INIT, service.getDesiredState());
+    Assert.assertEquals(SecurityState.UNSECURED, service.getSecurityState());
+    Assert.assertFalse(
+            service.getDesiredStackVersion().getStackId().isEmpty());
 
     Assert.assertTrue(s.getServiceComponents().isEmpty());
 
@@ -240,6 +210,10 @@ public class ServiceTest {
     Assert.assertEquals(State.INSTALLING,
         s.getServiceComponent("HDFS_CLIENT").getDesiredState());
 
+    // delete service component
+    s.deleteServiceComponent("NAMENODE");
+
+    assertEquals(3, s.getServiceComponents().size());
   }
 
   @Test
@@ -289,36 +263,6 @@ public class ServiceTest {
   }
 
   @Test
-  public void testDeleteServiceComponent() throws Exception {
-    Service hdfs = cluster.addService("HDFS");
-    Service mapReduce = cluster.addService("MAPREDUCE");
-
-    hdfs.persist();
-
-    ServiceComponent nameNode = hdfs.addServiceComponent("NAMENODE");
-    nameNode.persist();
-    ServiceComponent jobTracker = mapReduce.addServiceComponent("JOBTRACKER");
-
-    assertEquals(2, cluster.getServices().size());
-    assertEquals(1, hdfs.getServiceComponents().size());
-    assertEquals(1, mapReduce.getServiceComponents().size());
-    assertTrue(hdfs.isPersisted());
-    assertFalse(mapReduce.isPersisted());
-
-    hdfs.deleteServiceComponent("NAMENODE");
-
-    assertEquals(0, hdfs.getServiceComponents().size());
-    assertEquals(1, mapReduce.getServiceComponents().size());
-
-    mapReduce.deleteServiceComponent("JOBTRACKER");
-
-    assertEquals(0, hdfs.getServiceComponents().size());
-    assertEquals(0, mapReduce.getServiceComponents().size());
-
-  }
-
-
-  @Test
   public void testServiceMaintenance() throws Exception {
     String serviceName = "HDFS";
     Service s = serviceFactory.createNew(cluster, serviceName);

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java
index bf58967..243cb4f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java
@@ -65,117 +65,74 @@ import org.apache.ambari.server.state.configgroup.ConfigGroup;
 import org.apache.ambari.server.state.configgroup.ConfigGroupFactory;
 import org.apache.ambari.server.state.fsm.InvalidStateTransitionException;
 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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.inject.Guice;
+import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.persist.PersistService;
 
 public class ServiceComponentHostTest {
   private static Logger LOG = LoggerFactory.getLogger(ServiceComponentHostTest.class);
-
-  private static Injector injector;
-  private static Clusters clusters;
-  private static ServiceFactory serviceFactory;
-  private static ServiceComponentFactory serviceComponentFactory;
-  private static ServiceComponentHostFactory serviceComponentHostFactory;
-  private static ConfigFactory configFactory;
-  private static ConfigGroupFactory configGroupFactory;
-  private static OrmTestHelper helper;
-  private static ClusterDAO clusterDAO;
-  private static HostDAO hostDAO;
-  private static HostComponentDesiredStateDAO hostComponentDesiredStateDAO;
-  private static HostComponentStateDAO hostComponentStateDAO;
+  @Inject
+  private Injector injector;
+  @Inject
+  private Clusters clusters;
+  @Inject
+  private ServiceFactory serviceFactory;
+  @Inject
+  private ServiceComponentFactory serviceComponentFactory;
+  @Inject
+  private ServiceComponentHostFactory serviceComponentHostFactory;
+  @Inject
+  private ConfigFactory configFactory;
+  @Inject
+  private ConfigGroupFactory configGroupFactory;
+  @Inject
+  private OrmTestHelper helper;
+  @Inject
+  private ClusterDAO clusterDAO;
+  @Inject
+  private HostDAO hostDAO;
+  @Inject
+  private HostComponentDesiredStateDAO hostComponentDesiredStateDAO;
+  @Inject
+  private HostComponentStateDAO hostComponentStateDAO;
 
   private String clusterName = "c1";
   private String hostName1 = "h1";
   private Map<String, String> hostAttributes = new HashMap<String, String>();
 
-  @BeforeClass
-  public static void classSetUp() {
-    injector = Guice.createInjector(new InMemoryDefaultTestModule());
-    injector.getInstance(GuiceJpaInitializer.class);
-    clusters = injector.getInstance(Clusters.class);
-    serviceFactory = injector.getInstance(ServiceFactory.class);
-    serviceComponentFactory = injector.getInstance(ServiceComponentFactory.class);
-    serviceComponentHostFactory = injector.getInstance(ServiceComponentHostFactory.class);
-    configFactory = injector.getInstance(ConfigFactory.class);
-    configGroupFactory = injector.getInstance(ConfigGroupFactory.class);
-    helper = injector.getInstance(OrmTestHelper.class);
-    clusterDAO = injector.getInstance(ClusterDAO.class);
-    hostDAO = injector.getInstance(HostDAO.class);
-    hostComponentDesiredStateDAO = injector.getInstance(HostComponentDesiredStateDAO.class);
-    hostComponentStateDAO = injector.getInstance(HostComponentStateDAO.class);
-  }
 
   @Before
   public void setup() throws Exception {
-    cleanup();
-
-    if (clusters.getClusters().size() == 0) {
-      StackId stackId = new StackId("HDP-0.1");
-      createCluster(stackId, clusterName);
-      hostAttributes.put("os_family", "redhat");
-      hostAttributes.put("os_release_version", "5.9");
-
-      Set<String> hostNames = new HashSet<String>();
-      hostNames.add(hostName1);
-      addHostsToCluster(clusterName, hostAttributes, hostNames);
-
-      Cluster c1 = clusters.getCluster(clusterName);
-      helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
-      c1.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
-          RepositoryVersionState.INSTALLING);
-    }
-  }
-
-  @After
-  public void teardown() throws AmbariException {
-    cleanup();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
-    injector.getInstance(PersistService.class).stop();
-  }
-
-  private void cleanup() throws AmbariException {
-    try {
-      Map<String, Cluster> clusterMap = clusters.getClusters();
-
-      List<HostComponentDesiredStateEntity> hostComponentDesiredStateEntities = hostComponentDesiredStateDAO.findAll();
-      if (hostComponentDesiredStateEntities != null) {
-        for (HostComponentDesiredStateEntity hcdse : hostComponentDesiredStateEntities) {
-          hostComponentDesiredStateDAO.remove(hcdse);
-        }
-      }
+    injector = Guice.createInjector(new InMemoryDefaultTestModule());
+    injector.getInstance(GuiceJpaInitializer.class);
+    injector.injectMembers(this);
 
-      List<HostComponentStateEntity> hostComponentStateEntities = hostComponentStateDAO.findAll();
-      if (hostComponentStateEntities != null) {
-        for (HostComponentStateEntity hcse : hostComponentStateEntities) {
-          hostComponentStateDAO.remove(hcse);
-        }
-      }
+    StackId stackId = new StackId("HDP-0.1");
+    createCluster(stackId, clusterName);
+    hostAttributes.put("os_family", "redhat");
+    hostAttributes.put("os_release_version", "5.9");
 
-      for (String clusterName : clusterMap.keySet()) {
-        clusters.deleteCluster(clusterName);
-      }
+    Set<String> hostNames = new HashSet<String>();
+    hostNames.add(hostName1);
+    addHostsToCluster(clusterName, hostAttributes, hostNames);
 
-      for (Host host : clusters.getHosts()) {
-        clusters.deleteHost(host.getHostName());
-      }
+    Cluster c1 = clusters.getCluster(clusterName);
+    helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
+    c1.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
+            RepositoryVersionState.INSTALLING);
+  }
 
-      for (String clusterName : clusterMap.keySet()) {
-        clusters.deleteCluster(clusterName);
-      }
-    } catch (IllegalStateException ise) {}
+  @After
+  public void teardown() {
+    injector.getInstance(PersistService.class).stop();
   }
 
   private ClusterEntity createCluster(StackId stackId, String clusterName) throws AmbariException {
@@ -263,12 +220,6 @@ public class ServiceComponentHostTest {
     return impl;
   }
 
-  @Test
-  public void testNewServiceComponentHost() throws AmbariException{
-    createNewServiceComponentHost(clusterName, "HDFS", "NAMENODE", hostName1, false);
-    createNewServiceComponentHost(clusterName, "HDFS", "HDFS_CLIENT", hostName1, true);
-  }
-
   private ServiceComponentHostEvent createEvent(ServiceComponentHostImpl impl,
       long timestamp, ServiceComponentHostEventType eventType)
       throws AmbariException {
@@ -521,6 +472,18 @@ public class ServiceComponentHostTest {
         State.WIPING_OUT,
         State.INIT);
 
+    // check can be removed
+    for (State state : State.values()) {
+      impl.setState(state);
+
+      if (state.isRemovableState()) {
+        Assert.assertTrue(impl.canBeRemoved());
+      }
+      else {
+        Assert.assertFalse(impl.canBeRemoved());
+      }
+    }
+
   }
 
   @Test
@@ -753,22 +716,6 @@ public class ServiceComponentHostTest {
     }
   }
 
-  @Test
-  public void testCanBeRemoved() throws Exception{
-    ServiceComponentHostImpl impl = (ServiceComponentHostImpl)
-        createNewServiceComponentHost(clusterName, "HDFS", "HDFS_CLIENT", hostName1, true);
-
-    for (State state : State.values()) {
-      impl.setState(state);
-
-      if (state.isRemovableState()) {
-        Assert.assertTrue(impl.canBeRemoved());
-      }
-      else {
-        Assert.assertFalse(impl.canBeRemoved());
-      }
-    }
-  }
 
   @Test
   public void testStaleConfigs() throws Exception {
@@ -1124,8 +1071,8 @@ public class ServiceComponentHostTest {
     Assert.assertNotNull(hostEntity);
 
     ServiceComponentHost sch1 = createNewServiceComponentHost(cluster, "HDFS", "NAMENODE", hostName);
-    ServiceComponentHost sch2 = createNewServiceComponentHost(cluster, "HDFS", "DATANODE", hostName);
-    ServiceComponentHost sch3 = createNewServiceComponentHost(cluster, "MAPREDUCE2", "HISTORYSERVER", hostName);
+    //ServiceComponentHost sch2 = createNewServiceComponentHost(cluster, "HDFS", "DATANODE", hostName);
+    //ServiceComponentHost sch3 = createNewServiceComponentHost(cluster, "MAPREDUCE2", "HISTORYSERVER", hostName);
 
     HostComponentDesiredStateEntityPK pk = new HostComponentDesiredStateEntityPK();
     pk.setClusterId(Long.valueOf(cluster.getClusterId()));

http://git-wip-us.apache.org/repos/asf/ambari/blob/392a752d/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
index e151d73..3bff060 100644
--- 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
@@ -33,7 +33,6 @@ 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.reset;
 import static org.easymock.EasyMock.verify;
 
 import java.io.File;
@@ -88,11 +87,7 @@ import org.apache.ambari.server.state.stack.OsFamily;
 import org.easymock.Capture;
 import org.easymock.CaptureType;
 import org.easymock.EasyMockSupport;
-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 com.google.inject.AbstractModule;
@@ -107,14 +102,16 @@ import com.google.inject.persist.PersistService;
  * {@link org.apache.ambari.server.upgrade.UpgradeCatalog210} unit tests.
  */
 public class UpgradeCatalog210Test {
-  private static Injector injector;
+  private Injector injector;
   private Provider<EntityManager> entityManagerProvider = createStrictMock(Provider.class);
   private EntityManager entityManager = createNiceMock(EntityManager.class);
-  private static UpgradeCatalogHelper upgradeCatalogHelper;
-  private static StackEntity desiredStackEntity;
+  private UpgradeCatalogHelper upgradeCatalogHelper;
+  private StackEntity desiredStackEntity;
 
-  @BeforeClass
-  public static void classSetUp() {
+  public void initData() {
+    //reset(entityManagerProvider);
+    //expect(entityManagerProvider.get()).andReturn(entityManager).anyTimes();
+    //replay(entityManagerProvider);
     injector = Guice.createInjector(new InMemoryDefaultTestModule());
     injector.getInstance(GuiceJpaInitializer.class);
 
@@ -126,22 +123,7 @@ public class UpgradeCatalog210Test {
     desiredStackEntity = stackDAO.find("HDP", "2.2.0");
   }
 
-  @Before
-  public void init() {
-    reset(entityManagerProvider);
-    expect(entityManagerProvider.get()).andReturn(entityManager).anyTimes();
-    replay(entityManagerProvider);
-
-
-  }
-
-  @After
   public void tearDown() {
-
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
     injector.getInstance(PersistService.class).stop();
   }
 
@@ -821,6 +803,7 @@ public class UpgradeCatalog210Test {
 
   @Test
   public void testDeleteStormRestApiServiceComponent() throws Exception {
+    initData();
     ClusterEntity clusterEntity = upgradeCatalogHelper.createCluster(injector,
       "c1", desiredStackEntity);
     ClusterServiceEntity clusterServiceEntity = upgradeCatalogHelper.createService(
@@ -879,6 +862,7 @@ public class UpgradeCatalog210Test {
 
     Assert.assertNull(componentDesiredStateDAO.findByName(clusterEntity.getClusterId(), "STORM",
         "STORM_REST_API"));
+    tearDown();
   }