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

bschuchardt 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 1bbc24f  GEODE-3668 Remove test hook from JGroupsMessenger
1bbc24f is described below

commit 1bbc24fcb7c0ffa2289c5327c8b8cba452ab7606
Author: Bruce Schuchardt <[email protected]>
AuthorDate: Mon Feb 4 11:39:51 2019 -0800

    GEODE-3668 Remove test hook from JGroupsMessenger
    
    Replaced test-hook methods with direct access to instance variables
    in JGroupsMessenger.  I removed one test in DistributedSystemDUnitTest
    that was testing something that's already covered in another unit test.
---
 .../distributed/DistributedSystemDUnitTest.java    | 28 +---------------------
 .../gms/messenger/JGroupsMessengerJUnitTest.java   | 17 +++++++------
 .../membership/gms/messenger/JGroupsMessenger.java | 25 ++-----------------
 .../StatRecorderJUnitTest.java                     |  6 ++---
 4 files changed, 15 insertions(+), 61 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
index 22f3598..964d2f6 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
@@ -67,8 +67,6 @@ import 
org.apache.geode.distributed.internal.InternalDistributedSystem;
 import org.apache.geode.distributed.internal.SerialDistributionMessage;
 import org.apache.geode.distributed.internal.SizeableRunnable;
 import 
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import 
org.apache.geode.distributed.internal.membership.gms.MembershipManagerHelper;
-import 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger;
 import 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager;
 import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.dunit.VM;
@@ -263,7 +261,7 @@ public class DistributedSystemDUnitTest extends 
JUnit4DistributedTestCase {
   }
 
   @Test
-  public void testUDPPortRange() throws Exception {
+  public void testPortRange() throws Exception {
     Properties config = new Properties();
     config.put(LOCATORS, "localhost[" + getDUnitLocatorPort() + "]");
     config.setProperty(MEMBERSHIP_PORT_RANGE,
@@ -277,30 +275,6 @@ public class DistributedSystemDUnitTest extends 
JUnit4DistributedTestCase {
   }
 
   @Test
-  public void testMembershipPortRangeWithExactThreeValues() throws Exception {
-    Properties config = new Properties();
-    config.setProperty(LOCATORS, "localhost[" + getDUnitLocatorPort() + "]");
-    config.setProperty(MEMBERSHIP_PORT_RANGE,
-        this.lowerBoundOfPortRange + "-" + this.upperBoundOfPortRange);
-
-    InternalDistributedSystem system = getSystem(config);
-    Cache cache = CacheFactory.create(system);
-    cache.addCacheServer();
-
-    ClusterDistributionManager dm = (ClusterDistributionManager) 
system.getDistributionManager();
-    InternalDistributedMember member = dm.getDistributionManagerId();
-    GMSMembershipManager gms =
-        (GMSMembershipManager) 
MembershipManagerHelper.getMembershipManager(system);
-    JGroupsMessenger messenger = (JGroupsMessenger) 
gms.getServices().getMessenger();
-    String jgConfig = messenger.getJGroupsStackConfig();
-
-    assertThat(jgConfig).as("expected to find port_range=\"2\" in " + jgConfig)
-        .contains("port_range=\"2\"");
-
-    verifyMembershipPortsInRange(member, this.lowerBoundOfPortRange, 
this.upperBoundOfPortRange);
-  }
-
-  @Test
   public void testConflictingUDPPort() {
     Properties config = new Properties();
     config.setProperty(MCAST_PORT, String.valueOf(this.mcastPort));
diff --git 
a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
 
b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
index cfbaacc..b5962dc 100755
--- 
a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
+++ 
b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
@@ -44,6 +44,8 @@ import java.io.ByteArrayInputStream;
 import java.io.DataInputStream;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.net.InetAddress;
+import java.net.MulticastSocket;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -95,7 +97,6 @@ import 
org.apache.geode.distributed.internal.membership.gms.messages.JoinRequest
 import 
org.apache.geode.distributed.internal.membership.gms.messages.JoinResponseMessage;
 import 
org.apache.geode.distributed.internal.membership.gms.messages.LeaveRequestMessage;
 import 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.JGroupsReceiver;
-import org.apache.geode.internal.AvailablePort;
 import org.apache.geode.internal.AvailablePortHelper;
 import org.apache.geode.internal.DataSerializableFixedID;
 import org.apache.geode.internal.HeapDataOutputStream;
@@ -175,12 +176,12 @@ public class JGroupsMessengerJUnitTest {
     // if I do this earlier then test this return messenger as null
     when(services.getMessenger()).thenReturn(messenger);
 
-    String jgroupsConfig = messenger.getJGroupsStackConfig();
+    String jgroupsConfig = messenger.jgStackConfig;
     int startIdx = jgroupsConfig.indexOf("<org");
     int insertIdx = jgroupsConfig.indexOf('>', startIdx + 4) + 1;
     jgroupsConfig = jgroupsConfig.substring(0, insertIdx) + "<" + 
InterceptUDP.class.getName()
         + "/>" + jgroupsConfig.substring(insertIdx);
-    messenger.setJGroupsStackConfigForTesting(jgroupsConfig);
+    messenger.jgStackConfig = jgroupsConfig;
     // System.out.println("jgroups config: " + jgroupsConfig);
 
     messenger.start();
@@ -775,7 +776,7 @@ public class JGroupsMessengerJUnitTest {
   @Test
   public void testPingPong() throws Exception {
     initMocks(false);
-    GMSPingPonger pinger = messenger.getPingPonger();
+    GMSPingPonger pinger = messenger.pingPonger;
     InternalDistributedMember mbr = createAddress(8888);
     JGAddress addr = new JGAddress(mbr);
 
@@ -950,14 +951,16 @@ public class JGroupsMessengerJUnitTest {
     }
   }
 
-  @Test
+  @Test(expected = IOException.class)
   public void testMulticastTest() throws Exception {
     initMocks(true);
     boolean result = messenger.testMulticast(50);
     // this shouldln't succeed because there's no-one to respond
     assertFalse(result);
-    assertFalse(AvailablePort.isPortAvailable(
-        services.getConfig().getDistributionConfig().getMcastPort(), 
AvailablePort.MULTICAST));
+    MulticastSocket socket =
+        new 
MulticastSocket(services.getConfig().getDistributionConfig().getMcastPort());
+    InetAddress address = 
services.getConfig().getDistributionConfig().getMcastAddress();
+    socket.joinGroup(address);
   }
 
   private NetView createView(InternalDistributedMember otherMbr) {
diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index 760ee96..78ceba2 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -127,7 +127,7 @@ public class JGroupsMessenger implements Messenger {
 
   public static boolean THROW_EXCEPTION_ON_START_HOOK;
 
-  private String jgStackConfig;
+  protected String jgStackConfig;
 
   JChannel myChannel;
   InternalDistributedMember localAddress;
@@ -139,7 +139,7 @@ public class JGroupsMessenger implements Messenger {
 
   private volatile NetView view;
 
-  private final GMSPingPonger pingPonger = new GMSPingPonger();
+  protected final GMSPingPonger pingPonger = new GMSPingPonger();
 
   protected final AtomicLong pongsReceived = new AtomicLong(0);
 
@@ -1173,27 +1173,6 @@ public class JGroupsMessenger implements Messenger {
   }
 
   /**
-   * returns the JGroups configuration string, for testing
-   */
-  public String getJGroupsStackConfig() {
-    return this.jgStackConfig;
-  }
-
-  /**
-   * returns the pinger, for testing
-   */
-  public GMSPingPonger getPingPonger() {
-    return this.pingPonger;
-  }
-
-  /**
-   * for unit testing we need to replace UDP with a fake UDP protocol
-   */
-  public void setJGroupsStackConfigForTesting(String config) {
-    this.jgStackConfig = config;
-  }
-
-  /**
    * returns the member ID for the given GMSMember object
    */
   @SuppressWarnings("UnusedParameters")
diff --git 
a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/StatRecorderJUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/messenger/StatRecorderJUnitTest.java
similarity index 96%
rename from 
geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/StatRecorderJUnitTest.java
rename to 
geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/messenger/StatRecorderJUnitTest.java
index c7eebc0..67a1869 100755
--- 
a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/membership/StatRecorderJUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/messenger/StatRecorderJUnitTest.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions 
and limitations under
  * the License.
  */
-package org.apache.geode.distributed.internal.membership.gms.membership;
+package org.apache.geode.distributed.internal.membership.gms.messenger;
 
 import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
 import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
@@ -44,8 +44,6 @@ import 
org.apache.geode.distributed.internal.LonerDistributionManager.DummyDMSta
 import org.apache.geode.distributed.internal.membership.gms.ServiceConfig;
 import org.apache.geode.distributed.internal.membership.gms.Services;
 import org.apache.geode.distributed.internal.membership.gms.interfaces.Manager;
-import 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger;
-import 
org.apache.geode.distributed.internal.membership.gms.messenger.StatRecorder;
 import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
 import org.apache.geode.test.junit.categories.MembershipTest;
 
@@ -190,7 +188,7 @@ public class StatRecorderJUnitTest {
 
     JGroupsMessenger messenger = new JGroupsMessenger();
     messenger.init(mockServices);
-    String jgroupsConfig = messenger.getJGroupsStackConfig();
+    String jgroupsConfig = messenger.jgStackConfig;
     System.out.println(jgroupsConfig);
     assertTrue(jgroupsConfig.contains("gms.messenger.StatRecorder"));
 

Reply via email to