Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring back the JUnit5 RS TCK shim #803

Merged
merged 3 commits into from
Jan 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions context-propagation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<properties>
<deprecated.reactive-streams-junit5-tck.version>1.2.0</deprecated.reactive-streams-junit5-tck.version>
</properties>

<parent>
<groupId>io.smallrye.reactive</groupId>
Expand Down Expand Up @@ -54,7 +51,7 @@
<dependency>
<groupId>io.smallrye.reactive</groupId>
<artifactId>reactive-streams-junit5-tck</artifactId>
<version>${deprecated.reactive-streams-junit5-tck.version}</version>
<version>${project.version}</version>
<classifier>tests</classifier>
<type>test-jar</type>
<scope>test</scope>
Expand Down
2 changes: 1 addition & 1 deletion documentation/src/main/jekyll/_data/versions.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
mutiny_version: 1.3.0
mutiny_version: 1.2.0
vertx_mutiny_clients: 2.6.0
1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
<module>test-utils</module>
<module>implementation</module>
<module>reactive-streams-tck-tests</module>
<module>reactive-streams-junit5-tck</module>
<module>rxjava</module>
<module>rxjava3</module>
<module>reactor</module>
Expand Down
41 changes: 41 additions & 0 deletions reactive-streams-junit5-tck/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Reactive Streams TCK for Junit 5

_This module is a fork of the Reactive Streams TCK (https://github.com/reactive-streams/reactive-streams-jvm/tree/master/tck)
but use Junit 5 instead of TestNG. This project does not depend on Mutiny._

The purpose of the *Reactive Streams Technology Compatibility Kit* (from here on referred to as: *the TCK*) is to guide
and help Reactive Streams library implementers to validate their implementations against the rules defined in
[the Specification](https://github.com/reactive-streams/reactive-streams-jvm).

## Structure of the TCK

The TCK aims to cover all rules defined in the Specification, however for some rules outlined in the Specification it is
not possible (or viable) to construct automated tests, thus the TCK can not claim to fully verify an implementation, however it
is very helpful and is able to validate the most important rules.

The TCK is split up into 4 test classes which are to be extended by implementers, providing their `Publisher` / `Subscriber`
/ `Processor` implementations for the test harness to validate.

The tests are split in the following way:

* `PublisherVerification`
* `SubscriberWhiteboxVerification`
* `SubscriberBlackboxVerification`
* `IdentityProcessorVerification`

The sections below include examples on how these can be used and describe the various configuration options.


```xml
<dependency>
<groupId>io.smallrye.reactive</groupId>
<artifactId>reactive-streams-junit5-tck</artifactId>
<version>${last mutiny release}</version>
<classifier>tests</classifier>
<type>test-jar</type>
<scope>test</scope>
</dependency>
```

Please refer to the [Reactive Streams Specification](https://github.com/reactive-streams/reactive-streams-jvm) for the official,
and to the last Mutiny release to find the latest version. Make sure that your Reactive Streams API and TCK dependency versions match.
58 changes: 58 additions & 0 deletions reactive-streams-junit5-tck/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>io.smallrye.reactive</groupId>
<artifactId>mutiny-project</artifactId>
<version>999-SNAPSHOT</version>
</parent>

<artifactId>reactive-streams-junit5-tck</artifactId>

<name>SmallRye Mutiny - Reactive Streams TCK with JUnit5</name>
<description>The Reactive Streams TCK using JUnit 5 instead of TestNG</description>

<dependencies>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams-tck</artifactId>
<version>${reactive-streams.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>
Loading