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