Author: sohil.shah(a)jboss.com
Date: 2009-10-04 10:13:31 -0400 (Sun, 04 Oct 2009)
New Revision: 815
Modified:
authz/trunk/agent/src/test/java/org/jboss/security/authz/agent/test/integration/TestTimeOfDay.java
Log:
experimenting with introducing environment based components (currentTime)
Modified:
authz/trunk/agent/src/test/java/org/jboss/security/authz/agent/test/integration/TestTimeOfDay.java
===================================================================
---
authz/trunk/agent/src/test/java/org/jboss/security/authz/agent/test/integration/TestTimeOfDay.java 2009-10-04
14:07:49 UTC (rev 814)
+++
authz/trunk/agent/src/test/java/org/jboss/security/authz/agent/test/integration/TestTimeOfDay.java 2009-10-04
14:13:31 UTC (rev 815)
@@ -99,6 +99,66 @@
this.enforce(this
.createEnforcementContext(resource, new Read(), accessTime), false);
}
+
+ public void testPermitAfterSpecifiedTime() throws Exception
+ {
+ // SetUp Resource
+ URIResource resource = new URIResource();
+ resource.setUri(new URI("/blah/index.html"));
+
+ Read action = new Read();
+
+ TimeOfDay timeOfDay = new TimeOfDay();
+ Calendar restrictiveCondition = Calendar.getInstance();
+ timeOfDay.setTimeofDay(restrictiveCondition);
+
+ // Setup the Context for the Composition with these components
+ CompositionContext context = new CompositionContext();
+ context.setPolicyTarget(resource);
+ context.addPolicyRule(Effect.PERMIT, action, timeOfDay, "matchIfAfter");
+
+ // Store the policy into the Policy Server
+ this.provisioner.deploy(context);
+
+ this.assertServerState();
+
+ // Go ahead and produce a RequestContext for a "Permit" Enforcement
+ Calendar accessTime = Calendar.getInstance();
+ int hour = accessTime.get(Calendar.HOUR_OF_DAY);
+ accessTime.set(Calendar.HOUR_OF_DAY, (hour + 1));
+ this.enforce(this
+ .createEnforcementContext(resource, new Read(), accessTime), true);
+ }
+
+ public void testDeniedAfterSpecifiedTime() throws Exception
+ {
+ // SetUp Resource
+ URIResource resource = new URIResource();
+ resource.setUri(new URI("/blah/index.html"));
+
+ Read action = new Read();
+
+ TimeOfDay timeOfDay = new TimeOfDay();
+ Calendar restrictiveCondition = Calendar.getInstance();
+ timeOfDay.setTimeofDay(restrictiveCondition);
+
+ // Setup the Context for the Composition with these components
+ CompositionContext context = new CompositionContext();
+ context.setPolicyTarget(resource);
+ context.addPolicyRule(Effect.PERMIT, action, timeOfDay, "matchIfAfter");
+
+ // Store the policy into the Policy Server
+ this.provisioner.deploy(context);
+
+ this.assertServerState();
+
+ // Go ahead and produce a RequestContext for a "Permit" Enforcement
+ Calendar accessTime = Calendar.getInstance();
+ int hour = accessTime.get(Calendar.HOUR_OF_DAY);
+ accessTime.set(Calendar.HOUR_OF_DAY, (hour - 1));
+ this.enforce(this
+ .createEnforcementContext(resource, new Read(), accessTime), false);
+ }
//
------------------------------------------------------------------------------------------------------------------------------------------------------
private EnforcementContext createEnforcementContext(URIResource uriResource,
Operation operation, Calendar accessTime) throws Exception