GEODE-3249 Moved new test code into a new test method instead of overloading an existing test method.
Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/a07d987d Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/a07d987d Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/a07d987d Branch: refs/heads/feature/GEODE-3249 Commit: a07d987d25da37231acf0315d5376a3ec39cbb59 Parents: 6c2ea4a Author: Bruce Schuchardt <bschucha...@pivotal.io> Authored: Fri Aug 4 15:46:02 2017 -0700 Committer: Bruce Schuchardt <bschucha...@pivotal.io> Committed: Tue Aug 15 15:34:00 2017 -0700 ---------------------------------------------------------------------- .../ClientAuthenticationPart2DUnitTest.java | 5 +++ .../security/ClientAuthenticationTestCase.java | 37 +++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/a07d987d/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationPart2DUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationPart2DUnitTest.java b/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationPart2DUnitTest.java index 3cf2efc..b9f6223 100644 --- a/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationPart2DUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationPart2DUnitTest.java @@ -34,6 +34,11 @@ public class ClientAuthenticationPart2DUnitTest extends ClientAuthenticationTest } @Test + public void testNoCredentialsForMultipleUsersCantRegisterMetadata() throws Exception { + doTestNoCredentialsCantRegisterMetadata(true); + } + + @Test public void testInvalidCredentialsForMultipleUsers() throws Exception { doTestInvalidCredentials(true); } http://git-wip-us.apache.org/repos/asf/geode/blob/a07d987d/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationTestCase.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationTestCase.java b/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationTestCase.java index d37902c..2221ebc 100644 --- a/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationTestCase.java +++ b/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationTestCase.java @@ -212,8 +212,43 @@ public abstract class ClientAuthenticationTestCase extends JUnit4DistributedTest client2.invoke( () -> createCacheClient(null, null, null, port1, port2, 0, multiUser, AUTHREQ_EXCEPTION)); } + } + + protected void doTestNoCredentialsCantRegisterMetadata(final boolean multiUser) throws Exception { + CredentialGenerator gen = new DummyCredentialGenerator(); + Properties extraProps = gen.getSystemProperties(); + Properties javaProps = gen.getJavaProperties(); + String authenticator = gen.getAuthenticator(); + String authInit = gen.getAuthInit(); + + // Start the servers + int locPort1 = getLocatorPort(); + int locPort2 = getLocatorPort(); + String locString = getAndClearLocatorString(); + + int port1 = createServer1(extraProps, javaProps, authenticator, locPort1, locString); + int port2 = server2 + .invoke(() -> createCacheServer(locPort2, locString, authenticator, extraProps, javaProps)); + + // Start first client with valid credentials + Properties credentials1 = gen.getValidCredentials(1); + Properties javaProps1 = gen.getJavaProperties(); + + createClient1NoException(multiUser, authInit, port1, port2, credentials1, javaProps1); + + // Trying to create the region on client2 + if (gen.classCode().equals(CredentialGenerator.ClassCode.SSL)) { + // For SSL the exception may not come since the server can close socket + // before handshake message is sent from client. However exception + // should come in any region operations. + client2.invoke( + () -> createCacheClient(null, null, null, port1, port2, 0, multiUser, NO_EXCEPTION)); + client2.invoke(() -> doPuts(2, OTHER_EXCEPTION)); + + } else { + client2.invoke( + () -> createCacheClient(null, null, null, port1, port2, 0, multiUser, AUTHREQ_EXCEPTION)); - if (!gen.classCode().equals(CredentialGenerator.ClassCode.SSL)) { // Try to register a PDX type with the server client2.invoke("register a PDX type", () -> { HeapDataOutputStream outputStream = new HeapDataOutputStream(100, Version.CURRENT);