package com.sonatype.buildserver.eclipse.test;
import org.eclipse.jdt.internal.junit.model.TestCaseElement;
import org.eclipse.jdt.junit.model.ITestElementContainer;
import org.eclipse.jdt.junit.model.ITestRunSession;
import org.hudsonci.rest.model.build.TestCaseDTO;
@SuppressWarnings( "restriction" )
extends TestCaseElement
{
private TestCaseDTO testCase;
private HudsonTestSuite parent;
{
super( parent, testCase.getName(), testCase.getName() );
this.testCase = testCase;
this.parent = parent;
}
@Override
{
return ProgressState.COMPLETED;
}
@Override
{
switch ( testCase.getStatus() )
{
case PASSED:
return Result.OK;
case REGRESSION:
return Result.FAILURE;
case SKIPPED:
return Result.UNDEFINED;
case FAILED:
return Result.FAILURE;
case FIXED:
return Result.OK;
}
return Result.UNDEFINED;
}
@Override
{
Result testResult= getTestResult(false);
if (testResult == Result.ERROR || testResult == Result.FAILURE) {
return new FailureTrace( testCase.getErrorStackTrace(), testCase.getErrorDetails(), null );
}
return null;
}
@Override
{
return parent;
}
@Override
{
return null;
}
@Override
{
return testCase.getDuration();
}
{
return testCase.getName() + "(" + testCase.getClassName() + ")";
}
@Override
{
switch ( testCase.getStatus() )
{
case PASSED:
return Status.OK;
case REGRESSION:
return Status.FAILURE;
case SKIPPED:
return Status.NOT_RUN;
case FAILED:
return Status.FAILURE;
case FIXED:
return Status.OK;
}
return Status.NOT_RUN;
}
@Override
{
return testCase.getClassName();
}
@Override
{
return testCase.getClassName();
}
@Override
{
return testCase.getName();
}
@Override
{
if (testCase.getErrorDetails() == null && testCase.getErrorStackTrace() == null)
return "";
return testCase.getErrorStackTrace().toString();
}
}