我有一个Spring Boot应用程序,我在其中使用测试容器进行测试.
我想在测试之间清理我的数据库.我在Keycloak测试容器中创建了一个用户,以使用其ID进行进一步的测试,但该用户几乎在每次测试中都会发生变化,我想删除该用户并在每次测试后清理Keycloak的数据库.
我以这种方式创建了Keycloak测试容器:
@Container
static KeycloakContainer keycloakContainer = new KeycloakContainer()
.withRealmImportFile("test-realm-export.json")
.withAdminUsername("admin1")
.withAdminPassword("admin1");
我可以使用以下配置来清洁@AfterEach
部分中的MariaDB测试容器.
@AfterEach
public void cleanUpEach() throws Exception {
try (Connection connection = dataSource.getConnection()) {
Resource resource = new ClassPathResource("/clean_up.sql");
ScriptUtils.executeSqlScript(connection, resource);
}
}
clean_up.sql
包含以下行:
TRUNCATE TABLE table1;
TRUNCATE TABLE table2;
但问题是我也不知道如何清理Keycloat的数据库.