Skip to content

Commit

Permalink
Move TestEngine ExecutionEvent testing framework to junit-engine-api
Browse files Browse the repository at this point in the history
Issue: #286
  • Loading branch information
sbrannen committed Jun 16, 2016
1 parent cbf7cc7 commit 4a1be0c
Show file tree
Hide file tree
Showing 23 changed files with 111 additions and 97 deletions.
2 changes: 2 additions & 0 deletions junit-engine-api/junit-engine-api.gradle
Expand Up @@ -14,4 +14,6 @@ artifacts {
dependencies {
compile(project(':junit-commons'))
compile("org.opentest4j:opentest4j:${ota4jVersion}")

testCompile("org.assertj:assertj-core:${assertJVersion}")
}
Expand Up @@ -8,20 +8,22 @@
* http://www.eclipse.org/legal/epl-v10.html
*/

package org.junit.gen5.engine;
package org.junit.gen5.engine.test.event;

import static java.util.function.Predicate.isEqual;
import static org.junit.gen5.commons.util.FunctionUtils.where;
import static org.junit.gen5.engine.ExecutionEvent.Type.DYNAMIC_TEST_REGISTERED;
import static org.junit.gen5.engine.ExecutionEvent.Type.FINISHED;
import static org.junit.gen5.engine.ExecutionEvent.Type.REPORTING_ENTRY_PUBLISHED;
import static org.junit.gen5.engine.ExecutionEvent.Type.SKIPPED;
import static org.junit.gen5.engine.ExecutionEvent.Type.STARTED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.DYNAMIC_TEST_REGISTERED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.FINISHED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.REPORTING_ENTRY_PUBLISHED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.SKIPPED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.STARTED;

import java.util.Optional;
import java.util.function.Predicate;

import org.junit.gen5.commons.util.ToStringBuilder;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.TestExecutionResult;
import org.junit.gen5.engine.reporting.ReportEntry;

/**
Expand Down
Expand Up @@ -8,33 +8,35 @@
* http://www.eclipse.org/legal/epl-v10.html
*/

package org.junit.gen5.engine;
package org.junit.gen5.engine.test.event;

import static java.util.function.Predicate.isEqual;
import static org.assertj.core.api.Assertions.allOf;
import static org.assertj.core.data.Index.atIndex;
import static org.junit.gen5.commons.util.FunctionUtils.where;
import static org.junit.gen5.engine.ExecutionEvent.Type.DYNAMIC_TEST_REGISTERED;
import static org.junit.gen5.engine.ExecutionEvent.Type.FINISHED;
import static org.junit.gen5.engine.ExecutionEvent.Type.SKIPPED;
import static org.junit.gen5.engine.ExecutionEvent.Type.STARTED;
import static org.junit.gen5.engine.ExecutionEvent.byPayload;
import static org.junit.gen5.engine.ExecutionEvent.byTestDescriptor;
import static org.junit.gen5.engine.ExecutionEvent.byType;
import static org.junit.gen5.engine.TestExecutionResult.Status.ABORTED;
import static org.junit.gen5.engine.TestExecutionResult.Status.FAILED;
import static org.junit.gen5.engine.TestExecutionResult.Status.SUCCESSFUL;
import static org.junit.gen5.engine.TestExecutionResultConditions.cause;
import static org.junit.gen5.engine.TestExecutionResultConditions.status;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.DYNAMIC_TEST_REGISTERED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.FINISHED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.SKIPPED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.STARTED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.byPayload;
import static org.junit.gen5.engine.test.event.ExecutionEvent.byTestDescriptor;
import static org.junit.gen5.engine.test.event.ExecutionEvent.byType;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.cause;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.status;

import java.util.List;

import org.assertj.core.api.Assertions;
import org.assertj.core.api.Condition;
import org.assertj.core.api.SoftAssertions;
import org.junit.gen5.engine.ExecutionEvent.Type;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.TestExecutionResult;
import org.junit.gen5.engine.TestExecutionResult.Status;
import org.junit.gen5.engine.support.descriptor.EngineDescriptor;
import org.junit.gen5.engine.test.event.ExecutionEvent.Type;

/**
* Collection of AssertJ conditions for {@link ExecutionEvent}.
Expand Down
Expand Up @@ -8,28 +8,35 @@
* http://www.eclipse.org/legal/epl-v10.html
*/

package org.junit.gen5.engine;
package org.junit.gen5.engine.test.event;

import static java.util.function.Predicate.isEqual;
import static java.util.stream.Collectors.toList;
import static org.junit.gen5.commons.util.FunctionUtils.where;
import static org.junit.gen5.engine.ExecutionEvent.Type.DYNAMIC_TEST_REGISTERED;
import static org.junit.gen5.engine.ExecutionEvent.Type.FINISHED;
import static org.junit.gen5.engine.ExecutionEvent.Type.REPORTING_ENTRY_PUBLISHED;
import static org.junit.gen5.engine.ExecutionEvent.Type.SKIPPED;
import static org.junit.gen5.engine.ExecutionEvent.Type.STARTED;
import static org.junit.gen5.engine.ExecutionEvent.byPayload;
import static org.junit.gen5.engine.ExecutionEvent.byTestDescriptor;
import static org.junit.gen5.engine.ExecutionEvent.byType;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.DYNAMIC_TEST_REGISTERED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.FINISHED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.REPORTING_ENTRY_PUBLISHED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.SKIPPED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.Type.STARTED;
import static org.junit.gen5.engine.test.event.ExecutionEvent.byPayload;
import static org.junit.gen5.engine.test.event.ExecutionEvent.byTestDescriptor;
import static org.junit.gen5.engine.test.event.ExecutionEvent.byType;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Predicate;
import java.util.stream.Stream;

import org.junit.gen5.engine.ExecutionEvent.Type;
import org.junit.gen5.engine.EngineDiscoveryRequest;
import org.junit.gen5.engine.EngineExecutionListener;
import org.junit.gen5.engine.ExecutionRequest;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.TestEngine;
import org.junit.gen5.engine.TestExecutionResult;
import org.junit.gen5.engine.TestExecutionResult.Status;
import org.junit.gen5.engine.UniqueId;
import org.junit.gen5.engine.reporting.ReportEntry;
import org.junit.gen5.engine.test.event.ExecutionEvent.Type;

/**
* {@link EngineExecutionListener} that records all events and makes them available to tests.
Expand Down
Expand Up @@ -8,14 +8,15 @@
* http://www.eclipse.org/legal/epl-v10.html
*/

package org.junit.gen5.engine;
package org.junit.gen5.engine.test.event;

import static java.util.function.Predicate.isEqual;
import static org.junit.gen5.commons.util.FunctionUtils.where;

import java.util.function.Predicate;

import org.assertj.core.api.Condition;
import org.junit.gen5.engine.TestExecutionResult;
import org.junit.gen5.engine.TestExecutionResult.Status;

/**
Expand Down
Expand Up @@ -11,20 +11,20 @@
package org.junit.gen5.engine.junit4;

import static org.assertj.core.api.Assertions.allOf;
import static org.junit.gen5.engine.ExecutionEventConditions.abortedWithReason;
import static org.junit.gen5.engine.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.gen5.engine.ExecutionEventConditions.container;
import static org.junit.gen5.engine.ExecutionEventConditions.engine;
import static org.junit.gen5.engine.ExecutionEventConditions.event;
import static org.junit.gen5.engine.ExecutionEventConditions.finishedSuccessfully;
import static org.junit.gen5.engine.ExecutionEventConditions.finishedWithFailure;
import static org.junit.gen5.engine.ExecutionEventConditions.skippedWithReason;
import static org.junit.gen5.engine.ExecutionEventConditions.started;
import static org.junit.gen5.engine.ExecutionEventConditions.test;
import static org.junit.gen5.engine.ExecutionEventConditions.uniqueIdSubstring;
import static org.junit.gen5.engine.TestExecutionResultConditions.isA;
import static org.junit.gen5.engine.TestExecutionResultConditions.message;
import static org.junit.gen5.engine.discovery.ClassSelector.selectClass;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.abortedWithReason;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.container;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.engine;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.event;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.finishedSuccessfully;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.finishedWithFailure;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.skippedWithReason;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.started;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.test;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.uniqueIdSubstring;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.isA;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.message;
import static org.junit.gen5.launcher.main.TestDiscoveryRequestBuilder.request;
import static org.junit.runner.Description.createSuiteDescription;
import static org.junit.runner.Description.createTestDescription;
Expand All @@ -33,10 +33,10 @@

import org.junit.AssumptionViolatedException;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEvent;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.junit4.samples.junit3.PlainJUnit3TestCaseWithSingleTestWhichFails;
import org.junit.gen5.engine.junit4.samples.junit4.*;
import org.junit.gen5.engine.test.event.ExecutionEvent;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;
import org.junit.runner.Description;
import org.junit.runner.RunWith;
Expand Down
Expand Up @@ -13,10 +13,10 @@
import static org.junit.gen5.engine.discovery.ClassSelector.selectClass;
import static org.junit.gen5.launcher.main.TestDiscoveryRequestBuilder.request;

import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.ExecutionRequest;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.UniqueId;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -21,7 +21,7 @@
import org.junit.gen5.api.AfterAll;
import org.junit.gen5.api.BeforeAll;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;

/**
* Integration tests that verify support for {@link BeforeAll} and {@link AfterAll}
Expand Down
Expand Up @@ -21,7 +21,7 @@
import org.junit.gen5.api.AfterEach;
import org.junit.gen5.api.BeforeEach;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;

/**
* Integration tests that verify support for {@link BeforeEach} and {@link AfterEach}
Expand Down
Expand Up @@ -17,7 +17,7 @@

import org.junit.gen5.api.Disabled;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -15,18 +15,18 @@
import static org.junit.gen5.api.Assertions.assertTrue;
import static org.junit.gen5.api.Assertions.fail;
import static org.junit.gen5.api.DynamicTest.dynamicTest;
import static org.junit.gen5.engine.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.gen5.engine.ExecutionEventConditions.container;
import static org.junit.gen5.engine.ExecutionEventConditions.dynamicTestRegistered;
import static org.junit.gen5.engine.ExecutionEventConditions.engine;
import static org.junit.gen5.engine.ExecutionEventConditions.event;
import static org.junit.gen5.engine.ExecutionEventConditions.finishedSuccessfully;
import static org.junit.gen5.engine.ExecutionEventConditions.finishedWithFailure;
import static org.junit.gen5.engine.ExecutionEventConditions.started;
import static org.junit.gen5.engine.ExecutionEventConditions.test;
import static org.junit.gen5.engine.TestExecutionResultConditions.message;
import static org.junit.gen5.engine.discovery.ClassSelector.selectClass;
import static org.junit.gen5.engine.discovery.MethodSelector.selectMethod;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.container;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.dynamicTestRegistered;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.engine;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.event;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.finishedSuccessfully;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.finishedWithFailure;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.started;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.test;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.message;
import static org.junit.gen5.launcher.main.TestDiscoveryRequestBuilder.request;

import java.util.Arrays;
Expand All @@ -38,8 +38,8 @@
import org.junit.gen5.api.DynamicTest;
import org.junit.gen5.api.Test;
import org.junit.gen5.api.TestFactory;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -12,17 +12,17 @@

import static org.assertj.core.api.Assertions.allOf;
import static org.junit.gen5.api.Assertions.assertEquals;
import static org.junit.gen5.engine.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.gen5.engine.ExecutionEventConditions.container;
import static org.junit.gen5.engine.ExecutionEventConditions.engine;
import static org.junit.gen5.engine.ExecutionEventConditions.event;
import static org.junit.gen5.engine.ExecutionEventConditions.finishedSuccessfully;
import static org.junit.gen5.engine.ExecutionEventConditions.finishedWithFailure;
import static org.junit.gen5.engine.ExecutionEventConditions.started;
import static org.junit.gen5.engine.ExecutionEventConditions.test;
import static org.junit.gen5.engine.TestExecutionResultConditions.isA;
import static org.junit.gen5.engine.TestExecutionResultConditions.message;
import static org.junit.gen5.engine.TestExecutionResultConditions.suppressed;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.container;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.engine;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.event;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.finishedSuccessfully;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.finishedWithFailure;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.started;
import static org.junit.gen5.engine.test.event.ExecutionEventConditions.test;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.isA;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.message;
import static org.junit.gen5.engine.test.event.TestExecutionResultConditions.suppressed;
import static org.junit.gen5.launcher.main.TestDiscoveryRequestBuilder.request;

import java.io.IOException;
Expand All @@ -35,8 +35,8 @@
import org.junit.gen5.api.BeforeAll;
import org.junit.gen5.api.BeforeEach;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.discovery.MethodSelector;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;
import org.opentest4j.AssertionFailedError;

Expand Down
Expand Up @@ -20,8 +20,8 @@
import org.junit.gen5.api.BeforeEach;
import org.junit.gen5.api.Nested;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -22,7 +22,7 @@
import org.junit.gen5.api.Test;
import org.junit.gen5.api.TestReporter;
import org.junit.gen5.commons.util.PreconditionViolationException;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -19,8 +19,8 @@
import org.junit.gen5.api.AfterEach;
import org.junit.gen5.api.BeforeEach;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;
import org.opentest4j.TestAbortedException;

Expand Down
Expand Up @@ -19,7 +19,7 @@
import org.junit.gen5.api.AfterEach;
import org.junit.gen5.api.BeforeEach;
import org.junit.gen5.api.Test;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -25,9 +25,9 @@
import org.junit.gen5.api.extension.BeforeAllCallback;
import org.junit.gen5.api.extension.ContainerExtensionContext;
import org.junit.gen5.api.extension.ExtendWith;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.junit5.AbstractJUnit5TestEngineTests;
import org.junit.gen5.engine.junit5.JUnit5TestEngine;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -26,9 +26,9 @@
import org.junit.gen5.api.extension.BeforeEachCallback;
import org.junit.gen5.api.extension.ExtendWith;
import org.junit.gen5.api.extension.TestExtensionContext;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.junit5.AbstractJUnit5TestEngineTests;
import org.junit.gen5.engine.junit5.JUnit5TestEngine;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -26,9 +26,9 @@
import org.junit.gen5.api.extension.BeforeTestExecutionCallback;
import org.junit.gen5.api.extension.ExtendWith;
import org.junit.gen5.api.extension.TestExtensionContext;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.junit5.AbstractJUnit5TestEngineTests;
import org.junit.gen5.engine.junit5.JUnit5TestEngine;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down
Expand Up @@ -22,11 +22,11 @@
import org.junit.gen5.api.Test;
import org.junit.gen5.api.extension.ContainerExecutionCondition;
import org.junit.gen5.api.extension.TestExecutionCondition;
import org.junit.gen5.engine.ExecutionEventRecorder;
import org.junit.gen5.engine.junit5.AbstractJUnit5TestEngineTests;
import org.junit.gen5.engine.junit5.JUnit5TestEngine;
import org.junit.gen5.engine.junit5.extension.sub.SystemPropertyCondition;
import org.junit.gen5.engine.junit5.extension.sub.SystemPropertyCondition.SystemProperty;
import org.junit.gen5.engine.test.event.ExecutionEventRecorder;
import org.junit.gen5.launcher.TestDiscoveryRequest;

/**
Expand Down

0 comments on commit 4a1be0c

Please sign in to comment.