You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2018/12/10 20:30:41 UTC

[geode] branch develop updated: GEODE-6066: Fixed cluster config update for error case (#2954)

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

dschneider pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new c2c6d35  GEODE-6066: Fixed cluster config update for error case (#2954)
c2c6d35 is described below

commit c2c6d35d7c7e0b5865b1f1c3a685c37321430933
Author: BenjaminPerryRoss <39...@users.noreply.github.com>
AuthorDate: Mon Dec 10 12:30:31 2018 -0800

    GEODE-6066: Fixed cluster config update for error case (#2954)
    
    
    Co-authored-by: Ben Ross <br...@pivotal.io>
    Co-autored-by: Jianxia Chen <jc...@apache.org>
---
 .../jdbc/internal/cli/CreateDataSourceCommand.java     |  7 +++++--
 .../jdbc/internal/cli/CreateDataSourceCommandTest.java | 18 +++++++-----------
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
index f9939a9..f9baeaa 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
@@ -77,7 +77,7 @@ public class CreateDataSourceCommand extends SingleGfshCommand {
       interceptor = "org.apache.geode.connectors.jdbc.internal.cli.CreateDataSourceInterceptor")
   @ResourceOperation(resource = ResourcePermission.Resource.CLUSTER,
       operation = ResourcePermission.Operation.MANAGE)
-  public ResultModel createJDNIBinding(
+  public ResultModel createDataSource(
       @CliOption(key = POOLED_DATA_SOURCE_FACTORY_CLASS,
           help = POOLED_DATA_SOURCE_FACTORY_CLASS__HELP) String pooledDataSourceFactoryClass,
       @CliOption(key = URL, mandatory = true,
@@ -139,7 +139,10 @@ public class CreateDataSourceCommand extends SingleGfshCommand {
       return result;
     } else {
       if (service != null) {
-        return ResultModel.createInfo("No members found, data source saved to cluster config.");
+        ResultModel result =
+            ResultModel.createInfo("No members found, data source saved to cluster configuration.");
+        result.setConfigObject(configuration);
+        return result;
       } else {
         return ResultModel.createError("No members found and cluster configuration unavailable.");
       }
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandTest.java
index 3d3ea54..4395691 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandTest.java
@@ -17,6 +17,7 @@ package org.apache.geode.connectors.jdbc.internal.cli;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNotNull;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
@@ -24,7 +25,6 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
@@ -32,14 +32,11 @@ import java.util.List;
 import java.util.Set;
 import java.util.function.UnaryOperator;
 
-import javax.xml.parsers.ParserConfigurationException;
-
 import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
-import org.xml.sax.SAXException;
 
 import org.apache.geode.cache.configuration.CacheConfig;
 import org.apache.geode.cache.configuration.JndiBindingsType;
@@ -66,7 +63,7 @@ public class CreateDataSourceCommandTest {
   private static String COMMAND = "create data-source ";
 
   @Before
-  public void setUp() throws Exception {
+  public void setUp() {
     cache = mock(InternalCache.class);
     when(cache.getDistributionManager()).thenReturn(mock(DistributionManager.class));
     command = Mockito.spy(CreateDataSourceCommand.class);
@@ -136,8 +133,7 @@ public class CreateDataSourceCommandTest {
   }
 
   @Test
-  public void returnsErrorIfDataSourceAlreadyExistsAndIfUnspecified()
-      throws ParserConfigurationException, SAXException, IOException {
+  public void returnsErrorIfDataSourceAlreadyExistsAndIfUnspecified() {
     InternalConfigurationPersistenceService clusterConfigService =
         mock(InternalConfigurationPersistenceService.class);
     CacheConfig cacheConfig = mock(CacheConfig.class);
@@ -153,8 +149,7 @@ public class CreateDataSourceCommandTest {
   }
 
   @Test
-  public void skipsIfDataSourceAlreadyExistsAndIfSpecified()
-      throws ParserConfigurationException, SAXException, IOException {
+  public void skipsIfDataSourceAlreadyExistsAndIfSpecified() {
     InternalConfigurationPersistenceService clusterConfigService =
         mock(InternalConfigurationPersistenceService.class);
     CacheConfig cacheConfig = mock(CacheConfig.class);
@@ -233,11 +228,12 @@ public class CreateDataSourceCommandTest {
 
     gfsh.executeAndAssertThat(command,
         COMMAND + " --name=name  --url=url")
-        .statusIsSuccess().containsOutput("No members found, data source saved to cluster config.")
+        .statusIsSuccess()
+        .containsOutput("No members found, data source saved to cluster configuration.")
         .containsOutput("Changes to configuration for group 'cluster' are persisted.");
 
     verify(clusterConfigService).updateCacheConfig(any(), any());
-    verify(command).updateConfigForGroup(eq("cluster"), eq(cacheConfig), any());
+    verify(command).updateConfigForGroup(eq("cluster"), eq(cacheConfig), isNotNull());
   }
 
   @Test