You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by je...@apache.org on 2016/03/16 22:16:40 UTC
[2/3] incubator-geode git commit: GEODE-17: Adding ManagerMBean
security test
GEODE-17: Adding ManagerMBean security test
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/1ffacdc8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/1ffacdc8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/1ffacdc8
Branch: refs/heads/feature/GEODE-17-2
Commit: 1ffacdc8d0f7d3f1650a67e2266123ef4adb8bbc
Parents: 35e63b8
Author: Jens Deppe <jd...@pivotal.io>
Authored: Wed Mar 16 14:10:29 2016 -0700
Committer: Jens Deppe <jd...@pivotal.io>
Committed: Wed Mar 16 14:16:25 2016 -0700
----------------------------------------------------------------------
.../ManagerMBeanAuthorizationJUnitTest.java | 29 ++++++++++----------
.../internal/security/cacheServer.json | 3 +-
2 files changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1ffacdc8/geode-core/src/test/java/com/gemstone/gemfire/management/internal/security/ManagerMBeanAuthorizationJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/security/ManagerMBeanAuthorizationJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/security/ManagerMBeanAuthorizationJUnitTest.java
index d3add7a..ab22f96 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/security/ManagerMBeanAuthorizationJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/security/ManagerMBeanAuthorizationJUnitTest.java
@@ -16,13 +16,10 @@
*/
package com.gemstone.gemfire.management.internal.security;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.distributed.internal.locks.DLockService;
import com.gemstone.gemfire.internal.AvailablePort;
import com.gemstone.gemfire.management.ManagerMXBean;
+import com.gemstone.gemfire.management.internal.beans.ManagerMBean;
import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
-import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -30,7 +27,11 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import javax.management.ObjectName;
+import java.lang.management.ManagementFactory;
+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.mockito.Mockito.mock;
@Category(IntegrationTest.class)
public class ManagerMBeanAuthorizationJUnitTest {
@@ -46,18 +47,16 @@ public class ManagerMBeanAuthorizationJUnitTest {
public MBeanServerConnectionRule connectionRule = new MBeanServerConnectionRule(jmxManagerPort);
@BeforeClass
- public static void beforeClassSetUp() {
- Cache cache = CacheFactory.getAnyInstance();
+ public static void beforeClassSetup() throws Exception {
+ // Create a mock ManagerMBean that we will use to call against.
+ ObjectName managerMBeanName = ObjectName.getInstance("GemFire", "mock", "Manager");
+ ManagerMXBean bean = mock(ManagerMBean.class);
+ ManagementFactory.getPlatformMBeanServer().registerMBean(bean, managerMBeanName);
}
@Before
public void setUp() throws Exception {
- managerMXBean = connectionRule.getProxyMBean(ManagerMXBean.class);
- }
-
- @AfterClass
- public static void afterClassTeardown() {
- DLockService.destroyAll();
+ managerMXBean = connectionRule.getProxyMBean(ManagerMXBean.class, "GemFire:mock=Manager");
}
@Test
@@ -71,13 +70,13 @@ public class ManagerMBeanAuthorizationJUnitTest {
@Test
@JMXConnectionConfiguration(user = "user", password = "1234567")
public void testSomeAccess() throws Exception {
-// assertThatThrownBy(() -> managerMXBean.becomeLockGrantor()).isInstanceOf(SecurityException.class);
-// managerMXBean.getMemberCount();
+ assertThatThrownBy(() -> managerMXBean.start()).isInstanceOf(SecurityException.class);
+ managerMXBean.getPulseURL();
}
@Test
@JMXConnectionConfiguration(user = "stranger", password = "1234567")
public void testNoAccess() throws Exception {
-// assertThatThrownBy(() -> managerMXBean.becomeLockGrantor()).isInstanceOf(SecurityException.class);
+ assertThatThrownBy(() -> managerMXBean.start()).isInstanceOf(SecurityException.class);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1ffacdc8/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/security/cacheServer.json
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/security/cacheServer.json b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/security/cacheServer.json
index 95037e5..20376b8 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/security/cacheServer.json
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/security/cacheServer.json
@@ -44,7 +44,8 @@
{
"name": "something",
"operationsAllowed": [
- "JMX:GET"
+ "JMX:GET",
+ "MANAGER:SET_PULSE_URL"
]
},
{