Hi there,
we're looking into updating test setup by either upgrading to the latest arquillian-cube (since we use arquillian-cube now), or migrating to testcontainers. We're making a comparison between various scenario's, and one of those scenario's involves using this extension to use testcontainers from our arquillian based tests.
We have quite an extensive test suite and Claude (which we've been using to analyze the various codebases and scenario's) has detected some missing functionality that we would need in order to use testcontainers the way we are now using cube.
We think our testsuite is a useful reallife, extensive test suite and that the realworld issues we run into are broadly applicable/can be used to make arquillian-extension-testcontainers more useful.
This is Claude's summary:
What the extension has today
@Testcontainer field injection (type-based lookup only)
@TestcontainersRequired Docker availability check
TestcontainerRegistry (ClassScoped, accessible to other extensions via @Inject)
- Container lifecycle: start in
AfterEnrichment, stop in AfterClass
LoggingConsumer helper
What it needs (all generic, useful to any Arquillian user) <--- this is roughly what we would be adding
| Feature |
Why any user needs this |
Cube equivalent |
| Named container lookup |
Multiple containers, lookup by role |
CubeRegistry.getCube("name") |
| Container lifecycle events |
React to container start/stop (copy files, inject IPs, collect logs) |
BeforeCreate, AfterStart, BeforeDestroy |
| Shared network management |
Inter-container communication |
NetworkRegistry + CUBE YAML networks |
@ArquillianResource integration |
Standard Arquillian injection pattern |
CubeRegistryProvider |
| arquillian.xml configuration |
Global settings (timeouts, network mode) |
Cube's <extension qualifier="docker"> |
Our questions:
a) Would you be opposed to a largely AI-generated PR adding functionality? We always keep a human in control, and would make sure to have the code be reviewed by a human before opening a PR, but most of the code would probably be AI-generated.
b) Do you agree (in general) with the above summary and features to add or would you leave any out?
To be clear, we are as of now still in the planning/gather information stage, though we tend to move quickly once we make a decision.
We have not yet made a decision so no guarantees as to whether we would implement this or not.
Hi there,
we're looking into updating test setup by either upgrading to the latest arquillian-cube (since we use arquillian-cube now), or migrating to testcontainers. We're making a comparison between various scenario's, and one of those scenario's involves using this extension to use testcontainers from our arquillian based tests.
We have quite an extensive test suite and Claude (which we've been using to analyze the various codebases and scenario's) has detected some missing functionality that we would need in order to use testcontainers the way we are now using cube.
We think our testsuite is a useful reallife, extensive test suite and that the realworld issues we run into are broadly applicable/can be used to make arquillian-extension-testcontainers more useful.
This is Claude's summary:
What the extension has today
@Testcontainerfield injection (type-based lookup only)@TestcontainersRequiredDocker availability checkTestcontainerRegistry(ClassScoped, accessible to other extensions via@Inject)AfterEnrichment, stop inAfterClassLoggingConsumerhelperWhat it needs (all generic, useful to any Arquillian user) <--- this is roughly what we would be adding
CubeRegistry.getCube("name")BeforeCreate,AfterStart,BeforeDestroyNetworkRegistry+ CUBE YAML networks@ArquillianResourceintegrationCubeRegistryProvider<extension qualifier="docker">Our questions:
a) Would you be opposed to a largely AI-generated PR adding functionality? We always keep a human in control, and would make sure to have the code be reviewed by a human before opening a PR, but most of the code would probably be AI-generated.
b) Do you agree (in general) with the above summary and features to add or would you leave any out?
To be clear, we are as of now still in the planning/gather information stage, though we tend to move quickly once we make a decision.
We have not yet made a decision so no guarantees as to whether we would implement this or not.