Skip to content

Commit 7297b01

Browse files
authored
feat: Expose getter and setter of aviatorEval for more customization (#359)
* feat: Expose getter and setter of aviatorEval for more customization * test: Add test cases for setAviatorEvaluator method
1 parent a2067cc commit 7297b01

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

src/main/java/org/casbin/jcasbin/main/CoreEnforcer.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,24 @@ public void setModel(Model model) {
149149
fm = FunctionMap.loadFunctionMap();
150150
}
151151

152+
/**
153+
* set the aviator evaluator
154+
*
155+
* @param evaluator aviator evaluator
156+
*/
157+
public void setAviatorEvaluator(AviatorEvaluatorInstance evaluator) {
158+
this.aviatorEval = Objects.requireNonNull(evaluator, "The aviator evaluator cannot be null.");
159+
}
160+
161+
/**
162+
* gets the current Aviator Evaluator instance
163+
*
164+
* @return Aviator Evaluator instance of enforcer
165+
*/
166+
public AviatorEvaluatorInstance getAviatorEval() {
167+
return aviatorEval;
168+
}
169+
152170
/**
153171
* getAdapter gets the current adapter.
154172
*

src/test/java/org/casbin/jcasbin/main/ManagementAPIUnitTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414

1515
package org.casbin.jcasbin.main;
1616

17+
import com.googlecode.aviator.AviatorEvaluator;
18+
import com.googlecode.aviator.AviatorEvaluatorInstance;
19+
import org.junit.Assert;
1720
import org.junit.Test;
1821

1922
import java.util.List;
@@ -203,4 +206,26 @@ public void testModifyGroupingPolicyAPI() {
203206
testGetUsers(e, "data2_admin", asList());
204207
testGetUsers(e, "data3_admin", asList("eve"));
205208
}
209+
210+
@Test
211+
public void should_throwsNullPointException_when_setAviatorEvaluator_given_nullInstance() {
212+
// given
213+
AviatorEvaluatorInstance instance = null;
214+
Enforcer enforcer = new Enforcer();
215+
// when
216+
Assert.assertThrows("The aviator evaluator cannot be null.", NullPointerException.class,
217+
() -> enforcer.setAviatorEvaluator(instance));
218+
}
219+
220+
@Test
221+
public void should_true_when_setAviatorEvaluator_given_customInstance() {
222+
// given
223+
AviatorEvaluatorInstance instance = AviatorEvaluator.newInstance();
224+
Enforcer enforcer = new Enforcer();
225+
// when
226+
enforcer.setAviatorEvaluator(instance);
227+
// then
228+
Assert.assertEquals(instance, enforcer.getAviatorEval());
229+
}
230+
206231
}

0 commit comments

Comments
 (0)