Repository: ambari
Updated Branches:
  refs/heads/trunk 199a0916a -> 5376252a6


AMBARI-5834. After upgraded to 1.6.0, Nagios server cannot start. Unit test 
fix. (swagle)


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

Branch: refs/heads/trunk
Commit: 5376252a60fd24164402e9a276e23bce0c1d05fa
Parents: 199a091
Author: Siddharth Wagle <swa...@hortonworks.com>
Authored: Thu May 22 13:40:52 2014 -0700
Committer: Siddharth Wagle <swa...@hortonworks.com>
Committed: Thu May 22 13:40:59 2014 -0700

----------------------------------------------------------------------
 .../server/upgrade/UpgradeCatalog161Test.java   | 51 ++++++++++++++------
 1 file changed, 35 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/5376252a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog161Test.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog161Test.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog161Test.java
index b496d1f..b45e266 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog161Test.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog161Test.java
@@ -23,17 +23,23 @@ import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Module;
 
+import com.google.inject.Provider;
 import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.orm.DBAccessor;
+import org.apache.ambari.server.orm.entities.ClusterEntity;
 import org.apache.ambari.server.state.State;
 import org.easymock.Capture;
 import org.junit.Assert;
 import org.junit.Test;
 
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
+import javax.persistence.TypedQuery;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.sql.SQLException;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -42,8 +48,10 @@ import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertNull;
 import static junit.framework.Assert.assertTrue;
 import static org.easymock.EasyMock.capture;
+import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.createMockBuilder;
 import static org.easymock.EasyMock.createNiceMock;
+import static org.easymock.EasyMock.createStrictMock;
 import static org.easymock.EasyMock.eq;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.expectLastCall;
@@ -63,10 +71,10 @@ public class UpgradeCatalog161Test {
     
expect(configuration.getDatabaseUrl()).andReturn(Configuration.JDBC_IN_MEMORY_URL).anyTimes();
 
     Capture<DBAccessor.DBColumnInfo> provisioningStateColumnCapture = new 
Capture<DBAccessor.DBColumnInfo>();
-    Capture<List<DBAccessor.DBColumnInfo>> operationLevelEntitycolumnCapture = 
new Capture<List<DBAccessor.DBColumnInfo>>();
+    Capture<List<DBAccessor.DBColumnInfo>> operationLevelEntityColumnCapture = 
new Capture<List<DBAccessor.DBColumnInfo>>();
     
     setClustersConfigExpectations(dbAccessor, provisioningStateColumnCapture); 
   
-    setOperationLevelEntityConfigExpectations(dbAccessor, 
operationLevelEntitycolumnCapture);
+    setOperationLevelEntityConfigExpectations(dbAccessor, 
operationLevelEntityColumnCapture);
 
     replay(dbAccessor, configuration);
     AbstractUpgradeCatalog upgradeCatalog = getUpgradeCatalog(dbAccessor);
@@ -79,28 +87,35 @@ public class UpgradeCatalog161Test {
     verify(dbAccessor, configuration);
 
     assertClusterColumns(provisioningStateColumnCapture);
-    assertOperationLevelEntityColumns(operationLevelEntitycolumnCapture);
+    assertOperationLevelEntityColumns(operationLevelEntityColumnCapture);
   }
 
-
+  @SuppressWarnings("unchecked")
   @Test
   public void testExecuteDMLUpdates() throws Exception {
     Configuration configuration = createNiceMock(Configuration.class);
     DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
+    Injector injector = createStrictMock(Injector.class);
+    Provider provider = createStrictMock(Provider.class);
+    EntityManager em = createStrictMock(EntityManager.class);
+    EntityTransaction et = createMock(EntityTransaction.class);
+    TypedQuery query = createMock(TypedQuery.class);
 
-    Method m = AbstractUpgradeCatalog.class.getDeclaredMethod
-      ("updateConfigurationProperties", String.class, Map.class, 
boolean.class);
-
-    UpgradeCatalog160 upgradeCatalog = 
createMockBuilder(UpgradeCatalog160.class)
-      .addMockedMethod(m).createMock();
+    UpgradeCatalog161 upgradeCatalog =
+      createMockBuilder(UpgradeCatalog161.class).createMock();
 
     
expect(configuration.getDatabaseUrl()).andReturn(Configuration.JDBC_IN_MEMORY_URL).anyTimes();
-
-    upgradeCatalog.updateConfigurationProperties("global",
-      Collections.singletonMap("jobhistory_heapsize", "900"), false);
-    expectLastCall();
-
-    replay(upgradeCatalog, dbAccessor, configuration);
+    
expect(injector.getProvider(EntityManager.class)).andReturn(provider).anyTimes();
+    expect(provider.get()).andReturn(em).anyTimes();
+    expect(em.getTransaction()).andReturn(et);
+    expect(et.isActive()).andReturn(true);
+    expect(em.createQuery("UPDATE ClusterEntity SET provisioningState = " +
+      ":provisioningState", ClusterEntity.class)).andReturn(query);
+    expect(query.setParameter("provisioningState", 
State.INSTALLED)).andReturn(null);
+    expect(query.executeUpdate()).andReturn(0);
+
+    replay(upgradeCatalog, dbAccessor, configuration, injector, provider, em,
+      et, query);
 
     Class<?> c = AbstractUpgradeCatalog.class;
     Field f = c.getDeclaredField("configuration");
@@ -109,10 +124,14 @@ public class UpgradeCatalog161Test {
     f = c.getDeclaredField("dbAccessor");
     f.setAccessible(true);
     f.set(upgradeCatalog, dbAccessor);
+    f = c.getDeclaredField("injector");
+    f.setAccessible(true);
+    f.set(upgradeCatalog, injector);
 
     upgradeCatalog.executeDMLUpdates();
 
-    verify(upgradeCatalog, dbAccessor, configuration);
+    verify(upgradeCatalog, dbAccessor, configuration, injector, provider, em,
+      et, query);
   }
 
 

Reply via email to