Skip to content

spring-kotlin docker-backed integrationTest design #64

Description

@rossdanderson

Question

What does the examples/spring-kotlin docker-backed integration test look like, and how is its
source set wired?

Model it on application-apis/.../example-adapter-kotlin/CalendarAdapterIntegrationTest (its
shape, not its build — that repo uses the asyncapi codegen plugin DataSource-Extensions lacks):
start a Liberator Testcontainer via the shared kotest module, run the spring-kotlin adapter against
the container's mapped DataSource port, subscribe as a StreamLink client, and assert data flows
end-to-end.

Decide and specify:

  • What the adapter serves and what the client asserts — the concrete subject(s) and expected
    records, given whatever examples/spring-kotlin currently exposes (audit its controller/services).
  • Source-set wiring: add an integrationTest JvmTestSuite to examples/spring-kotlin
    (which today is a plain kotlin("jvm") + spring-boot build, not the common-library convention).
    It depends on the kotest module, kotest-runner, turbine.
  • CI exclusion: confirm the suite is not wired into check (so ./gradlew check in CI skips
    it), mirroring example-adapter-kotlin (which also disables Kover instrumentation for it). Decide
    whether a developer runs it via ./gradlew :examples:spring-kotlin:integrationTest.
  • Whether the spring adapter needs any change to be startable against an arbitrary
    host/port from the test (cf. startCalendarAdapter(host, dataSourcePort)).

Output: the IT design + the build-file changes for the example.


Blocked by the shared kotest module shape.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions