Update AAF Version 1.0.0
[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.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 com.att.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 \r
30 import com.att.cadi.aaf.PermEval;\r
31 \r
32 public class JU_PermEval {\r
33 \r
34         @AfterClass\r
35         public static void tearDownAfterClass() throws Exception {\r
36         }\r
37 \r
38         @Test\r
39         public void test() {\r
40                 assertTrue(PermEval.evalInstance(":com.att.temp:role:write",":!com.att.*:role:write"));\r
41                 \r
42                 // TRUE\r
43                 assertTrue(PermEval.evalAction("fred","fred"));\r
44                 assertTrue(PermEval.evalAction("fred,wilma","fred"));\r
45                 assertTrue(PermEval.evalAction("barney,betty,fred,wilma","fred"));\r
46                 assertTrue(PermEval.evalAction("*","fred"));\r
47                 \r
48                 assertTrue(PermEval.evalInstance("fred","fred"));\r
49                 assertTrue(PermEval.evalInstance("fred,wilma","fred"));\r
50                 assertTrue(PermEval.evalInstance("barney,betty,fred,wilma","fred"));\r
51                 assertTrue(PermEval.evalInstance("*","fred"));\r
52                 \r
53                 assertTrue(PermEval.evalInstance(":fred:fred",":fred:fred"));\r
54                 assertTrue(PermEval.evalInstance(":fred:fred,wilma",":fred:fred"));\r
55                 assertTrue(PermEval.evalInstance(":fred:barney,betty,fred,wilma",":fred:fred"));\r
56                 assertTrue(PermEval.evalInstance("*","fred"));\r
57                 assertTrue(PermEval.evalInstance(":*:fred",":fred:fred"));\r
58                 assertTrue(PermEval.evalInstance(":fred:*",":fred:fred"));\r
59                 assertTrue(PermEval.evalInstance(":fred:fred",":!f.*:fred"));\r
60                 assertTrue(PermEval.evalInstance(":fred:fred",":fred:!f.*"));\r
61                 \r
62                 /// FALSE\r
63                 assertFalse(PermEval.evalInstance("fred","wilma"));\r
64                 assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));\r
65                 assertFalse(PermEval.evalInstance(":fred:fred",":fred:wilma"));\r
66                 assertFalse(PermEval.evalInstance(":fred:fred",":wilma:fred"));\r
67                 assertFalse(PermEval.evalInstance(":fred:fred",":wilma:!f.*"));\r
68                 assertFalse(PermEval.evalInstance(":fred:fred",":!f.*:wilma"));\r
69                 assertFalse(PermEval.evalInstance(":fred:fred",":!w.*:!f.*"));\r
70                 assertFalse(PermEval.evalInstance(":fred:fred",":!f.*:!w.*"));\r
71 \r
72                 assertFalse(PermEval.evalInstance(":fred:fred",":fred:!x.*"));\r
73 \r
74                 // MSO Tests 12/3/2015\r
75                 assertFalse(PermEval.evalInstance("/v1/services/features/*","/v1/services/features"));\r
76                 assertFalse(PermEval.evalInstance(":v1:services:features:*",":v1:services:features"));\r
77                 assertTrue(PermEval.evalInstance("/v1/services/features/*","/v1/services/features/api1"));\r
78                 assertTrue(PermEval.evalInstance(":v1:services:features:*",":v1:services:features:api2"));\r
79                 // MSO - Xue Gao\r
80                 assertTrue(PermEval.evalInstance(":v1:requests:*",":v1:requests:test0-service"));   \r
81 \r
82 \r
83                 \r
84                 // Same tests, with Slashes\r
85                 assertTrue(PermEval.evalInstance("/fred/fred","/fred/fred"));\r
86                 assertTrue(PermEval.evalInstance("/fred/fred,wilma","/fred/fred"));\r
87                 assertTrue(PermEval.evalInstance("/fred/barney,betty,fred,wilma","/fred/fred"));\r
88                 assertTrue(PermEval.evalInstance("*","fred"));\r
89                 assertTrue(PermEval.evalInstance("/*/fred","/fred/fred"));\r
90                 assertTrue(PermEval.evalInstance("/fred/*","/fred/fred"));\r
91                 assertTrue(PermEval.evalInstance("/fred/fred","/!f.*/fred"));\r
92                 assertTrue(PermEval.evalInstance("/fred/fred","/fred/!f.*"));\r
93                 \r
94                 /// FALSE\r
95                 assertFalse(PermEval.evalInstance("fred","wilma"));\r
96                 assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));\r
97                 assertFalse(PermEval.evalInstance("/fred/fred","/fred/wilma"));\r
98                 assertFalse(PermEval.evalInstance("/fred/fred","/wilma/fred"));\r
99                 assertFalse(PermEval.evalInstance("/fred/fred","/wilma/!f.*"));\r
100                 assertFalse(PermEval.evalInstance("/fred/fred","/!f.*/wilma"));\r
101                 assertFalse(PermEval.evalInstance("/fred/fred","/!w.*/!f.*"));\r
102                 assertFalse(PermEval.evalInstance("/fred/fred","/!f.*/!w.*"));\r
103 \r
104                 assertFalse(PermEval.evalInstance("/fred/fred","/fred/!x.*"));\r
105                 \r
106         }\r
107 \r
108 }\r