/******************************************************************************* | |
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved. | |
* This program and the accompanying materials are made available under the | |
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* Contributors: | |
* Oracle - initial API and implementation from Oracle TopLink | |
******************************************************************************/ | |
package org.eclipse.persistence.testing.framework; | |
import org.eclipse.persistence.logging.SessionLog; | |
/** | |
* <p>Purpose<b></b>:All the test cases are subclassed from this class. Each test case tests single | |
* feature of TopLink. Ideally a test case consists of five steps. | |
* Setup: Performs all the initial setup that is required by the test, such as setting | |
* up database to some state on which test would run. | |
* Test: The actual test to be performed, such as writing an object. | |
* Verify: Verify the test if it was performed well or not. | |
* Reset: Reset the database to the state from where the test started | |
* Reset Verify: Check if reset performed well or not. | |
*/ | |
public abstract class ManualVerifyTestCase extends TestCase { | |
/** | |
* Executes this test case. | |
*/ | |
public void execute(TestExecutor executor) { | |
setTestResult(new TestResult(this, "You decide")); | |
setExecutor(executor); | |
boolean handleErrors = getExecutor().shouldHandleErrors(); | |
int logLevel = getSession().getLogLevel(); | |
try { | |
setup(); | |
getSession().setLogLevel(SessionLog.FINEST); | |
getExecutor().doNotHandleErrors(); | |
test(); | |
getSession().setLogLevel(logLevel); | |
reset(); | |
resetVerify(); | |
} catch (Throwable runtimeException) { | |
TestErrorException EclipseLinkException = new TestErrorException("Error occurred.", runtimeException); | |
setTestException(EclipseLinkException); | |
throw EclipseLinkException; | |
} | |
getExecutor().setShouldHandleErrors(handleErrors); | |
} | |
} |