2 * ============LICENSE_START====================================================
4 * ===========================================================================
5 * Copyright (c) 2018 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
11 * http://www.apache.org/licenses/LICENSE-2.0
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====================================================
22 package org.onap.aaf.auth.batch.approvalsets;
24 import static org.junit.Assert.assertTrue;
25 import static org.mockito.MockitoAnnotations.initMocks;
27 import java.io.IOException;
28 import java.util.ArrayList;
29 import java.util.Date;
30 import java.util.GregorianCalendar;
31 import java.util.List;
33 import org.junit.Before;
34 import org.junit.Test;
35 import org.mockito.Mock;
36 import org.mockito.Mockito;
37 import org.onap.aaf.auth.dao.cass.NsDAO;
38 import org.onap.aaf.auth.dao.cass.RoleDAO;
39 import org.onap.aaf.auth.dao.cass.UserRoleDAO;
40 import org.onap.aaf.auth.dao.cass.UserRoleDAO.Data;
41 import org.onap.aaf.auth.env.AuthzTrans;
42 import org.onap.aaf.auth.layer.Result;
43 import org.onap.aaf.auth.org.Organization;
44 import org.onap.aaf.auth.org.Organization.Identity;
45 import org.onap.aaf.auth.org.OrganizationException;
46 import org.onap.aaf.cadi.CadiException;
47 import org.onap.aaf.cadi.PropAccess;
48 import org.onap.aaf.org.DefaultOrgIdentity;
50 import com.datastax.driver.core.Cluster;
52 public class JU_URApprovalSet {
64 URApprovalSet approvalObj;
67 Loader<UserRoleDAO.Data> lurdd;
75 public void testConstructor() {
76 GregorianCalendar start = new GregorianCalendar();
77 UserRoleDAO.Data urdd = new UserRoleDAO.Data();
79 urdd.expires = new Date();
80 Organization orgObj = Mockito.mock(Organization.class);
83 Mockito.doReturn(urdd).when(lurdd).load();
84 Mockito.doReturn(orgObj).when(trans).org();
85 Mockito.doReturn(Mockito.mock(GregorianCalendar.class)).when(orgObj)
86 .expiration(null, Organization.Expiration.UserInRole);
88 Result<RoleDAO.Data> rsRoleData = new Result<RoleDAO.Data>(null, 0,
89 "test", new Object[0]);
90 Mockito.doReturn(rsRoleData).when(dv).roleByName(trans, urdd.role);
91 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
92 } catch (CadiException e) {
93 assertTrue(e.getMessage().contains("Error - test"));
94 } catch (IOException e) {
95 // TODO Auto-generated catch block
100 urdd.rname = "admin";
101 RoleDAO.Data dataObj = new RoleDAO.Data();
102 Result<RoleDAO.Data> rsRoleData = new Result<RoleDAO.Data>(dataObj,
103 0, "test", new Object[0]);
104 Mockito.doReturn(rsRoleData).when(dv).roleByName(trans, urdd.role);
106 Result<NsDAO.Data> rsNsData = new Result<NsDAO.Data>(null, 0,
107 "test", new Object[0]);
108 Mockito.doReturn(rsNsData).when(dv).ns(trans, urdd.ns);
109 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
110 } catch (CadiException e) {
111 assertTrue(e.getMessage().contains("Error - test"));
112 } catch (IOException e) {
113 // TODO Auto-generated catch block
118 urdd.rname = "rname";
119 NsDAO.Data dataObj = new NsDAO.Data();
121 Result<NsDAO.Data> rsNsData = new Result<NsDAO.Data>(dataObj, 0,
122 "test", new Object[0]);
123 Mockito.doReturn(rsNsData).when(dv).ns(trans, urdd.ns);
125 Result<List<Data>> rsData = new Result<List<Data>>(null, 1, "test",
127 Mockito.doReturn(rsData).when(dv).ursByRole(trans, urdd.role);
128 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
129 } catch (CadiException e) {
130 assertTrue(e.getMessage()
131 .contains("User 'null' in Role 'null' does not exist"));
132 } catch (IOException e) {
133 // TODO Auto-generated catch block
139 List<Data> dataAL = new ArrayList<>();
140 Data data = new Data();
144 Result<List<Data>> rsData = new Result<List<Data>>(dataAL, 0,
145 "test", new Object[0]);
146 Mockito.doReturn(rsData).when(dv).ursByRole(trans, urdd.role);
147 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
148 } catch (CadiException e) {
149 assertTrue(e.getMessage()
150 .contains("User 'test' in Role 'null' does not exist"));
151 } catch (IOException e) {
152 // TODO Auto-generated catch block
158 List<Data> dataAL = new ArrayList<>();
159 Data data = new Data();
163 Result<List<Data>> rsData = new Result<List<Data>>(dataAL, 0,
164 "test", new Object[0]);
165 Mockito.doReturn(rsData).when(dv).ursByRole(trans, urdd.role);
167 Result<List<UserRoleDAO.Data>> rsURData = new Result<List<UserRoleDAO.Data>>(
168 null, 1, "test", new Object[0]);
169 Mockito.doReturn(rsURData).when(dv).ursByRole(trans,
172 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
174 List<UserRoleDAO.Data> urDataAL = new ArrayList<>();
175 UserRoleDAO.Data urData = new UserRoleDAO.Data();
176 urData.user = "user";
177 urDataAL.add(urData);
178 rsURData = new Result<List<UserRoleDAO.Data>>(urDataAL, 0, "test",
180 Mockito.doReturn(rsURData).when(dv).ursByRole(trans,
182 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
184 List<Identity> identityAL = new ArrayList<Identity>();
185 Identity idenObj = Mockito.mock(DefaultOrgIdentity.class);
186 identityAL.add(idenObj);
189 Mockito.doReturn(identityAL).when(orgObj).getApprovers(trans,
191 } catch (OrganizationException e) {
192 // TODO Auto-generated catch block
195 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
197 urDataAL = new ArrayList<>();
198 urData = new UserRoleDAO.Data();
199 urData.user = "user1";
200 urDataAL.add(urData);
201 rsURData = new Result<List<UserRoleDAO.Data>>(urDataAL, 0, "test",
203 Mockito.doReturn(rsURData).when(dv).ursByRole(trans,
205 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
206 } catch (CadiException e) {
207 assertTrue(e.getMessage()
208 .contains("User 'null' in Role 'null' does not exist"));
209 } catch (IOException e) {
210 // TODO Auto-generated catch block
216 Mockito.doThrow(new OrganizationException()).when(orgObj)
217 .getApprovers(trans, urdd.user);
218 } catch (OrganizationException e) {
219 // TODO Auto-generated catch block
222 approvalObj = new URApprovalSet(trans, start, dv, lurdd);
223 } catch (CadiException e) {
225 assertTrue(e.getMessage()
226 .contains("User 'null' in Role 'null' does not exist"));
227 } catch (IOException e) {
228 // TODO Auto-generated catch block