1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.common.lib.search;
20
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertTrue;
23
24 import org.apache.cxf.jaxrs.ext.search.ConditionType;
25 import org.apache.cxf.jaxrs.ext.search.SearchBean;
26 import org.apache.cxf.jaxrs.ext.search.SearchCondition;
27 import org.apache.cxf.jaxrs.ext.search.fiql.FiqlParser;
28 import org.junit.jupiter.api.Test;
29
30 public class SyncopeFiqlParserTest {
31
32 private static final SyncopeFiqlParser<SearchBean> FIQL_PARSER = new SyncopeFiqlParser<>(
33 SearchBean.class, AbstractFiqlSearchConditionBuilder.CONTEXTUAL_PROPERTIES);
34
35 private static SyncopeFiqlSearchCondition<SearchBean> parse(final String fiql) {
36 SearchCondition<SearchBean> parsed = FIQL_PARSER.parse(fiql);
37 assertTrue(parsed instanceof SyncopeFiqlSearchCondition);
38 return (SyncopeFiqlSearchCondition<SearchBean>) parsed;
39 }
40
41 @Test
42 public void testEqualsIgnoreCase() {
43 SyncopeFiqlSearchCondition<SearchBean> cond = parse("name=~ami*");
44 assertEquals(SyncopeFiqlParser.IEQ, cond.getOperator());
45 assertEquals(ConditionType.CUSTOM, cond.getConditionType());
46 assertEquals("ami*", cond.getCondition().get("name"));
47 }
48
49 @Test
50 public void testNotEqualsIgnoreCase() {
51 SyncopeFiqlSearchCondition<SearchBean> cond = parse("name!~ami*");
52 assertEquals(SyncopeFiqlParser.NIEQ, cond.getOperator());
53 assertEquals(ConditionType.CUSTOM, cond.getConditionType());
54 assertEquals("ami*", cond.getCondition().get("name"));
55 }
56
57
58
59
60 @Test
61 public void testEquals() {
62 SyncopeFiqlSearchCondition<SearchBean> cond = parse("name==ami*");
63 assertEquals(FiqlParser.EQ, cond.getOperator());
64 assertEquals(ConditionType.EQUALS, cond.getConditionType());
65 assertEquals("ami*", cond.getCondition().get("name"));
66 }
67
68 }