Merge pull request #1624 from jaferkhan/instantiate-verdict
Make constructor of 'Verdict' public
This commit is contained in:
commit
2805089212
|
@ -423,7 +423,7 @@ public class AuthorizationInterceptor implements IRuleApplier {
|
||||||
private final IAuthRule myDecidingRule;
|
private final IAuthRule myDecidingRule;
|
||||||
private final PolicyEnum myDecision;
|
private final PolicyEnum myDecision;
|
||||||
|
|
||||||
Verdict(PolicyEnum theDecision, IAuthRule theDecidingRule) {
|
public Verdict(PolicyEnum theDecision, IAuthRule theDecidingRule) {
|
||||||
Validate.notNull(theDecision);
|
Validate.notNull(theDecision);
|
||||||
|
|
||||||
myDecision = theDecision;
|
myDecision = theDecision;
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
package ca.uhn.fhir.rest.server;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.interceptor.api.Pointcut;
|
||||||
|
import ca.uhn.fhir.rest.api.RestOperationTypeEnum;
|
||||||
|
import ca.uhn.fhir.rest.api.server.RequestDetails;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.auth.AuthorizationFlagsEnum;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.auth.AuthorizationInterceptor.Verdict;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.auth.IAuthRule;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.auth.IRuleApplier;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.auth.PolicyEnum;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
import org.hl7.fhir.instance.model.api.IIdType;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for {@link Verdict}
|
||||||
|
*
|
||||||
|
* @author Jafer Khan Shamshad
|
||||||
|
*/
|
||||||
|
public class VerdictTest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementers should be able to instantiate {@link Verdict} outside the package where it has been defined.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testInstantiationFromAnotherPackage() {
|
||||||
|
Verdict verdict = new Verdict(PolicyEnum.ALLOW, new CustomRule());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Existing implementations of {@link IAuthRule} are inaccessible from this package.
|
||||||
|
* This test class is a sample implementation of {@link IAuthRule}.
|
||||||
|
*/
|
||||||
|
public static class CustomRule implements IAuthRule {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Verdict applyRule(RestOperationTypeEnum theOperation, RequestDetails theRequestDetails, IBaseResource theInputResource, IIdType theInputResourceId, IBaseResource theOutputResource, IRuleApplier theRuleApplier, Set<AuthorizationFlagsEnum> theFlags, Pointcut thePointcut) {
|
||||||
|
return new Verdict(PolicyEnum.ALLOW, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "Custom rule";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,11 @@
|
||||||
package ca.uhn.fhir.rest.server.interceptor.auth;
|
package ca.uhn.fhir.rest.server.interceptor.auth;
|
||||||
|
|
||||||
import ca.uhn.fhir.rest.server.interceptor.auth.AuthorizationInterceptor.Verdict;
|
import ca.uhn.fhir.rest.server.interceptor.auth.AuthorizationInterceptor.Verdict;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
public class VerdictTest {
|
public class VerdictTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testToString() {
|
public void testToString() {
|
||||||
Verdict v = new AuthorizationInterceptor.Verdict(PolicyEnum.ALLOW, new RuleImplOp("foo"));
|
Verdict v = new AuthorizationInterceptor.Verdict(PolicyEnum.ALLOW, new RuleImplOp("foo"));
|
||||||
v.toString();
|
v.toString();
|
||||||
|
|
Loading…
Reference in New Issue