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 <dschnei...@pivotal.io> AuthorDate: Wed Nov 7 13:03:26 2018 -0800 WIP Co-authored-by: Darrel Schneider <dschnei...@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);