Add Notice of aaf/cadi source moving to aaf/authz
[aaf/cadi.git] / core / src / test / java / org / onap / aaf / cadi / JU_UserTest.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;\r
24 \r
25 import static org.junit.Assert.*;\r
26 \r
27 import org.junit.Test;\r
28 \r
29 \r
30 import static org.hamcrest.CoreMatchers.is;\r
31 import static org.junit.Assert.*;\r
32 import static org.mockito.Mockito.when;\r
33 \r
34 import java.security.Principal;\r
35 import java.util.ArrayList;\r
36 import java.util.HashMap;\r
37 import java.util.List;\r
38 import java.util.Map;\r
39 \r
40 import org.junit.Before;\r
41 import org.junit.Test;\r
42 import org.mockito.Mock;\r
43 import org.mockito.MockitoAnnotations;\r
44 import org.onap.aaf.cadi.lur.LocalPermission;\r
45 \r
46 public class JU_UserTest {\r
47 \r
48         @Mock\r
49         private Principal principal;\r
50         \r
51         @Mock\r
52         private LocalPermission permission;\r
53         \r
54         @Before\r
55         public void setup() {\r
56                 MockitoAnnotations.initMocks(this);\r
57                 \r
58                 when(principal.getName()).thenReturn("Principal");\r
59                 \r
60                 when(permission.getKey()).thenReturn("NewKey");\r
61                 when(permission.match(permission)).thenReturn(true);\r
62         }\r
63         \r
64         @Test\r
65         public void testCountCheck() {\r
66                 User<Permission> user = new User<Permission>(principal);\r
67                 user.resetCount();\r
68                 assertThat(user.count, is(0));\r
69                 user.incCount();\r
70                 assertThat(user.count, is(1));\r
71         }\r
72         \r
73         @Test\r
74         public void testCountCheck1() {\r
75                 User<Permission> user = new User<Permission>(principal);\r
76                 user.resetCount();\r
77                 assertThat(user.count, is(0));\r
78                 user.incCount();\r
79                 assertThat(user.count, is(1));\r
80         }\r
81 \r
82         @Test\r
83         public void testPerm() throws InterruptedException {\r
84                 User<Permission> user = new User<Permission>(principal);\r
85                 assertThat(user.permExpires(), is(Long.MAX_VALUE));\r
86                 user.renewPerm();\r
87                 Thread.sleep(1);\r
88                 assertThat(user.permExpired(), is(true));\r
89                 user = new User<Permission>(principal,100);\r
90                 assertTrue(user.noPerms());\r
91                 user.add(permission);\r
92                 assertFalse(user.noPerms());\r
93                 user.setNoPerms();\r
94                 assertThat(user.permExpired(), is(false));\r
95                 assertFalse(user.permsUnloaded());\r
96                 user.perms = null;\r
97                 assertTrue(user.permsUnloaded());\r
98                 assertTrue(user.noPerms());\r
99         }\r
100         \r
101         @Test\r
102         public void testPerm1() throws InterruptedException {\r
103                 User<Permission> user = new User<Permission>(principal);\r
104                 assertThat(user.permExpires(), is(Long.MAX_VALUE));\r
105                 user.renewPerm();\r
106                 Thread.sleep(1);\r
107                 assertThat(user.permExpired(), is(true));\r
108                 user = new User<Permission>(principal,100);\r
109                 assertTrue(user.noPerms());\r
110                 user.add(permission);\r
111                 assertFalse(user.noPerms());\r
112                 user.setNoPerms();\r
113                 assertThat(user.permExpired(), is(false));\r
114                 assertFalse(user.permsUnloaded());\r
115                 user.perms = null;\r
116                 assertTrue(user.permsUnloaded());\r
117                 assertTrue(user.noPerms());\r
118         }\r
119         \r
120         @Test\r
121         public void testAddValuesToNewMap() {\r
122                 User<Permission> user = new User<Permission>(principal);\r
123                 Map<String, Permission> newMap = new HashMap<String,Permission>();\r
124                 \r
125                 assertFalse(user.contains(permission));\r
126                 \r
127                 user.add(newMap, permission);\r
128                 user.setMap(newMap);\r
129                 \r
130                 assertTrue(user.contains(permission));\r
131                 \r
132                 List<Permission> sink = new ArrayList<Permission>();\r
133                 user.copyPermsTo(sink);\r
134                 \r
135                 assertThat(sink.size(), is(1));\r
136                 assertTrue(sink.contains(permission));\r
137                 \r
138                 assertThat(user.toString(), is("Principal|:NewKey"));\r
139         }\r
140         \r
141         @Test\r
142         public void testAddValuesToNewMap1() {\r
143                 User<Permission> user = new User<Permission>(principal);\r
144                 Map<String, Permission> newMap = new HashMap<String,Permission>();\r
145                 \r
146                 assertFalse(user.contains(permission));\r
147                 \r
148                 user.add(newMap, permission);\r
149                 user.setMap(newMap);\r
150                 \r
151                 assertTrue(user.contains(permission));\r
152                 \r
153                 List<Permission> sink = new ArrayList<Permission>();\r
154                 user.copyPermsTo(sink);\r
155                 \r
156                 assertThat(sink.size(), is(1));\r
157                 assertTrue(sink.contains(permission));\r
158                 \r
159                 assertThat(user.toString(), is("Principal|:NewKey"));\r
160         }\r
161 }\r