Testcontainers-Keycloak 使用教程

Testcontainers-Keycloak 使用教程

testcontainers-keycloakA Testcontainer implementation for Keycloak IAM & SSO.项目地址:https://gitcode.com/gh_mirrors/te/testcontainers-keycloak

项目介绍

Testcontainers-Keycloak 是一个用于 Keycloak IAM & SSO 的 Testcontainer 实现。它允许开发者在测试环境中轻松地启动和管理 Keycloak 实例,从而简化集成测试的流程。该项目支持 Keycloak 从版本 22.x 及以上,对于 21.x 及以下版本,请参考 2.x 分支。

项目快速启动

依赖配置

首先,在 Maven 项目的 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>com.github.dasniko</groupId>
    <artifactId>testcontainers-keycloak</artifactId>
    <version>3.4.0</version>
</dependency>

启动 Keycloak 容器

以下是一个简单的示例,展示如何在 JUnit 5 测试中启动一个默认的 Keycloak 实例:

import org.testcontainers.containers.KeycloakContainer;
import org.junit.jupiter.api.Test;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

@Testcontainers
public class KeycloakTest {

    @Container
    private static final KeycloakContainer keycloak = new KeycloakContainer();

    @Test
    public void testKeycloak() {
        // 在这里编写你的测试逻辑
        String authServerUrl = keycloak.getAuthServerUrl();
        System.out.println("Keycloak Auth Server URL: " + authServerUrl);
    }
}

应用案例和最佳实践

自定义 Keycloak 容器

如果你需要一个自定义的 Keycloak 容器实现,可以继承 ExtendableKeycloakContainer 类:

public class MyCustomKeycloakContainer extends ExtendableKeycloakContainer<MyCustomKeycloakContainer> {

    public MyCustomKeycloakContainer() {
        super();
    }

    public MyCustomKeycloakContainer(String dockerImageName) {
        super(dockerImageName);
    }
}

使用自定义管理员密码

你可以设置自定义的管理员密码:

@Container
private static final KeycloakContainer keycloak = new KeycloakContainer()
    .withAdminPassword("customPassword");

导入 Realm 配置

你可以通过 withRealmImportFile 方法导入现有的 realm JSON 配置文件:

@Container
private static final KeycloakContainer keycloak = new KeycloakContainer()
    .withRealmImportFile("/test-realm.json");

典型生态项目

Testcontainers-Keycloak 通常与其他测试工具和框架一起使用,例如:

  • JUnit 5: 用于编写和运行测试。
  • Docker: 用于容器化环境的管理。
  • Keycloak: 用于身份验证和授权。

这些工具和框架共同构成了一个强大的测试生态系统,帮助开发者确保其应用程序的安全性和可靠性。

testcontainers-keycloakA Testcontainer implementation for Keycloak IAM & SSO.项目地址:https://gitcode.com/gh_mirrors/te/testcontainers-keycloak

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喻珺闽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值