Author: kwall Date: Wed Jan 14 19:45:42 2015 New Revision: 1651786 URL: http://svn.apache.org/r1651786 Log: QPID-6292: [Java Broker Tests] Add model mechanism test testing the behaviour of secure attributes
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java?rev=1651786&r1=1651785&r2=1651786&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java (original) +++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java Wed Jan 14 19:45:42 2015 @@ -18,12 +18,16 @@ */ package org.apache.qpid.server.model.testmodels.singleton; +import java.security.PrivilegedAction; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import javax.security.auth.Subject; + import org.apache.qpid.server.configuration.IllegalConfigurationException; +import org.apache.qpid.server.model.AbstractConfiguredObject; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.Model; import org.apache.qpid.server.store.ConfiguredObjectRecord; @@ -442,4 +446,34 @@ public class AbstractConfiguredObjectTes assertEquals(TestSingletonImpl.DERIVED_VALUE, object.getDerivedValue()); } + + public void testSecureValueRetrieval() + { + final String objectName = "myName"; + final String secret = "secret"; + + Map<String, Object> attributes = new HashMap<>(); + attributes.put(ConfiguredObject.NAME, objectName); + attributes.put(TestSingleton.SECURE_VALUE, secret); + + final TestSingleton object = _model.getObjectFactory().create(TestSingleton.class, attributes); + + assertEquals(AbstractConfiguredObject.SECURED_STRING_VALUE, object.getAttribute(TestSingleton.SECURE_VALUE)); + assertEquals(secret, object.getSecureValue()); + + //verify we can retrieve the actual secure value using system rights + Subject.doAs(org.apache.qpid.server.security.SecurityManager.getSubjectWithAddedSystemRights(), + new PrivilegedAction<Object>() + { + @Override + public Object run() + { + assertEquals(secret, object.getAttribute(TestSingleton.SECURE_VALUE)); + assertEquals(secret, object.getSecureValue()); + return null; + } + }); + + + } } Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java?rev=1651786&r1=1651785&r2=1651786&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java (original) +++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java Wed Jan 14 19:45:42 2015 @@ -39,6 +39,7 @@ public interface TestSingleton<X extends String ENUM_VALUE = "enumValue"; String INT_VALUE = "intValue"; String VALID_VALUE = "validValue"; + String SECURE_VALUE = "secureValue"; String ENUMSET_VALUES = "enumSetValues"; String TEST_CONTEXT_DEFAULT = "TEST_CONTEXT_DEFAULT"; @@ -80,4 +81,7 @@ public interface TestSingleton<X extends @DerivedAttribute long getDerivedValue(); + @ManagedAttribute(secure = true) + String getSecureValue(); + } Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java?rev=1651786&r1=1651785&r2=1651786&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java (original) +++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java Wed Jan 14 19:45:42 2015 @@ -58,10 +58,13 @@ public class TestSingletonImpl extends A private String _validValue; @ManagedAttributeField - private org.apache.qpid.server.model.testmodels.singleton.TestEnum _enumValue; + private TestEnum _enumValue; @ManagedAttributeField - private Set<org.apache.qpid.server.model.testmodels.singleton.TestEnum> _enumSetValues; + private Set<TestEnum> _enumSetValues; + + @ManagedAttributeField + private String _secureValue; @ManagedObjectFactoryConstructor @@ -143,4 +146,10 @@ public class TestSingletonImpl extends A { return DERIVED_VALUE; } + + @Override + public String getSecureValue() + { + return _secureValue; + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org