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"));