Mass removal of all Tabs (Style Warnings)
[aaf/authz.git] / cadi / core / src / test / java / org / onap / aaf / cadi / test / JU_CadiWrap.java
1 /*******************************************************************************
2  * ============LICENSE_START====================================================
3  * * org.onap.aaf
4  * * ===========================================================================
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * * ===========================================================================
7  * * Licensed under the Apache License, Version 2.0 (the "License");
8  * * you may not use this file except in compliance with the License.
9  * * You may obtain a copy of the License at
10  * * 
11  *  *      http://www.apache.org/licenses/LICENSE-2.0
12  * * 
13  *  * Unless required by applicable law or agreed to in writing, software
14  * * distributed under the License is distributed on an "AS IS" BASIS,
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * * See the License for the specific language governing permissions and
17  * * limitations under the License.
18  * * ============LICENSE_END====================================================
19  * *
20  * *
21  ******************************************************************************/
22 package org.onap.aaf.cadi.test;
23
24 import org.junit.*;
25 import org.mockito.Mock;
26 import org.mockito.MockitoAnnotations;
27
28 import static org.junit.Assert.*;
29 import static org.mockito.Matchers.*;
30 import static org.mockito.Mockito.*;
31
32 import java.io.ByteArrayOutputStream;
33 import java.io.PrintStream;
34 import java.security.Principal;
35 import java.util.List;
36
37 import javax.servlet.http.HttpServletRequest;
38
39 import org.onap.aaf.cadi.Access;
40 import org.onap.aaf.cadi.CachingLur;
41 import org.onap.aaf.cadi.CadiException;
42 import org.onap.aaf.cadi.CadiWrap;
43 import org.onap.aaf.cadi.Lur;
44 import org.onap.aaf.cadi.Permission;
45 import org.onap.aaf.cadi.PropAccess;
46 import org.onap.aaf.cadi.User;
47 import org.onap.aaf.cadi.CachedPrincipal.Resp;
48 import org.onap.aaf.cadi.filter.MapPermConverter;
49 import org.onap.aaf.cadi.lur.EpiLur;
50 import org.onap.aaf.cadi.principal.TaggedPrincipal;
51 import org.onap.aaf.cadi.taf.TafResp;
52
53 public class JU_CadiWrap {
54     
55     @Mock
56     private HttpServletRequest request;
57     
58     @Mock
59     private TafResp tafResp;
60     
61     @Mock
62     private TaggedPrincipal principle;
63
64     @Mock
65     private Lur lur;
66
67     @Before
68     public void setUp() throws Exception {
69         MockitoAnnotations.initMocks(this);
70
71         System.setOut(new PrintStream(new ByteArrayOutputStream()));
72     }
73
74     @After
75     public void tearDown() {
76         System.setOut(System.out);
77     }
78
79     @SuppressWarnings("unchecked")
80     @Test
81     public void testInstantiate() throws CadiException {
82         Access a = new PropAccess();
83         when(tafResp.getAccess()).thenReturn(a);
84         
85         lur.fishAll(isA(Principal.class), (List<Permission>)isA(List.class));
86         
87         EpiLur lur1 = new EpiLur(lur);
88         
89         CadiWrap wrap = new CadiWrap(request, tafResp, lur1);
90         
91         assertNull(wrap.getUserPrincipal());
92         assertNull(wrap.getRemoteUser());
93         assertNull(wrap.getUser());
94         assertEquals(wrap.getPermissions(principle).size(), 0);
95         assertTrue(wrap.access() instanceof PropAccess);
96         
97         byte[] arr = {'1','2'};
98         wrap.setCred(arr);
99         
100         assertEquals(arr, wrap.getCred());
101         
102         wrap.setUser("User1");
103         assertEquals("User1", wrap.getUser());
104         
105         wrap.invalidate("1");
106
107         assertFalse(wrap.isUserInRole(null));
108         
109         wrap.set(tafResp, lur);
110         
111         wrap.invalidate("2");
112         
113         assertFalse(wrap.isUserInRole("User1"));
114     }
115
116     @Test
117     public void testInstantiateWithPermConverter() throws CadiException {
118         Access a = new PropAccess();
119         when(tafResp.getAccess()).thenReturn(a);
120         when(tafResp.getPrincipal()).thenReturn(principle);
121         
122         // Anonymous object for testing purposes
123         CachingLur<Permission> lur1 = new CachingLur<Permission>() {
124             @Override public Permission createPerm(String p) { return null; }
125             @Override public boolean fish(Principal bait, Permission ... pond) { return true; }
126             @Override public void fishAll(Principal bait, List<Permission> permissions) { }
127             @Override public void destroy() { }
128             @Override public boolean handlesExclusively(Permission ... pond) { return false; }
129             @Override public boolean handles(Principal principal) { return false; }
130             @Override public void remove(String user) { }
131             @Override public Resp reload(User<Permission> user) { return null; }
132             @Override public void setDebug(String commaDelimIDsOrNull) { }
133             @Override public void clear(Principal p, StringBuilder sb) { }
134         };
135         
136         MapPermConverter pc = new MapPermConverter();
137         
138         CadiWrap wrap = new CadiWrap(request, tafResp, lur1, pc);
139         
140         assertNotNull(wrap.getUserPrincipal());
141         assertNull(wrap.getRemoteUser());
142         assertNull(wrap.getUser());
143         
144         byte[] arr = {'1','2'};
145         wrap.setCred(arr);
146         
147         assertEquals(arr, wrap.getCred());
148         
149         wrap.setUser("User1");
150         assertEquals("User1", wrap.getUser());
151         
152         wrap.invalidate("1");
153         wrap.setPermConverter(new MapPermConverter());
154         
155         assertTrue(wrap.getLur() instanceof CachingLur);
156         assertTrue(wrap.isUserInRole("User1"));
157         
158         wrap.set(tafResp, lur);
159         assertFalse(wrap.isUserInRole("Perm1"));
160     }
161 }