You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jc...@apache.org on 2018/11/07 21:03:57 UTC

[geode] 01/01: WIP

This is an automated email from the ASF dual-hosted git repository.

jchen21 pushed a commit to branch feature/GEODE-6010
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 7b0ab526a674ab19a9c80e0ff69dd872ba1750d4
Author: Darrel Schneider <ds...@pivotal.io>
AuthorDate: Wed Nov 7 13:03:26 2018 -0800

    WIP
    
    Co-authored-by: Darrel Schneider <ds...@pivotal.io>
    Co-authored-by: Jianxia Chen <jc...@pivotal.io>
---
 .../cli/CreateMappingCommandIntegrationTest.java   | 52 ++++++++++++++++------
 1 file changed, 38 insertions(+), 14 deletions(-)

diff --git a/geode-connectors/src/integrationTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandIntegrationTest.java b/geode-connectors/src/integrationTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandIntegrationTest.java
index 20d5598..52e6f46 100644
--- a/geode-connectors/src/integrationTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandIntegrationTest.java
+++ b/geode-connectors/src/integrationTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandIntegrationTest.java
@@ -14,21 +14,33 @@
  */
 package org.apache.geode.connectors.jdbc.internal.cli;
 
-import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.mockito.ArgumentCaptor;
 
-import org.apache.geode.cache.CacheFactory;
-import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
 import org.apache.geode.connectors.jdbc.internal.RegionMappingExistsException;
 import org.apache.geode.connectors.jdbc.internal.configuration.RegionMapping;
+import org.apache.geode.distributed.internal.DistributionManager;
+import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
 import org.apache.geode.management.internal.cli.result.model.ResultModel;
 import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.junit.categories.JDBCConnectorTest;
@@ -43,6 +55,11 @@ public class CreateMappingCommandIntegrationTest {
   private String dataSourceName;
   private String tableName;
   private String pdxClass;
+//  private JdbcConnectorService service;
+  private DistributionManager distributionManager;
+  private Set<InternalDistributedMember> members;
+  private List<CliFunctionResult> results;
+  private CliFunctionResult cliFunctionResult;
 
   @Before
   public void setup() {
@@ -50,13 +67,21 @@ public class CreateMappingCommandIntegrationTest {
     dataSourceName = "connection";
     tableName = "testTable";
     pdxClass = "myPdxClass";
-
-    cache = (InternalCache) new CacheFactory().set("locators", "").set("mcast-port", "0")
-        .set(ENABLE_CLUSTER_CONFIGURATION, "true").create();
-    cache.createRegionFactory(RegionShortcut.LOCAL).create(regionName);
-
-    createRegionMappingCommand = new CreateMappingCommand();
+    cache = mock(InternalCache.class);
+//    service = mock(JdbcConnectorService.class);
+    distributionManager = mock(DistributionManager.class);
+//    when(cache.getService(JdbcConnectorService.class)).thenReturn(service);
+    when(cache.getDistributionManager()).thenReturn(distributionManager);
+    members = new HashSet<>();
+    members.add(mock(InternalDistributedMember.class));
+    when(distributionManager.getNormalDistributionManagerIds()).thenReturn(members);
+    createRegionMappingCommand = spy(CreateMappingCommand.class);
     createRegionMappingCommand.setCache(cache);
+    results = new ArrayList<>();
+    cliFunctionResult = mock(CliFunctionResult.class);
+    when(cliFunctionResult.isSuccessful()).thenReturn(true);
+    results.add(cliFunctionResult);
+    doReturn(results).when(createRegionMappingCommand).executeAndGetFunctionResult(any(), any(), any());
   }
 
   @After
@@ -83,7 +108,6 @@ public class CreateMappingCommandIntegrationTest {
 
   @Test
   public void createsRegionMappingOnceOnly() {
-    JdbcConnectorService service = cache.getService(JdbcConnectorService.class);
     ResultModel result;
     result =
         createRegionMappingCommand.createMapping(regionName, dataSourceName, tableName, pdxClass);
@@ -103,14 +127,14 @@ public class CreateMappingCommandIntegrationTest {
   }
 
   @Test
-  public void createsRegionMappingWithMinimumParams() {
+  public void createsRegionMappingWithMinimumParams() throws RegionMappingExistsException {
     ResultModel result =
         createRegionMappingCommand.createMapping(regionName, dataSourceName, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.OK);
-
-    JdbcConnectorService service = cache.getService(JdbcConnectorService.class);
-    RegionMapping regionMapping = service.getMappingForRegion(regionName);
+    ArgumentCaptor<RegionMapping> argumentCaptor = ArgumentCaptor.forClass(RegionMapping.class);
+//    verify(service).createRegionMapping(argumentCaptor.capture());
+    RegionMapping regionMapping = argumentCaptor.getValue();
 
     assertThat(regionMapping).isNotNull();
     assertThat(regionMapping.getRegionName()).isEqualTo(regionName);