NIHVIVO-2492 Modify FreemarkerHttpServlet and subclasses to be Actions-based. Remove explicit static reliance on the annotation.

This commit is contained in:
j2blake 2011-04-26 16:28:19 +00:00
parent 447e9ac7ee
commit a10909b11b
13 changed files with 251 additions and 179 deletions

View file

@ -54,7 +54,7 @@ public class PolicyHelperTest extends AbstractTestClass {
public void authorizedForActionsNull() {
createPolicy();
assertEquals("null actions", true,
PolicyHelper.isAuthorizedForActions(req, null));
PolicyHelper.isAuthorizedForActions(req, (Actions) null));
}
@Test
@ -117,103 +117,103 @@ public class PolicyHelperTest extends AbstractTestClass {
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
@Test
public void noAnnotation() {
createPolicy();
assertExpectedAuthorization("no actions required",
NoAnnotationServlet.class, true);
}
@Test
public void noRequirements() {
createPolicy();
assertExpectedAuthorization("no actions required",
NoRequirementsServlet.class, true);
}
@Test
public void oneRequirementFail() {
createPolicy();
assertExpectedAuthorization("requires Action1", Action1Servlet.class,
false);
}
@Test
public void oneRequirementSucceed() {
createPolicy(new Action1());
assertExpectedAuthorization("requires Action1", Action1Servlet.class,
true);
}
@Test
public void twoRequirementsFailOne() {
createPolicy(new Action1());
assertExpectedAuthorization("requires Actions 1 and 2",
Action1AndAction2Servlet.class, false);
}
@Test
public void twoRequirementsFailTwo() {
createPolicy(new Action2());
assertExpectedAuthorization("requires Actions 1 and 2",
Action1AndAction2Servlet.class, false);
}
@Test
public void twoRequirementsSucceed() {
createPolicy(new Action2(), new Action1());
assertExpectedAuthorization("requires Actions 1 and 2",
Action1AndAction2Servlet.class, true);
}
@Test
public void oneOrTwoFail() {
createPolicy();
assertExpectedAuthorization("requires Action 1 or 2",
Action1OrAction2Servlet.class, false);
}
@Test
public void oneOrTwoSucceedOne() {
createPolicy(new Action1());
assertExpectedAuthorization("requires Action 1 or 2",
Action1OrAction2Servlet.class, true);
}
@Test
public void oneOrTwoSucceedTwo() {
createPolicy(new Action2());
assertExpectedAuthorization("requires Action 1 or 2",
Action1OrAction2Servlet.class, true);
}
@Test
public void oneOrTwoOrThreeFail() {
createPolicy();
assertExpectedAuthorization("requires Action 1 or 2 or 3",
Action1OrAction2OrAction3Servlet.class, false);
}
@Test
public void oneOrTwoOrThreeSucceedOne() {
createPolicy(new Action1());
assertExpectedAuthorization("requires Action 1 or 2 or 3",
Action1OrAction2OrAction3Servlet.class, true);
}
@Test
public void oneOrTwoOrThreeSucceedTwo() {
createPolicy(new Action2());
assertExpectedAuthorization("requires Action 1 or 2 or 3",
Action1OrAction2OrAction3Servlet.class, true);
}
@Test
public void oneOrTwoOrThreeSucceedThree() {
createPolicy(new Action3());
assertExpectedAuthorization("requires Action 1 or 2 or 3",
Action1OrAction2OrAction3Servlet.class, true);
}
// @Test
// public void noAnnotation() {
// createPolicy();
// assertExpectedAuthorization("no actions required",
// NoAnnotationServlet.class, true);
// }
//
// @Test
// public void noRequirements() {
// createPolicy();
// assertExpectedAuthorization("no actions required",
// NoRequirementsServlet.class, true);
// }
//
// @Test
// public void oneRequirementFail() {
// createPolicy();
// assertExpectedAuthorization("requires Action1", Action1Servlet.class,
// false);
// }
//
// @Test
// public void oneRequirementSucceed() {
// createPolicy(new Action1());
// assertExpectedAuthorization("requires Action1", Action1Servlet.class,
// true);
// }
//
// @Test
// public void twoRequirementsFailOne() {
// createPolicy(new Action1());
// assertExpectedAuthorization("requires Actions 1 and 2",
// Action1AndAction2Servlet.class, false);
// }
//
// @Test
// public void twoRequirementsFailTwo() {
// createPolicy(new Action2());
// assertExpectedAuthorization("requires Actions 1 and 2",
// Action1AndAction2Servlet.class, false);
// }
//
// @Test
// public void twoRequirementsSucceed() {
// createPolicy(new Action2(), new Action1());
// assertExpectedAuthorization("requires Actions 1 and 2",
// Action1AndAction2Servlet.class, true);
// }
//
// @Test
// public void oneOrTwoFail() {
// createPolicy();
// assertExpectedAuthorization("requires Action 1 or 2",
// Action1OrAction2Servlet.class, false);
// }
//
// @Test
// public void oneOrTwoSucceedOne() {
// createPolicy(new Action1());
// assertExpectedAuthorization("requires Action 1 or 2",
// Action1OrAction2Servlet.class, true);
// }
//
// @Test
// public void oneOrTwoSucceedTwo() {
// createPolicy(new Action2());
// assertExpectedAuthorization("requires Action 1 or 2",
// Action1OrAction2Servlet.class, true);
// }
//
// @Test
// public void oneOrTwoOrThreeFail() {
// createPolicy();
// assertExpectedAuthorization("requires Action 1 or 2 or 3",
// Action1OrAction2OrAction3Servlet.class, false);
// }
//
// @Test
// public void oneOrTwoOrThreeSucceedOne() {
// createPolicy(new Action1());
// assertExpectedAuthorization("requires Action 1 or 2 or 3",
// Action1OrAction2OrAction3Servlet.class, true);
// }
//
// @Test
// public void oneOrTwoOrThreeSucceedTwo() {
// createPolicy(new Action2());
// assertExpectedAuthorization("requires Action 1 or 2 or 3",
// Action1OrAction2OrAction3Servlet.class, true);
// }
//
// @Test
// public void oneOrTwoOrThreeSucceedThree() {
// createPolicy(new Action3());
// assertExpectedAuthorization("requires Action 1 or 2 or 3",
// Action1OrAction2OrAction3Servlet.class, true);
// }
// ----------------------------------------------------------------------
// Helper methods
@ -223,11 +223,11 @@ public class PolicyHelperTest extends AbstractTestClass {
ServletPolicyList.addPolicy(ctx, new MySimplePolicy(authorizedActions));
}
private void assertExpectedAuthorization(String label,
Class<? extends VitroHttpServlet> servletClass, boolean expected) {
boolean actual = PolicyHelper.isAuthorizedForServlet(req, servletClass);
assertEquals(label, expected, actual);
}
// private void assertExpectedAuthorization(String label,
// Class<? extends VitroHttpServlet> servletClass, boolean expected) {
// boolean actual = PolicyHelper.isAuthorizedForServlet(req, servletClass);
// assertEquals(label, expected, actual);
// }
// ----------------------------------------------------------------------
// Helper Classes