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

Reply via email to