Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement]: Support Neo4J Enterprise #1261

Closed
Sossenbinder opened this issue Sep 13, 2024 · 1 comment · Fixed by #1269
Closed

[Enhancement]: Support Neo4J Enterprise #1261

Sossenbinder opened this issue Sep 13, 2024 · 1 comment · Fixed by #1269
Labels
enhancement New feature or request

Comments

@Sossenbinder
Copy link
Contributor

Problem

It seems that the current Neo4J Container is only built with the regular neo4j community version image in mind.

However, there is also the possibility of using a licensed enterprise edition, which offers quite a few distinct features (https://neo4j.com/pricing/) which would make a difference even in a testing context.

I know about the possibility to define a custom image with the .WithImage(...) method on the builder, but the enterprise version also requires an environment variable to be set, in order to work at all (NEO4J_ACCEPT_LICENSE_AGREEMENT=yes).

Solution

For convenience reasons, it would be neat to have a public .WithEnterpriseEdition(...) method on the builder which sets both the image and the environment variable right away.

This is also the public API Java TestContainers provide (https://java.testcontainers.org/modules/databases/neo4j/#choose-your-neo4j-license)

Benefit

Purely QoL, there are no immediate functional benefits.

Alternatives

I assume the current alternative is to just build an extension method yourself, or to just type out the two methods on the builder

Would you like to help contributing this enhancement?

Yes

@Sossenbinder Sossenbinder added the enhancement New feature or request label Sep 13, 2024
@HofmeisterAn
Copy link
Collaborator

Implementing it similar to Java sounds like a good idea. For .NET, we probably need a guard in the Build() method too, that throws an exception if the configuration is invalid.

Sossenbinder added a commit to Sossenbinder/testcontainers-dotnet that referenced this issue Sep 22, 2024
- Added small QoL method to support Neo4j enterprise
- Added validation to throw when enterprise is requested without the correct license agreement environment variable
- Added tests for enterprise & configuration changes
- Changed existing test to use IAsyncDisposable instead of sync-over-async disposal
Sossenbinder added a commit to Sossenbinder/testcontainers-dotnet that referenced this issue Sep 22, 2024
- Added small QoL method to support Neo4j enterprise
- Added validation to throw when enterprise is requested without the correct license agreement environment variable
- Added tests for enterprise & configuration changes
- Changed existing test to use IAsyncDisposable instead of sync-over-async disposal
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
2 participants