Skip to content
Snippets Groups Projects
Commit f7d34159 authored by Nils Christian Ehmke's avatar Nils Christian Ehmke
Browse files

Added some tests

parent 97e3cdc1
No related branches found
No related tags found
No related merge requests found
......@@ -32,9 +32,11 @@ dependencies {
linuxX64Runtime 'org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64:4.4'
compile 'net.sourceforge.teetime:teetime:1.0-SNAPSHOT'
compile 'net.sourceforge.teetime-stages:teetime-stages:1.0-SNAPSHOT'
compile 'net.kieker-monitoring:kieker:1.11-SNAPSHOT'
compile 'org.eclipse:jface:3.2.1-M20060908-1000'
compile 'net.sourceforge.teetime-stages:teetime-stages:1.0-SNAPSHOT'
compile 'net.kieker-monitoring:kieker:1.11-SNAPSHOT'
compile 'org.eclipse:jface:3.2.1-M20060908-1000'
testCompile 'org.hamcrest:hamcrest-core:1.3'
}
// Add the provided-scoped dependencies to the classpaths
......
package kieker.gui.model.importer.stages;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.util.ArrayList;
import java.util.List;
import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
import kieker.gui.model.domain.Record;
import org.junit.Before;
import org.junit.Test;
import teetime.framework.pipe.IPipeFactory;
import teetime.framework.pipe.SingleElementPipeFactory;
import teetime.stage.CollectorSink;
public class RecordSimplificatorTest {
private List<Record> recordCollectorList;
private RecordSimplificator simplificatorUnderTest;
private CollectorSink<Record> recordCollector;
@Before
public void initializeRecordSimplificator() {
this.recordCollectorList = new ArrayList<>();
this.simplificatorUnderTest = new RecordSimplificator();
this.recordCollector = new CollectorSink<>(this.recordCollectorList);
final IPipeFactory pipeFactory = new SingleElementPipeFactory();
pipeFactory.create(this.simplificatorUnderTest.getOutputPort(), this.recordCollector.getInputPort());
}
@Test
public void simplificationShouldPreserveContent() {
final BeforeOperationEvent record = new BeforeOperationEvent(1, 2, 3, "Bookstore()", "Bookstore");
this.simplificatorUnderTest.execute(record);
assertThat(this.recordCollectorList, hasSize(1));
final Record simplifiedRecord = this.recordCollectorList.get(0);
assertThat(simplifiedRecord.getType(), is(record.getClass().getCanonicalName()));
assertThat(simplifiedRecord.getRepresentation(), is(record.toString()));
assertThat(simplifiedRecord.getTimestamp(), is(record.getLoggingTimestamp()));
}
}
package kieker.gui.model.importer.stages;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.util.ArrayList;
import java.util.List;
import kieker.common.record.flow.IFlowRecord;
import kieker.common.record.flow.trace.TraceMetadata;
import kieker.common.record.flow.trace.operation.AfterOperationEvent;
import kieker.common.record.flow.trace.operation.AfterOperationFailedEvent;
import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
import kieker.gui.model.domain.Execution;
import org.junit.Before;
import org.junit.Test;
import teetime.framework.pipe.IPipeFactory;
import teetime.framework.pipe.SingleElementPipeFactory;
import teetime.stage.CollectorSink;
public class TraceReconstructorTest {
private List<Execution> traceCollectorList;
private TraceReconstructor reconstructorUnderTest;
private CollectorSink<Execution> traceCollector;
@Before
public void initializeTraceReconstructor() {
this.traceCollectorList = new ArrayList<>();
this.reconstructorUnderTest = new TraceReconstructor();
this.traceCollector = new CollectorSink<>(this.traceCollectorList);
final IPipeFactory pipeFactory = new SingleElementPipeFactory();
pipeFactory.create(this.reconstructorUnderTest.getOutputPort(), this.traceCollector.getInputPort());
}
@Test
public void reconstructionOfSingleTraceShouldWork() {
final IFlowRecord[] records = new IFlowRecord[9];
records[0] = new TraceMetadata(1, 1, TraceMetadata.NO_SESSION_ID, TraceMetadata.NO_HOSTNAME, TraceMetadata.NO_PARENT_TRACEID, TraceMetadata.NO_PARENT_ORDER_INDEX);
records[1] = new BeforeOperationEvent(1, 1, 1, "main()", "Main");
records[2] = new BeforeOperationEvent(1, 1, 1, "Bookstore()", "Bookstore");
records[3] = new AfterOperationEvent(1, 1, 1, "Bookstore()", "Bookstore");
records[4] = new BeforeOperationEvent(1, 1, 1, "Catalog()", "Catalog");
records[5] = new BeforeOperationEvent(1, 1, 1, "CRM()", "CRM");
records[6] = new AfterOperationEvent(1, 1, 1, "CRM()", "CRM");
records[7] = new AfterOperationEvent(1, 1, 1, "Catalog()", "Catalog");
records[8] = new AfterOperationEvent(1, 1, 1, "main()", "Main");
for (final IFlowRecord record : records) {
this.reconstructorUnderTest.execute(record);
}
assertThat(this.traceCollectorList, hasSize(1));
final Execution trace = this.traceCollectorList.get(0);
assertThat(trace.getOperation(), is("main()"));
assertThat(trace.getChildren(), hasSize(2));
assertThat(trace.getChildren().get(0).getOperation(), is("Bookstore()"));
assertThat(trace.getChildren().get(1).getOperation(), is("Catalog()"));
assertThat(trace.getChildren().get(1).getChildren(), hasSize(1));
assertThat(trace.getChildren().get(1).getChildren().get(0).getOperation(), is("CRM()"));
}
@Test
public void reconstructionOfInterleavedTracesShouldWork() {
final IFlowRecord[] records = new IFlowRecord[9];
records[0] = new TraceMetadata(1, 1, TraceMetadata.NO_SESSION_ID, TraceMetadata.NO_HOSTNAME, TraceMetadata.NO_PARENT_TRACEID, TraceMetadata.NO_PARENT_ORDER_INDEX);
records[1] = new BeforeOperationEvent(1, 1, 1, "main()", "Main");
records[2] = new TraceMetadata(2, 1, TraceMetadata.NO_SESSION_ID, TraceMetadata.NO_HOSTNAME, TraceMetadata.NO_PARENT_TRACEID, TraceMetadata.NO_PARENT_ORDER_INDEX);
records[3] = new BeforeOperationEvent(1, 2, 1, "Bookstore()", "Bookstore");
records[4] = new AfterOperationEvent(1, 1, 1, "main()", "Main");
records[5] = new AfterOperationEvent(1, 2, 1, "Bookstore()", "Bookstore");
for (final IFlowRecord record : records) {
this.reconstructorUnderTest.execute(record);
}
assertThat(this.traceCollectorList, hasSize(2));
final Execution fstTrace = this.traceCollectorList.get(0);
final Execution sndTrace = this.traceCollectorList.get(1);
assertThat(fstTrace.getOperation(), is("main()"));
assertThat(sndTrace.getOperation(), is("Bookstore()"));
}
@Test
public void reconstructionOfCompleteFailedTraceShouldWork() {
final IFlowRecord[] records = new IFlowRecord[9];
records[0] = new TraceMetadata(1, 1, TraceMetadata.NO_SESSION_ID, TraceMetadata.NO_HOSTNAME, TraceMetadata.NO_PARENT_TRACEID, TraceMetadata.NO_PARENT_ORDER_INDEX);
records[1] = new BeforeOperationEvent(1, 1, 1, "main()", "Main");
records[2] = new BeforeOperationEvent(1, 1, 1, "Bookstore()", "Bookstore");
records[3] = new AfterOperationFailedEvent(1, 1, 1, "Bookstore()", "Bookstore", "NullPointerException");
records[8] = new AfterOperationFailedEvent(1, 1, 1, "main()", "Main", "IllegalArgumentException");
for (final IFlowRecord record : records) {
this.reconstructorUnderTest.execute(record);
}
assertThat(this.traceCollectorList, hasSize(1));
final Execution trace = this.traceCollectorList.get(0);
assertThat(trace.isFailed(), is(true));
assertThat(trace.getFailedCause(), is("IllegalArgumentException"));
assertThat(trace.getChildren().get(0).isFailed(), is(true));
assertThat(trace.getChildren().get(0).getFailedCause(), is("NullPointerException"));
}
@Test
public void reconstructionOfPartialFailedTraceShouldWork() {
final IFlowRecord[] records = new IFlowRecord[9];
records[0] = new TraceMetadata(1, 1, TraceMetadata.NO_SESSION_ID, TraceMetadata.NO_HOSTNAME, TraceMetadata.NO_PARENT_TRACEID, TraceMetadata.NO_PARENT_ORDER_INDEX);
records[1] = new BeforeOperationEvent(1, 1, 1, "main()", "Main");
records[2] = new BeforeOperationEvent(1, 1, 1, "Bookstore()", "Bookstore");
records[3] = new AfterOperationFailedEvent(1, 1, 1, "Bookstore()", "Bookstore", "NullPointerException");
records[8] = new AfterOperationEvent(1, 1, 1, "main()", "Main");
for (final IFlowRecord record : records) {
this.reconstructorUnderTest.execute(record);
}
assertThat(this.traceCollectorList, hasSize(1));
final Execution trace = this.traceCollectorList.get(0);
assertThat(trace.isFailed(), is(false));
assertThat(trace.containsFailure(), is(true));
assertThat(trace.getChildren().get(0).isFailed(), is(true));
assertThat(trace.getChildren().get(0).getFailedCause(), is("NullPointerException"));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment