SuccessChanges

Summary

  1. Package Awaitility, AssertJ and RxJava in test applications (details)
  2. Package TckBase and ArchiveExtender in test apps that require them (details)
  3. Replace FakeConfig with microprofile-config.properties (details)
  4. Switch from @Test(expected) to @ShouldThrowException (details)
  5. Initialize the ApplicationBeans id in PostConstruct, not constructor (details)
Commit 1a07e8906b29d5992cfb7881f899ffbbe5274ae7 by Andrew Rouse
Package Awaitility, AssertJ and RxJava in test applications
These libraries are required by tests which run on the server.
The file was addedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/extension/ReactiveMessagingLoadableExtension.java
The file was addedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/extension/RxJavaArchiveAppender.java
The file was addedtck/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension
The file was addedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/extension/AwaitilityArchiveAppender.java
The file was modifiedpom.xml (diff)
The file was addedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/extension/AssertJArchiveAppender.java
Commit 2c04f4305b6dad486090df3558a98bd99f770ffc by Andrew Rouse
Package TckBase and ArchiveExtender in test apps that require them
Where the test class references or extends one of these classes, the
class needs to be included in the test application to avoid
ClassNotFoundExceptions when the app is deployed using a managed or
remote arquillian container.
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/connector/ConnectorTest.java (diff)
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/invalid/InvalidConfigurationTest.java (diff)
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/connector/MissingConnectorTest.java (diff)
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/SimpleIncomingTest.java (diff)
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/TckBase.java (diff)
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/ProcessorChainTest.java (diff)
Commit f1007847a4504207934c6cb16207faee64c3c98b by Andrew Rouse
Replace FakeConfig with microprofile-config.properties
There are two problems with using the FakeConfig bean:
1) If there is an actual MP Config implementation present, it will clash
with the Config bean provided by MP Config.
2) It assumes that the MP Reactive Messaging implementation will
retrieve config from the Config bean, rather than through one of the
other methods that MP Config provides (e.g. by calling
ConfigProvider.getConfig())
This change replaces FakeConfig with a microprofile-config.properties
file packaged in the application archive. This will be read by one of
the built-in config sources and is portable across compliant MP Config
implementations.
The file was addedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/connector/connector-config.properties
The file was removedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/connector/FakeConfig.java
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/connector/MissingConnectorTest.java (diff)
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/connector/ConnectorTest.java (diff)
Commit 8c46ab703fd65681e007fa5e982af99b75300a5d by Andrew Rouse
Switch from @Test(expected) to @ShouldThrowException
@ShouldThrowException has additional logic to search through the
exception returned from the container to look for the expected
exception. This is important when deploying to a remote server as the
expected exception is usually wrapped up in some sort of deployment
exception.
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/connector/MissingConnectorTest.java (diff)
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/invalid/InvalidConfigurationTest.java (diff)
Commit 38c765df28bb8295e4f58e46227363969f68b4e8 by Andrew Rouse
Initialize the ApplicationBeans id in PostConstruct, not constructor
Move the initialization of the the id field in ApplicationBeans from the
constructor to a PostConstruct method.
The test that uses this class verifies that only one instance of the
ApplicationScoped bean is created.
However, because this is a normal scoped bean, the container may need to
create client proxies for this class and when it constructs one of
these, it will call the zero-arg constructor.
Therefore, although only one instance of the bean will be created, its
constructor may be called more than once.
Setting up the id in a PostConstruct method avoids this issue because
the PostConstruct method won't be called when creating a client proxy.
The file was modifiedtck/src/main/java/org/eclipse/microprofile/reactive/messaging/tck/scope/ApplicationBeans.java (diff)