WIP Redis junit5 test container
This commit is contained in:
parent
a7eee8fe62
commit
d9b7725113
@ -216,6 +216,11 @@
|
||||
<artifactId>jdbc</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context-support</artifactId>
|
||||
|
||||
@ -0,0 +1,64 @@
|
||||
/**
|
||||
* Copyright © 2016-2024 The Thingsboard Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.containers.output.OutputFrame;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@Testcontainers
|
||||
@Slf4j
|
||||
public class RedisJUnit5Test {
|
||||
|
||||
@Container
|
||||
private static final GenericContainer REDIS = new GenericContainer("redis:7.2-bookworm")
|
||||
.withLogConsumer(s -> log.error(((OutputFrame) s).getUtf8String().trim()))
|
||||
.withExposedPorts(6379);
|
||||
|
||||
@BeforeAll
|
||||
static void beforeAll() {
|
||||
log.warn("Starting redis...");
|
||||
REDIS.start();
|
||||
System.setProperty("cache.type", "redis");
|
||||
System.setProperty("redis.connection.type", "standalone");
|
||||
System.setProperty("redis.standalone.host", REDIS.getHost());
|
||||
System.setProperty("redis.standalone.port", String.valueOf(REDIS.getMappedPort(6379)));
|
||||
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
static void afterAll() {
|
||||
List.of("cache.type", "redis.connection.type", "redis.standalone.host", "redis.standalone.port")
|
||||
.forEach(System.getProperties()::remove);
|
||||
REDIS.stop();
|
||||
log.warn("Redis is stopped");
|
||||
}
|
||||
|
||||
@Test
|
||||
void test() {
|
||||
assertThat(REDIS.isRunning()).isTrue();
|
||||
}
|
||||
|
||||
}
|
||||
12
pom.xml
12
pom.xml
@ -2021,6 +2021,18 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>${testcontainers.version}</version>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.zeroturnaround</groupId>
|
||||
<artifactId>zt-exec</artifactId>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user