[AAF-21] Initial code import
[aaf/cadi.git] / aaf / src / test / java / com / att / cadi / lur / aaf / test / JU_PermEval.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aai\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * Copyright © 2017 Amdocs\r
7  * * ===========================================================================\r
8  * * Licensed under the Apache License, Version 2.0 (the "License");\r
9  * * you may not use this file except in compliance with the License.\r
10  * * You may obtain a copy of the License at\r
11  * * \r
12  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
13  * * \r
14  *  * Unless required by applicable law or agreed to in writing, software\r
15  * * distributed under the License is distributed on an "AS IS" BASIS,\r
16  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17  * * See the License for the specific language governing permissions and\r
18  * * limitations under the License.\r
19  * * ============LICENSE_END====================================================\r
20  * *\r
21  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
22  * *\r
23  ******************************************************************************/\r
24 package com.att.cadi.lur.aaf.test;\r
25 \r
26 import static org.junit.Assert.*;\r
27 \r
28 import org.junit.AfterClass;\r
29 import org.junit.Test;\r
30 \r
31 import com.att.cadi.aaf.PermEval;\r
32 \r
33 public class JU_PermEval {\r
34 \r
35         @AfterClass\r
36         public static void tearDownAfterClass() throws Exception {\r
37         }\r
38 \r
39         @Test\r
40         public void test() {\r
41                 assertTrue(PermEval.evalInstance(":com.att.temp:role:write",":!com.att.*:role:write"));\r
42                 \r
43                 // TRUE\r
44                 assertTrue(PermEval.evalAction("fred","fred"));\r
45                 assertTrue(PermEval.evalAction("fred,wilma","fred"));\r
46                 assertTrue(PermEval.evalAction("barney,betty,fred,wilma","fred"));\r
47                 assertTrue(PermEval.evalAction("*","fred"));\r
48                 \r
49                 assertTrue(PermEval.evalInstance("fred","fred"));\r
50                 assertTrue(PermEval.evalInstance("fred,wilma","fred"));\r
51                 assertTrue(PermEval.evalInstance("barney,betty,fred,wilma","fred"));\r
52                 assertTrue(PermEval.evalInstance("*","fred"));\r
53                 \r
54                 assertTrue(PermEval.evalInstance(":fred:fred",":fred:fred"));\r
55                 assertTrue(PermEval.evalInstance(":fred:fred,wilma",":fred:fred"));\r
56                 assertTrue(PermEval.evalInstance(":fred:barney,betty,fred,wilma",":fred:fred"));\r
57                 assertTrue(PermEval.evalInstance("*","fred"));\r
58                 assertTrue(PermEval.evalInstance(":*:fred",":fred:fred"));\r
59                 assertTrue(PermEval.evalInstance(":fred:*",":fred:fred"));\r
60                 assertTrue(PermEval.evalInstance(":fred:fred",":!f.*:fred"));\r
61                 assertTrue(PermEval.evalInstance(":fred:fred",":fred:!f.*"));\r
62                 \r
63                 /// FALSE\r
64                 assertFalse(PermEval.evalInstance("fred","wilma"));\r
65                 assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));\r
66                 assertFalse(PermEval.evalInstance(":fred:fred",":fred:wilma"));\r
67                 assertFalse(PermEval.evalInstance(":fred:fred",":wilma:fred"));\r
68                 assertFalse(PermEval.evalInstance(":fred:fred",":wilma:!f.*"));\r
69                 assertFalse(PermEval.evalInstance(":fred:fred",":!f.*:wilma"));\r
70                 assertFalse(PermEval.evalInstance(":fred:fred",":!w.*:!f.*"));\r
71                 assertFalse(PermEval.evalInstance(":fred:fred",":!f.*:!w.*"));\r
72 \r
73                 assertFalse(PermEval.evalInstance(":fred:fred",":fred:!x.*"));\r
74 \r
75                 // MSO Tests 12/3/2015\r
76                 assertFalse(PermEval.evalInstance("/v1/services/features/*","/v1/services/features"));\r
77                 assertFalse(PermEval.evalInstance(":v1:services:features:*",":v1:services:features"));\r
78                 assertTrue(PermEval.evalInstance("/v1/services/features/*","/v1/services/features/api1"));\r
79                 assertTrue(PermEval.evalInstance(":v1:services:features:*",":v1:services:features:api2"));\r
80                 // MSO - Xue Gao\r
81                 assertTrue(PermEval.evalInstance(":v1:requests:*",":v1:requests:test0-service"));   \r
82 \r
83 \r
84                 \r
85                 // Same tests, with Slashes\r
86                 assertTrue(PermEval.evalInstance("/fred/fred","/fred/fred"));\r
87                 assertTrue(PermEval.evalInstance("/fred/fred,wilma","/fred/fred"));\r
88                 assertTrue(PermEval.evalInstance("/fred/barney,betty,fred,wilma","/fred/fred"));\r
89                 assertTrue(PermEval.evalInstance("*","fred"));\r
90                 assertTrue(PermEval.evalInstance("/*/fred","/fred/fred"));\r
91                 assertTrue(PermEval.evalInstance("/fred/*","/fred/fred"));\r
92                 assertTrue(PermEval.evalInstance("/fred/fred","/!f.*/fred"));\r
93                 assertTrue(PermEval.evalInstance("/fred/fred","/fred/!f.*"));\r
94                 \r
95                 /// FALSE\r
96                 assertFalse(PermEval.evalInstance("fred","wilma"));\r
97                 assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));\r
98                 assertFalse(PermEval.evalInstance("/fred/fred","/fred/wilma"));\r
99                 assertFalse(PermEval.evalInstance("/fred/fred","/wilma/fred"));\r
100                 assertFalse(PermEval.evalInstance("/fred/fred","/wilma/!f.*"));\r
101                 assertFalse(PermEval.evalInstance("/fred/fred","/!f.*/wilma"));\r
102                 assertFalse(PermEval.evalInstance("/fred/fred","/!w.*/!f.*"));\r
103                 assertFalse(PermEval.evalInstance("/fred/fred","/!f.*/!w.*"));\r
104 \r
105                 assertFalse(PermEval.evalInstance("/fred/fred","/fred/!x.*"));\r
106                 \r
107         }\r
108 \r
109 }\r