-
Notifications
You must be signed in to change notification settings - Fork 33
Description
As mentioned in #386, it would be nice to be able to reuse the stream test pattern (cf. #339) across modules. Currently metamorph and metafacture-mangling make use of it, plus metafacture-yaml once #400 is accepted. There are more candidates that could potentially benefit from it.
I'd like to propose metafacture-test as a new module, with org.metafacture.test.StreamTestHelpers (or maybe org.metafacture.test.helpers.StreamTest) as a starting point. There's always the possibility to extract more test patterns in the future.
It would be a testImplementation dependency for the aforementioned modules.
Would something like this be acceptable? (See also the brief discussion in #386.)
P.S.: While at it, it might make sense to configure test logging (showStandardStreams = true and exceptionFormat = 'full') globally for all subprojects. Unwanted output should be suppressed or otherwise dealt with.
org.metafacture.flowcontrol.ObjectExceptionCatcherTest > shouldCatchException STANDARD_ERROR
[Test worker] ERROR org.metafacture.flowcontrol.ObjectExceptionCatcher - 'Exception Message' while processing object: data
org.metafacture.flowcontrol.ObjectThreaderTest > shouldSplitAllObjectsToAllThreadedDownStreamReceivers STANDARD_ERROR
[Test worker] INFO org.metafacture.flowcontrol.ObjectThreader - Adding thread 1
[Test worker] INFO org.metafacture.flowcontrol.ObjectThreader - Adding thread 2
org.metafacture.json.JsonDecoderTest > testShouldProcessRecordsInArrayRoot STANDARD_ERROR
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
org.metafacture.monitoring.StreamLoggerTest > shouldActAsSinkIfNoReceiverIsSet STANDARD_ERROR
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - start record 1
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - start entity entity
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - literal literal=value
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - end entity
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - end record
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - resetStream
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - closeStream
org.metafacture.monitoring.StreamLoggerTest > shouldForwardAllReceivedEvents STANDARD_ERROR
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - start record 1
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - start entity entity
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - literal literal=value
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - end entity
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - end record
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - resetStream
[Test worker] DEBUG org.metafacture.monitoring.StreamLogger - closeStream
org.metafacture.monitoring.ObjectTimerTest > testShouldHandleImmediateCloseStreamWithNoProcessing STANDARD_ERROR
[Test worker] INFO org.metafacture.monitoring.TimerBase - Executions: 0; Cumulative duration: 0s; Average duration: 0s
[Test worker] INFO org.metafacture.monitoring.TimerBase - Time to close stream: 14µs 965ns
org.metafacture.monitoring.ObjectTimerTest > testShouldMeasureExecutionTime STANDARD_ERROR
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 1: 150ms 138µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 2: 20ms 82µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 3: 30ms 130µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 4: 202ms 164µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Executions: 4; Cumulative duration: 402ms 515µs; Average duration: 100ms 629µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Time to close stream: 6µs 170ns
org.metafacture.monitoring.StreamTimerTest > testShouldHandleImmediateCloseStreamWithNoProcessing STANDARD_ERROR
[Test worker] INFO org.metafacture.monitoring.TimerBase - Executions: 0; Cumulative duration: 0s; Average duration: 0s
[Test worker] INFO org.metafacture.monitoring.TimerBase - Time to close stream: 1µs 470ns
org.metafacture.monitoring.StreamTimerTest > testShouldMeasureExecutionTime STANDARD_ERROR
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 1: 150ms 242µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 2: 20ms 149µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 3: 30ms 123µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Execution 4: 202ms 170µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Executions: 4; Cumulative duration: 402ms 685µs; Average duration: 100ms 671µs
[Test worker] INFO org.metafacture.monitoring.TimerBase - Time to close stream: 5µs 111ns
org.metafacture.metamorph.test.validators.StreamValidatorTest > shouldFailIfEndRecordEventIsMissing STANDARD_ERROR
[Test worker] INFO org.metafacture.metamorph.test.validators.StreamValidator - Event Stream: 1{}
Metadata
Metadata
Assignees
Labels
Type
Projects
Status