#neo4j #test-containers #docker #user-password

neo4j_testcontainers

Neo4j模块为testcontainers-rs

3个版本 (重大更改)

0.3.0 2024年5月22日
0.2.0 2023年10月6日
0.1.0 2023年6月7日

#249 in 测试

MIT许可证

27KB
206

neo4j_testcontainers CI状态 Crates.io 文档 许可证: MIT Rust版本: 1.70.0

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-modulestestcontainers添加额外依赖项是必需的。

// 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 适用于以下任一许可证


依赖项

~21–33MB
~611K SLoC