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 ******************************************************************************/
23 package org.onap.aaf.org.test;
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertNotSame;
27 import static org.junit.Assert.assertTrue;
28 import static org.junit.Assert.fail;
29 import static org.mockito.Matchers.any;
30 import static org.mockito.Mockito.when;
33 import java.io.IOException;
36 import org.junit.Before;
37 import org.junit.Test;
38 import org.junit.runner.RunWith;
39 import org.mockito.Mock;
40 import org.onap.aaf.auth.env.AuthzTrans;
41 import org.onap.aaf.auth.local.AbsData.Reuse;
42 import org.onap.aaf.auth.org.Organization.Identity;
43 import org.onap.aaf.auth.org.OrganizationException;
44 import org.onap.aaf.cadi.config.Config;
45 import org.onap.aaf.misc.env.Env;
46 import org.onap.aaf.misc.env.LogTarget;
47 import org.onap.aaf.misc.env.TimeTaken;
48 import org.onap.aaf.org.DefaultOrg;
49 import org.onap.aaf.org.Identities;
50 import org.powermock.modules.junit4.PowerMockRunner;
53 @RunWith(PowerMockRunner.class)
54 public class JU_DefaultOrg {
57 private DefaultOrg defaultOrg;
66 AuthzTrans authzTransMock;
72 LogTarget logTargetMock;
75 private static final String PROPERTY_IS_REQUIRED = " property is Required";
76 private static final String DOMAIN = "osaaf.com";
77 private static final String REALM = "com.osaaf";
78 private static final String NAME = "Default Organization";
79 private static final String NO_PASS = NAME + " does not support Passwords. Use AAF";
81 private static final String URL = "www.deforg.com";
82 private static final String IDENT = "ccontra|iowna";
83 private static final String CCS = "mmanager|bdevl";
84 String mailHost,mailFromUserId,summary,supportAddress;
86 private final static int TIMEOUT = Integer.parseInt(Config.AAF_CONN_TIMEOUT_DEF);
91 public void setUp() throws OrganizationException{
93 mailFromUserId = "frommail";
94 mailHost = "hostmail";
95 File file = new File("src/test/resources/");
96 when(envMock.getProperty(REALM + ".name","Default Organization")).thenReturn(NAME);
97 when(envMock.getProperty(REALM + ".mailHost",null)).thenReturn(mailHost);
98 when(envMock.getProperty(REALM + ".mailFrom",null)).thenReturn(mailFromUserId);
99 when(envMock.getProperty("aaf_data_dir")).thenReturn(file.getAbsolutePath());
100 when(envMock.warn()).thenReturn(logTargetMock);
101 when(authzTransMock.warn()).thenReturn(logTargetMock);
102 when(authzTransMock.start(any(String.class),any(Integer.class))).thenReturn(ttMock);
103 when(authzTransMock.error()).thenReturn(logTargetMock);
104 when(authzTransMock.getProperty("CASS_ENV", "")).thenReturn("Cassandra env");
106 defaultOrg = new DefaultOrg(envMock, REALM);
111 public void testDefOrg_returnDataIdentityNotNull() throws OrganizationException {
115 defaultOrg.identities.open(authzTransMock, TIMEOUT);
117 Reuse r = defaultOrg.identities.reuse();
118 data = defaultOrg.identities.find("iowna", defaultOrg.identities.reuse());
119 System.out.println("here is identities data: "+ data.toString());
122 defaultOrg.identities.close(authzTransMock);
124 } catch (IOException e) {
125 throw new OrganizationException(e);
129 assertTrue(data.toString() != null);
136 public void testDefOrg_returnDefOrgEntity() {
139 assertTrue(defaultOrg != null);
145 public void testDefOrgNotifyApproval_returnResponseOK() {
147 summary = "Approval";
148 Boolean urgent = false;
149 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.Approval, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
150 assertEquals(response.name(), "OK");
155 public void testDefOrgPasswords() {
156 assertEquals(defaultOrg.isValidPassword(authzTransMock, null, "new2You!", "Pilgrim"),"");
157 assertEquals(defaultOrg.isValidPassword(authzTransMock, null, "new2you!", "Pilgrim"),"");
158 assertNotSame(defaultOrg.isValidPassword(authzTransMock, null, "newtoyou", "Pilgrim"),"");
162 public void testDefOrgNotifyPasswordExpiration_returnResponseOK() {
164 summary = "PasswordExpiration";
165 Boolean urgent = false;
166 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.PasswordExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
167 assertEquals(response.name(), "OK");
172 public void testDefOrgNotifyRoleExpiration_returnResponseOK() {
174 summary = "RoleExpiration";
175 Boolean urgent = false;
176 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
177 assertEquals(response.name(), "OK");
181 public void testDefOrgNotifyRoleExpirationUrgent_returnResponseOK() {
183 summary = "RoleExpirationUrgent";
184 Boolean urgent = true;
185 when(authzTransMock.info()).thenReturn(logTargetMock);
186 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
187 assertEquals(response.name(), "OK");
192 public void testDefOrgNotifyModeTest_returnResponseOK() {
194 summary = "ModeTest";
195 Boolean urgent = false;
196 when(authzTransMock.info()).thenReturn(logTargetMock);
197 defaultOrg.setTestMode(true);
198 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
199 assertEquals(response.name(), "OK");
207 //@Test //(expected=OrganizationException.class)
208 public void testMultipleCreds() throws OrganizationException{
210 boolean canHaveMultipleCreds;
211 canHaveMultipleCreds = defaultOrg.canHaveMultipleCreds(id );
212 System.out.println("value of canHaveMultipleCreds: " + canHaveMultipleCreds);
213 assertTrue(canHaveMultipleCreds);
218 public void testGetIdentityTypes() throws OrganizationException{
219 Set<String> identityTypes = defaultOrg.getIdentityTypes();
220 System.out.println("value of IdentityTypes: " + identityTypes);
221 assertTrue(identityTypes.size() == 4);
226 public void testGetRealm() throws OrganizationException{
227 String realmTest = defaultOrg.getRealm();
228 System.out.println("value of realm: " + realmTest);
229 assertTrue(realmTest == REALM);
232 public void supportsRealm() {
233 String otherRealm = "org.ossaf.something";
234 defaultOrg.addSupportedRealm(otherRealm);
235 assertTrue(defaultOrg.supportsRealm(otherRealm));
238 public void testGetName() throws OrganizationException{
239 String testName = defaultOrg.getName();
240 System.out.println("value of name: " + testName);
241 assertTrue(testName == NAME);
246 public void testGetDomain() throws OrganizationException{
247 String testDomain = defaultOrg.getDomain();
248 System.out.println("value of domain: " + testDomain);
249 assertTrue(testDomain == DOMAIN);
253 // public void testIsValidID(){
254 // String Result = defaultOrg.isValidID(Matchers.anyString());
255 // System.out.println("value of res " +Result);
256 // assertNotNull(Result);
260 public void testResponsible() throws OrganizationException {
261 Identity id = defaultOrg.getIdentity(authzTransMock, "osaaf");
262 Identity rt = id.responsibleTo();
263 assertTrue(rt.id().equals("bdevl"));
268 public void notYetImplemented() {
269 fail("Tests in this file should not be trusted");