3个版本 (重大更改)
0.3.0 | 2024年5月22日 |
---|---|
0.2.0 | 2023年10月6日 |
0.1.0 | 2023年6月7日 |
#249 in 测试
27KB
206 行
neo4j_testcontainers
为testcontainers提供的Neo4j镜像。
此镜像基于官方的Neo4j镜像。默认用户是neo4j
,默认密码是neo
。默认版本是5
。
示例
use neo4j_testcontainers::{prelude::*, runners::SyncRunner, Neo4j};
let container = Neo4j::default().start();
let uri = container.image().bolt_uri_ipv4();
let auth_user = container.image().user();
let auth_pass = container.image().password();
// connect to Neo4j with the uri, user and pass
Testcontainers模块
此crate基于testcontainers-module中的neo4j
镜像。它提供了一些仅针对Neo4j特定的扩展方法,这些方法不适合包含在通用的testcontainers模块中。
此crate还导出了一些类型,这些类型对于开始使用而无需向testcontainers-modules
或testcontainers
添加额外依赖项是必需的。
// Those types are exported
pub use testcontainers_modules::{
neo4j::{Neo4j, Neo4jImage},
testcontainers::runners,
testcontainers::RunnableImage,
};
// ... on your end: use the exported types
use neo4j_testcontainers::{runners::SyncRunner, Neo4j, RunnableImage};
Neo4j版本
可以使用环境变量NEO4J_VERSION_TAG
设置镜像版本。默认版本是5
。可在Docker Hub上找到可用版本。
可以使用version
方法获取使用的版本。
认证
默认用户是 neo4j
,默认密码是 neo
。
可以使用 user
方法获取使用的用户,可以使用 pass
方法获取使用的密码。
环境变量
支持以下环境变量
NEO4J_VERSION_TAG
:要使用的镜像的默认版本。NEO4J_TEST_USER
:用于身份验证的默认用户。NEO4J_TEST_PASS
:用于身份验证的默认密码。
Neo4j Labs 插件
Neo4j 提供了内置的 Neo4j Labs 插件支持。可以使用 with_neo4j_labs_plugin
方法来定义它们。
支持的插件有 APOC、APOC Core、Bloom、Streams、Graph Data Science 和 Neo Semantics。
企业版
为了在 testcontainer
中使用 Neo4j 企业版,您可以在 RunnableImage
上进行配置
use neo4j_testcontainers::{prelude::*, runners::SyncRunner, Neo4j, RunnableImage};
let neo4j = RunnableImage::from(Neo4j::default());
let neo4j = neo4j.with_enterprise_edition().expect("license not accepted");
let container = neo4j.start();
启用此功能之前,请阅读 Neo4j 许可页面,了解您可以使用企业版的条款。
您可以通过将名为 container-license-acceptance.txt
的文件添加到 cargo 工作区的根目录来接受企业版本的条款和条件,其中包含一行文本 neo4j:5-enterprise
。文件的内容必须与实际使用的镜像相同,因此如果您更改了版本,也需要更改此文件的内容。
MSRV
该软件包具有最低支持的 Rust 版本(MSRV)为 1.70.0
。
MSRV 的更改不被视为破坏性更改。对于 1.0.0 之后的版本,可以在小版本增量(1.1.3 -> 1.2.0)中进行 MSRV 的更改;对于 1.0.0 之前的版本,可以在补丁版本增量(0.1.3 -> 0.1.4)中进行 MSRV 的更改。
许可证
根据您的选择,neo4j_testcontainers 适用于以下任一许可证
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖项
~21–33MB
~611K SLoC