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.assertEquals;
25 import static org.junit.Assert.assertNotSame;
26 import static org.junit.Assert.assertTrue;
27 import static org.junit.Assert.fail;
28 import static org.mockito.Matchers.any;
29 import static org.mockito.Mockito.when;
32 import java.io.IOException;
35 import org.junit.Before;
36 import org.junit.Test;
37 import org.junit.runner.RunWith;
38 import org.mockito.Mock;
39 import org.onap.aaf.auth.env.AuthzTrans;
40 import org.onap.aaf.auth.local.AbsData.Reuse;
41 import org.onap.aaf.auth.org.Organization.Identity;
42 import org.onap.aaf.auth.org.OrganizationException;
43 import org.onap.aaf.cadi.config.Config;
44 import org.onap.aaf.misc.env.Env;
45 import org.onap.aaf.misc.env.LogTarget;
46 import org.onap.aaf.misc.env.TimeTaken;
47 import org.onap.aaf.org.DefaultOrg;
48 import org.onap.aaf.org.Identities;
49 import org.powermock.modules.junit4.PowerMockRunner;
52 @RunWith(PowerMockRunner.class)
53 public class JU_DefaultOrg {
56 private DefaultOrg defaultOrg;
65 AuthzTrans authzTransMock;
71 LogTarget logTargetMock;
74 private static final String PROPERTY_IS_REQUIRED = " property is Required";
75 private static final String DOMAIN = "osaaf.com";
76 private static final String REALM = "com.osaaf";
77 private static final String NAME = "Default Organization";
78 private static final String NO_PASS = NAME + " does not support Passwords. Use AAF";
80 private static final String URL = "www.deforg.com";
81 private static final String IDENT = "ccontra|iowna";
82 private static final String CCS = "mmanager|bdevl";
83 String mailHost,mailFromUserId,summary,supportAddress;
85 private final static int TIMEOUT = Integer.parseInt(Config.AAF_CONN_TIMEOUT_DEF);
90 public void setUp() throws OrganizationException{
92 mailFromUserId = "frommail";
93 mailHost = "hostmail";
94 File file = new File("src/test/resources/");
95 when(envMock.getProperty(REALM + ".name","Default Organization")).thenReturn(NAME);
96 when(envMock.getProperty(REALM + ".mailHost",null)).thenReturn(mailHost);
97 when(envMock.getProperty(REALM + ".mailFrom",null)).thenReturn(mailFromUserId);
98 when(envMock.getProperty("aaf_data_dir")).thenReturn(file.getAbsolutePath());
99 when(envMock.warn()).thenReturn(logTargetMock);
100 when(authzTransMock.warn()).thenReturn(logTargetMock);
101 when(authzTransMock.start(any(String.class),any(Integer.class))).thenReturn(ttMock);
102 when(authzTransMock.error()).thenReturn(logTargetMock);
103 when(authzTransMock.getProperty("CASS_ENV", "")).thenReturn("Cassandra env");
105 defaultOrg = new DefaultOrg(envMock, REALM);
110 public void testDefOrg_returnDataIdentityNotNull() throws OrganizationException {
114 defaultOrg.identities.open(authzTransMock, TIMEOUT);
116 Reuse r = defaultOrg.identities.reuse();
117 data = defaultOrg.identities.find("iowna", defaultOrg.identities.reuse());
118 System.out.println("here is identities data: "+ data.toString());
121 defaultOrg.identities.close(authzTransMock);
123 } catch (IOException e) {
124 throw new OrganizationException(e);
128 assertTrue(data.toString() != null);
135 public void testDefOrg_returnDefOrgEntity() {
138 assertTrue(defaultOrg != null);
144 public void testDefOrgNotifyApproval_returnResponseOK() {
146 summary = "Approval";
147 Boolean urgent = false;
148 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.Approval, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
149 assertEquals(response.name(), "OK");
154 public void testDefOrgPasswords() {
155 assertEquals(defaultOrg.isValidPassword(authzTransMock, null, "new2You!", "Pilgrim"),"");
156 assertEquals(defaultOrg.isValidPassword(authzTransMock, null, "new2you!", "Pilgrim"),"");
157 assertNotSame(defaultOrg.isValidPassword(authzTransMock, null, "newtoyou", "Pilgrim"),"");
161 public void testDefOrgNotifyPasswordExpiration_returnResponseOK() {
163 summary = "PasswordExpiration";
164 Boolean urgent = false;
165 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.PasswordExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
166 assertEquals(response.name(), "OK");
171 public void testDefOrgNotifyRoleExpiration_returnResponseOK() {
173 summary = "RoleExpiration";
174 Boolean urgent = false;
175 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
176 assertEquals(response.name(), "OK");
180 public void testDefOrgNotifyRoleExpirationUrgent_returnResponseOK() {
182 summary = "RoleExpirationUrgent";
183 Boolean urgent = true;
184 when(authzTransMock.info()).thenReturn(logTargetMock);
185 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
186 assertEquals(response.name(), "OK");
191 public void testDefOrgNotifyModeTest_returnResponseOK() {
193 summary = "ModeTest";
194 Boolean urgent = false;
195 when(authzTransMock.info()).thenReturn(logTargetMock);
196 defaultOrg.setTestMode(true);
197 DefaultOrg.Response response = defaultOrg.notify(authzTransMock, DefaultOrg.Notify.RoleExpiration, URL, IDENT.split("\\|"), CCS.split("\\|"), summary, urgent);
198 assertEquals(response.name(), "OK");
206 //@Test //(expected=OrganizationException.class)
207 public void testMultipleCreds() throws OrganizationException{
209 boolean canHaveMultipleCreds;
210 canHaveMultipleCreds = defaultOrg.canHaveMultipleCreds(id );
211 System.out.println("value of canHaveMultipleCreds: " + canHaveMultipleCreds);
212 assertTrue(canHaveMultipleCreds);
217 public void testGetIdentityTypes() throws OrganizationException{
218 Set<String> identityTypes = defaultOrg.getIdentityTypes();
219 System.out.println("value of IdentityTypes: " + identityTypes);
220 assertTrue(identityTypes.size() == 4);
225 public void testGetRealm() throws OrganizationException{
226 String realmTest = defaultOrg.getRealm();
227 System.out.println("value of realm: " + realmTest);
228 assertTrue(realmTest == REALM);
231 public void supportsRealm() {
232 String otherRealm = "org.ossaf.something";
233 defaultOrg.addSupportedRealm(otherRealm);
234 assertTrue(defaultOrg.supportsRealm(otherRealm));
237 public void testGetName() throws OrganizationException{
238 String testName = defaultOrg.getName();
239 System.out.println("value of name: " + testName);
240 assertTrue(testName == NAME);
245 public void testGetDomain() throws OrganizationException{
246 String testDomain = defaultOrg.getDomain();
247 System.out.println("value of domain: " + testDomain);
248 assertTrue(testDomain == DOMAIN);
252 // public void testIsValidID(){
253 // String Result = defaultOrg.isValidID(Matchers.anyString());
254 // System.out.println("value of res " +Result);
255 // assertNotNull(Result);
259 public void testResponsible() throws OrganizationException {
260 Identity id = defaultOrg.getIdentity(authzTransMock, "osaaf");
261 Identity rt = id.responsibleTo();
262 assertTrue(rt.id().equals("bdevl"));
267 public void notYetImplemented() {
268 fail("Tests in this file should not be trusted");