|
ℹ️
|
This documentation is immature and work in progress! |
The Data Collector (DC) is a framework for consuming REST APIs where collected data is written to streams. The DC executes a declarative Specification at runtime that describes how data should be collected. The Specification is built using a well defined DSL.
Example of use: Statistics Norway’s Consumer Specifications.
Explore other Data Collector Projects at GitHub.
-
Generic builder deserializer (required for decoupling of core and api consumer specification)
-
Task scheduler (schedule a worker that executes a specification)
-
Improve test coverage
-
Improve code base
-
CorrelationId is not generated correctly
-
Capture last event-list on entry HttpErrorException
-
Implemented
JqPathHandlerusing Jackson-JQ to support Json Path in the DSL -
Added
bodyContainsto Query DSL to support false negative intentionally, e.g. 404 with a response semantics that should be treated as success, will not cause the collector to fail fast. Please note: existing consumer specifications in json or yaml format, must be updated due to changes in the DSL. -
Java 11 HttpClient causes severe memory leaks, which was fixed in Java 13. Consequently the Data Collector now requires Java 13+
-
Moved to JUnit 5. Implemented an extension where the test server lifecycle is managed by the
ExtensionContext.Store. This alleviates the lack of enforced JPMS due to incompatibility between TestNG and Surefire. The latest surefire version 3.0.0-M4 is compatible with JUnit 5 and offers better compatibility with JPMS. -
Major improvement to the
MockDataControllerthat provides internal resources ("api simulation") for testing.FreemarkerTemplateEngineis used for simplicity/readability and increased maintainability of api simulations.
This software is licensed under APL 2.0