/******************************************************************************* * Copyright 2014 Miami-Dade County * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package org.sharegov.cirm.rest; import static org.junit.Assert.*; import java.net.URL; import java.util.LinkedList; import java.util.List; import mjson.Json; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.sharegov.cirm.OWL; import org.sharegov.cirm.legacy.ServiceRequestResolver; import org.sharegov.cirm.owl.CachedReasoner; import org.sharegov.cirm.utils.GenUtils; import org.sharegov.cirm.utils.JsonUtil; //import org.sharegov.cirmx.maintenance.AllowAnySSL; import com.itextpdf.text.log.SysoLogger; /** * * "$$SR_CREATED_BY_EMAIL$$"; // Email address of SR Creator, SQL refers to ST_PREFERENCES! * "$$SR_CREATED_BY_ELECTR_ADDR$$"; // Email address of SR Creator * "$$SR_CREATED_BY_NAME$$"; // First Last Name of SR creator (UserService lookup) * "$$SR_CREATED_BY_PHONE$$"; // Phone nr of Created By user * * @author Thomas Hilpold * */ public class T002_SRResolverTest extends T000_UserServiceTest { public final static String SR_FILE = "SRForResolverTest.json"; public final static String MD_FILE = "T001_UserServiceTest.md.json"; public final static String COM_FILE = "T001_UserServiceTest.com.json"; public final static String [] SR_RESOLVER_VARS = new String[] {"$$SR_CREATED_BY_EMAIL$$", "$$SR_CREATED_BY_ELECTR_ADDR$$", "$$SR_CREATED_BY_NAME$$", "$$SR_CREATED_BY_PHONE$$" }; private static List<Json> data; private static Json sr; @BeforeClass public static void setUpBeforeClass() throws Exception { T000_UserServiceTest.setUpBeforeClass(); CachedReasoner.DBG_CACHE_MISS = false; // new AllowAnySSL().installPermissiveTrustmanager(); // Load both files into Json List of such objects. URL f1 = T002_SRResolverTest.class.getResource(MD_FILE); URL f2 = T002_SRResolverTest.class.getResource(COM_FILE); URL f3 = T002_SRResolverTest.class.getResource(SR_FILE); Json j1 = Json.read(GenUtils.readAsStringUTF8(f1)); Json j2 = Json.read(GenUtils.readAsStringUTF8(f2)); sr = Json.read(GenUtils.readAsStringUTF8(f3)); sr = sr.at("properties"); data = new LinkedList<Json>(); data.addAll(j1.asJsonList()); data.addAll(j2.asJsonList()); System.out.println("User service test using " + data.size() + " users."); } @AfterClass public static void tearDownAfterClass() throws Exception { T000_UserServiceTest.tearDownAfterClass(); data = null; } @Test public void testAllVars() { ServiceRequestResolver srr = new ServiceRequestResolver(); for (Json testUser : data) { String ecKey = testUser.at("ecKey").asString(); String testDepartment = testUser.at("mdcDepartment").asString(); String testDivision = testUser.at("mdcDivision").asString(); String testEmail = testUser.at("email").asString(); String testPhone = testUser.at("phone").asString(); String testFullName = testUser.at("FirstName").asString() + " " + testUser.at("LastName").asString(); //Set the user as createdBy sr.set("isCreatedBy", ecKey); System.out.println("ServiceRequestResolver Testing for User: " + ecKey + " dep " + testDepartment + " div " + testDivision); String var1EMAIL = srr.resolve(ServiceRequestResolver.VAR3_SR_CREATED_BY_EMAIL, sr, null); String var2EMAIL = srr.resolve(ServiceRequestResolver.VAR4_SR_CREATED_BY_ELECTR_ADDR, sr, null); String var3NAME = srr.resolve(ServiceRequestResolver.VAR5_SR_CREATED_BY_NAME, sr, null); String var4PHONE = srr.resolve(ServiceRequestResolver.VAR6_SR_CREATED_BY_PHONE, sr, null); assertTrue("VAR3_SR_CREATED_BY_EMAIL failed for " + ecKey, testEmail.equalsIgnoreCase(var1EMAIL)); assertTrue("VAR4_SR_CREATED_BY_ELECTR_ADDR code failed for ", testEmail.equalsIgnoreCase(var2EMAIL)); assertTrue("VAR5_SR_CREATED_BY_NAME code failed for " + ecKey, testFullName.equalsIgnoreCase(var3NAME)); assertTrue("VAR6_SR_CREATED_BY_PHONE code failed for " + ecKey, isMatchingPhoneNumbers(var4PHONE, testPhone)); System.out.println("Pass."); } } }