001 /* 002 * Copyright 2005-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package edu.samplu.common; 017 018 import org.junit.Assert; 019 import org.junit.runner.RunWith; 020 021 /** 022 * SmokeTests should extend this Base class or have it in their class hierarchy. 023 * 024 * The abstract method getBookmarkUrl should be implemented to return the Bookmark URL 025 * of the page under test. The abstract method navigate should be implemented to Navigate 026 * through the UI to the page under test. 027 */ 028 @RunWith(SmokeTestRunner.class) 029 public abstract class SmokeTestBase extends WebDriverLegacyITBase { 030 031 protected String testUrl = ITUtil.KRAD_PORTAL; 032 033 protected boolean shouldNavigate = false; 034 035 protected abstract String getBookmarkUrl(); 036 037 protected abstract void navigate() throws Exception; 038 039 @Override 040 public String getTestUrl() { 041 // if (this.getClass().toString().contains("krad.demo") || 042 // this.getClass().toString().contains("krad.labs")) { 043 return testUrl; 044 // } else { 045 // return ITUtil.PORTAL; 046 // } 047 } 048 049 protected void enableBookmarkMode() { 050 this.testUrl = getBookmarkUrl(); 051 } 052 053 protected void enableNavigationMode() { 054 this.shouldNavigate = true; 055 String classString = this.getClass().toString(); 056 if (classString.contains("krad.demo") || classString.contains("library")) { 057 this.testUrl = ITUtil.KRAD_PORTAL; 058 } else if (classString.contains("krad.library")) { 059 this.testUrl = ITUtil.KRAD_PORTAL; 060 } else if (classString.contains("krad.labs")) { 061 this.testUrl = ITUtil.LABS; 062 } else { 063 this.testUrl = ITUtil.PORTAL; 064 } 065 } 066 067 @Override 068 public void fail(String message) { 069 passed = false; 070 Assert.fail(message); 071 } 072 073 @Override 074 protected void navigateInternal() throws Exception { 075 if (this.shouldNavigate) { 076 navigate(); 077 } 078 } 079 }