|
@@ -18,27 +18,16 @@
|
|
|
|
|
|
package org.apache.ambari.server.orm.dao;
|
|
package org.apache.ambari.server.orm.dao;
|
|
|
|
|
|
-import static org.easymock.EasyMock.createStrictMock;
|
|
|
|
-import static org.easymock.EasyMock.eq;
|
|
|
|
-import static org.easymock.EasyMock.expect;
|
|
|
|
-import static org.easymock.EasyMock.replay;
|
|
|
|
-import static org.easymock.EasyMock.reset;
|
|
|
|
-import static org.easymock.EasyMock.verify;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertNotNull;
|
|
import static org.junit.Assert.assertNotNull;
|
|
import static org.junit.Assert.assertNull;
|
|
import static org.junit.Assert.assertNull;
|
|
-import static org.junit.Assert.assertSame;
|
|
|
|
|
|
|
|
import java.util.Calendar;
|
|
import java.util.Calendar;
|
|
-import java.util.Collections;
|
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.TimeZone;
|
|
import java.util.TimeZone;
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
|
|
|
|
-import javax.persistence.EntityManager;
|
|
|
|
-import javax.persistence.TypedQuery;
|
|
|
|
-
|
|
|
|
import org.apache.ambari.server.orm.GuiceJpaInitializer;
|
|
import org.apache.ambari.server.orm.GuiceJpaInitializer;
|
|
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
|
|
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
|
|
import org.apache.ambari.server.orm.OrmTestHelper;
|
|
import org.apache.ambari.server.orm.OrmTestHelper;
|
|
@@ -51,42 +40,38 @@ import org.apache.ambari.server.state.AlertState;
|
|
import org.apache.ambari.server.state.MaintenanceState;
|
|
import org.apache.ambari.server.state.MaintenanceState;
|
|
import org.apache.ambari.server.state.NotificationState;
|
|
import org.apache.ambari.server.state.NotificationState;
|
|
import org.apache.ambari.server.state.alert.Scope;
|
|
import org.apache.ambari.server.state.alert.Scope;
|
|
-import org.junit.AfterClass;
|
|
|
|
|
|
+import org.junit.After;
|
|
import org.junit.Assert;
|
|
import org.junit.Assert;
|
|
import org.junit.Before;
|
|
import org.junit.Before;
|
|
-import org.junit.BeforeClass;
|
|
|
|
import org.junit.Test;
|
|
import org.junit.Test;
|
|
|
|
|
|
import com.google.inject.Guice;
|
|
import com.google.inject.Guice;
|
|
import com.google.inject.Injector;
|
|
import com.google.inject.Injector;
|
|
-import com.google.inject.Provider;
|
|
|
|
import com.google.inject.persist.PersistService;
|
|
import com.google.inject.persist.PersistService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* Tests {@link AlertDefinitionDAO} for interacting with
|
|
* Tests {@link AlertDefinitionDAO} for interacting with
|
|
* {@link AlertDefinitionEntity}.
|
|
* {@link AlertDefinitionEntity}.
|
|
*/
|
|
*/
|
|
-@SuppressWarnings("unchecked")
|
|
|
|
public class AlertDefinitionDAOTest {
|
|
public class AlertDefinitionDAOTest {
|
|
- static Injector injector;
|
|
|
|
- static Long clusterId;
|
|
|
|
- static AlertDefinitionDAO dao;
|
|
|
|
- static AlertsDAO alertsDao;
|
|
|
|
- static AlertDispatchDAO dispatchDao;
|
|
|
|
- static OrmTestHelper helper;
|
|
|
|
|
|
+
|
|
static Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
|
|
static Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
|
|
|
|
|
|
- AlertDefinitionDAO mockDAO;
|
|
|
|
- Provider<EntityManager> mockEntityManagerProvider = createStrictMock(Provider.class);
|
|
|
|
- EntityManager entityManager = createStrictMock(EntityManager.class);
|
|
|
|
|
|
+ Injector injector;
|
|
|
|
+ Long clusterId;
|
|
|
|
+ AlertDefinitionDAO dao;
|
|
|
|
+ AlertsDAO alertsDao;
|
|
|
|
+ AlertDispatchDAO dispatchDao;
|
|
|
|
+ OrmTestHelper helper;
|
|
|
|
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
*/
|
|
*/
|
|
- @BeforeClass
|
|
|
|
- public static void beforeClass() {
|
|
|
|
|
|
+ @Before
|
|
|
|
+ public void setup() {
|
|
injector = Guice.createInjector(new InMemoryDefaultTestModule());
|
|
injector = Guice.createInjector(new InMemoryDefaultTestModule());
|
|
injector.getInstance(GuiceJpaInitializer.class);
|
|
injector.getInstance(GuiceJpaInitializer.class);
|
|
|
|
+
|
|
dao = injector.getInstance(AlertDefinitionDAO.class);
|
|
dao = injector.getInstance(AlertDefinitionDAO.class);
|
|
alertsDao = injector.getInstance(AlertsDAO.class);
|
|
alertsDao = injector.getInstance(AlertsDAO.class);
|
|
dispatchDao = injector.getInstance(AlertDispatchDAO.class);
|
|
dispatchDao = injector.getInstance(AlertDispatchDAO.class);
|
|
@@ -108,56 +93,17 @@ public class AlertDefinitionDAOTest {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- @AfterClass
|
|
|
|
- public static void afterClass() {
|
|
|
|
|
|
+ @After
|
|
|
|
+ public void teardown() {
|
|
injector.getInstance(PersistService.class).stop();
|
|
injector.getInstance(PersistService.class).stop();
|
|
injector = null;
|
|
injector = null;
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- *
|
|
|
|
- */
|
|
|
|
- @Before
|
|
|
|
- public void before() {
|
|
|
|
- injector = Guice.createInjector(new InMemoryDefaultTestModule());
|
|
|
|
- injector.getInstance(GuiceJpaInitializer.class);
|
|
|
|
- injector.injectMembers(this);
|
|
|
|
-
|
|
|
|
- reset(mockEntityManagerProvider);
|
|
|
|
- expect(mockEntityManagerProvider.get()).andReturn(entityManager).atLeastOnce();
|
|
|
|
- replay(mockEntityManagerProvider);
|
|
|
|
-
|
|
|
|
- mockDAO = injector.getInstance(AlertDefinitionDAO.class);
|
|
|
|
- mockDAO.entityManagerProvider = mockEntityManagerProvider;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
*/
|
|
*/
|
|
@Test
|
|
@Test
|
|
public void testFindByName() {
|
|
public void testFindByName() {
|
|
- AlertDefinitionEntity entity = new AlertDefinitionEntity();
|
|
|
|
- TypedQuery<AlertDefinitionEntity> query = createStrictMock(TypedQuery.class);
|
|
|
|
-
|
|
|
|
- expect(query.setParameter("clusterId", 12345L)).andReturn(query);
|
|
|
|
-
|
|
|
|
- expect(query.setParameter("definitionName", "alert-definition-1")).andReturn(
|
|
|
|
- query);
|
|
|
|
-
|
|
|
|
- expect(query.getSingleResult()).andReturn(entity);
|
|
|
|
-
|
|
|
|
- expect(
|
|
|
|
- entityManager.createNamedQuery(eq("AlertDefinitionEntity.findByName"),
|
|
|
|
- eq(AlertDefinitionEntity.class))).andReturn(query);
|
|
|
|
-
|
|
|
|
- replay(query, entityManager);
|
|
|
|
-
|
|
|
|
- AlertDefinitionEntity result = mockDAO.findByName(12345L,
|
|
|
|
- "alert-definition-1");
|
|
|
|
-
|
|
|
|
- assertSame(result, entity);
|
|
|
|
- verify(mockEntityManagerProvider, entityManager);
|
|
|
|
-
|
|
|
|
List<AlertDefinitionEntity> definitions = dao.findAll();
|
|
List<AlertDefinitionEntity> definitions = dao.findAll();
|
|
Assert.assertNotNull(definitions);
|
|
Assert.assertNotNull(definitions);
|
|
AlertDefinitionEntity definition = definitions.get(2);
|
|
AlertDefinitionEntity definition = definitions.get(2);
|
|
@@ -172,23 +118,6 @@ public class AlertDefinitionDAOTest {
|
|
*/
|
|
*/
|
|
@Test
|
|
@Test
|
|
public void testFindAll() {
|
|
public void testFindAll() {
|
|
- AlertDefinitionEntity entity = new AlertDefinitionEntity();
|
|
|
|
- TypedQuery<AlertDefinitionEntity> query = createStrictMock(TypedQuery.class);
|
|
|
|
-
|
|
|
|
- expect(query.getResultList()).andReturn(Collections.singletonList(entity));
|
|
|
|
-
|
|
|
|
- expect(
|
|
|
|
- entityManager.createNamedQuery(eq("AlertDefinitionEntity.findAll"),
|
|
|
|
- eq(AlertDefinitionEntity.class))).andReturn(query);
|
|
|
|
-
|
|
|
|
- replay(query, entityManager);
|
|
|
|
-
|
|
|
|
- List<AlertDefinitionEntity> entities = mockDAO.findAll();
|
|
|
|
-
|
|
|
|
- assertSame(1, entities.size());
|
|
|
|
- assertSame(entity, entities.get(0));
|
|
|
|
- verify(mockEntityManagerProvider, entityManager);
|
|
|
|
-
|
|
|
|
List<AlertDefinitionEntity> definitions = dao.findAll();
|
|
List<AlertDefinitionEntity> definitions = dao.findAll();
|
|
Assert.assertNotNull(definitions);
|
|
Assert.assertNotNull(definitions);
|
|
Assert.assertEquals(8, definitions.size());
|
|
Assert.assertEquals(8, definitions.size());
|
|
@@ -199,18 +128,6 @@ public class AlertDefinitionDAOTest {
|
|
*/
|
|
*/
|
|
@Test
|
|
@Test
|
|
public void findById() {
|
|
public void findById() {
|
|
- AlertDefinitionEntity entity = new AlertDefinitionEntity();
|
|
|
|
-
|
|
|
|
- expect(entityManager.find(eq(AlertDefinitionEntity.class), eq(12345L))).andReturn(
|
|
|
|
- entity);
|
|
|
|
-
|
|
|
|
- replay(entityManager);
|
|
|
|
-
|
|
|
|
- AlertDefinitionEntity result = mockDAO.findById(12345L);
|
|
|
|
-
|
|
|
|
- assertSame(result, entity);
|
|
|
|
- verify(mockEntityManagerProvider, entityManager);
|
|
|
|
-
|
|
|
|
List<AlertDefinitionEntity> definitions = dao.findAll();
|
|
List<AlertDefinitionEntity> definitions = dao.findAll();
|
|
Assert.assertNotNull(definitions);
|
|
Assert.assertNotNull(definitions);
|
|
AlertDefinitionEntity definition = definitions.get(2);
|
|
AlertDefinitionEntity definition = definitions.get(2);
|
|
@@ -221,45 +138,14 @@ public class AlertDefinitionDAOTest {
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testRefresh() {
|
|
public void testRefresh() {
|
|
- AlertDefinitionEntity entity = new AlertDefinitionEntity();
|
|
|
|
-
|
|
|
|
- // set expectations
|
|
|
|
- entityManager.refresh(eq(entity));
|
|
|
|
- replay(entityManager);
|
|
|
|
-
|
|
|
|
- mockDAO.entityManagerProvider = mockEntityManagerProvider;
|
|
|
|
- mockDAO.refresh(entity);
|
|
|
|
-
|
|
|
|
- verify(mockEntityManagerProvider, entityManager);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testCreate() {
|
|
public void testCreate() {
|
|
- AlertDefinitionEntity entity = new AlertDefinitionEntity();
|
|
|
|
-
|
|
|
|
- // set expectations
|
|
|
|
- entityManager.persist(eq(entity));
|
|
|
|
- replay(entityManager);
|
|
|
|
-
|
|
|
|
- mockDAO.entityManagerProvider = mockEntityManagerProvider;
|
|
|
|
- mockDAO.create(entity);
|
|
|
|
-
|
|
|
|
- verify(mockEntityManagerProvider, entityManager);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testMerge() {
|
|
public void testMerge() {
|
|
- AlertDefinitionEntity entity = new AlertDefinitionEntity();
|
|
|
|
- AlertDefinitionEntity entity2 = new AlertDefinitionEntity();
|
|
|
|
-
|
|
|
|
- // set expectations
|
|
|
|
- expect(entityManager.merge(eq(entity))).andReturn(entity2);
|
|
|
|
- replay(entityManager);
|
|
|
|
-
|
|
|
|
- mockDAO.entityManagerProvider = mockEntityManagerProvider;
|
|
|
|
- assertSame(entity2, mockDAO.merge(entity));
|
|
|
|
-
|
|
|
|
- verify(mockEntityManagerProvider, entityManager);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|