1 /*******************************************************************************
2 * ============LICENSE_START====================================================
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
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====================================================
21 ******************************************************************************/
22 package org.onap.aaf.org.test;
24 import static org.junit.Assert.*;
25 import static org.mockito.Matchers.any;
26 import static org.mockito.Mockito.when;
29 import java.io.IOException;
32 import org.junit.Before;
33 import org.junit.Test;
34 import org.junit.runner.RunWith;
35 import org.mockito.Mock;
36 import org.onap.aaf.auth.env.AuthzTrans;
37 import org.onap.aaf.auth.org.OrganizationException;
38 import org.onap.aaf.cadi.config.Config;
39 import org.onap.aaf.misc.env.Env;
40 import org.onap.aaf.misc.env.LogTarget;
41 import org.onap.aaf.misc.env.TimeTaken;
42 import org.onap.aaf.org.DefaultOrg;
43 import org.onap.aaf.org.Identities;
44 import org.powermock.modules.junit4.PowerMockRunner;
45 import org.onap.aaf.auth.local.AbsData.Reuse;
48 @RunWith(PowerMockRunner.class)
49 public class JU_DefaultOrg {
52 private DefaultOrg defaultOrg;
61 AuthzTrans authzTransMock;
67 LogTarget logTargetMock;
70 private static final String PROPERTY_IS_REQUIRED = " property is Required";
71 private static final String DOMAIN = "osaaf.com";
72 private static final String REALM = "com.osaaf";
73 private static final String NAME = "Default Organization";
74 private static final String NO_PASS = NAME + " does not support Passwords. Use AAF";
76 private static final String URL = "www.deforg.com";
77 private static final String IDENT = "ccontra|iowna";
78 private static final String CCS = "mmanager|bdevl";
79 String mailHost,mailFromUserId,summary,supportAddress;
81 private final static int TIMEOUT = Integer.parseInt(Config.AAF_CONN_TIMEOUT_DEF);
86 public void setUp() throws OrganizationException{
88 mailFromUserId = "frommail";
89 mailHost = "hostmail";
90 File file = new File("src/test/resources/");
91 when(envMock.getProperty(REALM + ".name","Default Organization")).thenReturn(NAME);
92 when(envMock.getProperty(REALM + ".mailHost",null)).thenReturn(mailHost);
93 when(envMock.getProperty(REALM + ".mailFrom",null)).thenReturn(mailFromUserId);
94 when(envMock.getProperty("aaf_data_dir")).thenReturn(file.getAbsolutePath());
95 when(envMock.warn()).thenReturn(logTargetMock);
96 when(authzTransMock.warn()).thenReturn(logTargetMock);
97 when(authzTransMock.start(any(String.class),any(Integer.class))).thenReturn(ttMock);
98 when(authzTransMock.error()).thenReturn(logTargetMock);
99 when(authzTransMock.getProperty("CASS_ENV", "")).thenReturn("Cassandra env");
101 defaultOrg = new DefaultOrg(envMock, REALM);
106 public void testDefOrg_returnDataIdentityNotNull() throws OrganizationException {
110 defaultOrg.identities.open(authzTransMock, TIMEOUT);
112 Reuse r = defaultOrg.identities.reuse();
113 data = defaultOrg.identities.find("iowna", defaultOrg.identities.reuse());
114 System.out.println("here is identities data: "+ data.toString());
117 defaultOrg.identities.close(authzTransMock);
119 } catch (IOException e) {
120 throw new OrganizationException(e);
124 assertTrue(data.toString() != null);
131 public void testDefOrg_returnDefOrgEntity() {
134 assertTrue(defaultOrg != null);
140 public void testDefOrgNotifyApproval_returnResponseOK() {
142 summary = "Approval";
143 Boolean urgent = false;
144 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.Approval, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
145 assertEquals(response.name(), "OK");
150 public void testDefOrgPasswords() {
151 assertEquals(defaultOrg.isValidPassword(authzTransMock, null, "new2You!", "Pilgrim"),"");
152 assertNotSame(defaultOrg.isValidPassword(authzTransMock, null, "new2you!", "Pilgrim"),"");
157 public void testDefOrgNotifyPasswordExpiration_returnResponseOK() {
159 summary = "PasswordExpiration";
160 Boolean urgent = false;
161 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.PasswordExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
162 assertEquals(response.name(), "OK");
167 public void testDefOrgNotifyRoleExpiration_returnResponseOK() {
169 summary = "RoleExpiration";
170 Boolean urgent = false;
171 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
172 assertEquals(response.name(), "OK");
176 public void testDefOrgNotifyRoleExpirationUrgent_returnResponseOK() {
178 summary = "RoleExpirationUrgent";
179 Boolean urgent = true;
180 when(authzTransMock.info()).thenReturn(logTargetMock);
181 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
182 assertEquals(response.name(), "OK");
187 public void testDefOrgNotifyModeTest_returnResponseOK() {
189 summary = "ModeTest";
190 Boolean urgent = false;
191 when(authzTransMock.info()).thenReturn(logTargetMock);
192 defaultOrg.setTestMode(true);
193 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
194 assertEquals(response.name(), "OK");
202 //@Test //(expected=OrganizationException.class)
203 public void testMultipleCreds() throws OrganizationException{
205 boolean canHaveMultipleCreds;
206 canHaveMultipleCreds = defaultOrg.canHaveMultipleCreds(id );
207 System.out.println("value of canHaveMultipleCreds: " + canHaveMultipleCreds);
208 assertTrue(canHaveMultipleCreds);
213 public void testGetIdentityTypes() throws OrganizationException{
214 Set<String> identityTypes = defaultOrg.getIdentityTypes();
215 System.out.println("value of IdentityTypes: " + identityTypes);
216 assertTrue(identityTypes.size() == 4);
221 public void testGetRealm() throws OrganizationException{
222 String realmTest = defaultOrg.getRealm();
223 System.out.println("value of realm: " + realmTest);
224 assertTrue(realmTest == REALM);
227 public void supportsRealm() {
228 String otherRealm = "org.ossaf.something";
229 defaultOrg.addSupportedRealm(otherRealm);
230 assertTrue(defaultOrg.supportsRealm(otherRealm));
233 public void testGetName() throws OrganizationException{
234 String testName = defaultOrg.getName();
235 System.out.println("value of name: " + testName);
236 assertTrue(testName == NAME);
241 public void testGetDomain() throws OrganizationException{
242 String testDomain = defaultOrg.getDomain();
243 System.out.println("value of domain: " + testDomain);
244 assertTrue(testDomain == DOMAIN);
248 // public void testIsValidID(){
249 // String Result = defaultOrg.isValidID(Matchers.anyString());
250 // System.out.println("value of res " +Result);
251 // assertNotNull(Result);
255 public void notYetImplemented() {
256 fail("Tests in this file should not be trusted");