Select Git revision
BaseUnitTest.java

Martin Weise authored
BaseUnitTest.java 8.61 KiB
package at.tuwien;
import at.tuwien.api.container.ContainerBriefDto;
import at.tuwien.api.container.ContainerCreateRequestDto;
import at.tuwien.api.container.ContainerDto;
import at.tuwien.api.container.image.ImageBriefDto;
import at.tuwien.api.container.image.ImageCreateDto;
import at.tuwien.api.container.image.ImageDto;
import at.tuwien.api.container.image.ImageEnvItemDto;
import at.tuwien.api.container.network.IpAddressDto;
import at.tuwien.entities.container.Container;
import at.tuwien.entities.container.image.ContainerImage;
import at.tuwien.entities.container.image.ContainerImageEnvironmentItem;
import com.github.dockerjava.api.command.CreateContainerCmd;
import com.github.dockerjava.api.command.CreateContainerResponse;
import com.github.dockerjava.core.command.CreateContainerCmdImpl;
import com.github.dockerjava.core.exec.CreateContainerCmdExec;
import org.springframework.test.context.TestPropertySource;
import java.math.BigInteger;
import java.time.Instant;
import java.util.List;
import static java.time.temporal.ChronoUnit.DAYS;
import static java.time.temporal.ChronoUnit.HOURS;
@TestPropertySource(locations = "classpath:application.properties")
public abstract class BaseUnitTest {
public final static Long IMAGE_1_ID = 1L;
public final static String IMAGE_1_REPOSITORY = "postgres";
public final static String IMAGE_1_TAG = "13-alpine";
public final static String IMAGE_1_HASH = "83b40f2726e5";
public final static Integer IMAGE_1_PORT = 5432;
public final static Long IMAGE_1_SIZE = 12000L;
public final static Instant IMAGE_1_BUILT = Instant.now().minus(40, HOURS);
public final static List<ContainerImageEnvironmentItem> IMAGE_1_ENV = List.of(ContainerImageEnvironmentItem.builder()
.key("POSTGRES_USER")
.value("postgres")
.build(),
ContainerImageEnvironmentItem.builder()
.key("POSTGRES_PASSWORD")
.value("postgres")
.build());
public final static ImageEnvItemDto[] IMAGE_1_ENV_DTO = List.of(ImageEnvItemDto.builder()
.key("POSTGRES_USER")
.value("postgres")
.build(),
ImageEnvItemDto.builder()
.key("POSTGRES_PASSWORD")
.value("postgres")
.build())
.toArray(new ImageEnvItemDto[0]);
public final static List<String> IMAGE_1_ENVIRONMENT = List.of("POSTGRES_USER=postgres",
"POSTGRES_PASSWORD=postgres");
public final static String IMAGE_2_REPOSITORY = "redis";
public final static String IMAGE_2_TAG = "latest";
public final static String IMAGE_2_HASH = "f877e80bb9ef";
public final static Integer IMAGE_2_PORT = 6379;
public final static Long IMAGE_2_SIZE = 24000L;
public final static Instant IMAGE_2_BUILT = Instant.now().minus(9, DAYS);
public final static List<ContainerImageEnvironmentItem> IMAGE_2_ENV = List.of(ContainerImageEnvironmentItem.builder()
.key("POSTGRES_USER")
.value("postgres")
.build(),
ContainerImageEnvironmentItem.builder()
.key("POSTGRES_PASSWORD")
.value("postgres")
.build());
public final static ImageEnvItemDto[] IMAGE_2_ENV_DTO = List.of(ImageEnvItemDto.builder()
.key("POSTGRES_USER")
.value("postgres")
.build(),
ImageEnvItemDto.builder()
.key("POSTGRES_PASSWORD")
.value("postgres")
.build())
.toArray(new ImageEnvItemDto[0]);
public final static ContainerImage IMAGE_1 = ContainerImage.builder()
.id(1L)
.repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG)
.hash(IMAGE_1_HASH)
.compiled(IMAGE_1_BUILT)
.size(IMAGE_1_SIZE)
.environment(IMAGE_1_ENV)
.defaultPort(IMAGE_1_PORT)
.build();
public final static ImageDto IMAGE_1_DTO = ImageDto.builder()
.repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG)
.hash(IMAGE_1_HASH)
.compiled(IMAGE_1_BUILT)
.size(BigInteger.valueOf(IMAGE_1_SIZE))
.environment(IMAGE_1_ENV_DTO)
.defaultPort(IMAGE_1_PORT)
.build();
public final static ContainerImage IMAGE_2 = ContainerImage.builder()
.repository(IMAGE_2_REPOSITORY)
.tag(IMAGE_2_TAG)
.hash(IMAGE_2_HASH)
.compiled(IMAGE_2_BUILT)
.size(IMAGE_2_SIZE)
.environment(IMAGE_2_ENV)
.defaultPort(IMAGE_2_PORT)
.build();
public final static ImageDto IMAGE_2_DTO = ImageDto.builder()
.repository(IMAGE_2_REPOSITORY)
.tag(IMAGE_2_TAG)
.hash(IMAGE_2_HASH)
.size(BigInteger.valueOf(IMAGE_2_SIZE))
.compiled(IMAGE_2_BUILT)
.environment(IMAGE_2_ENV_DTO)
.defaultPort(IMAGE_2_PORT)
.build();
public final static Long CONTAINER_1_ID = 1L;
public final static String CONTAINER_1_HASH = "deadbeef";
public final static ContainerImage CONTAINER_1_IMAGE = IMAGE_1;
public final static String CONTAINER_1_NAME = "fda-userdb-u01";
public final static String CONTAINER_1_INTERNALNAME = "fda-userdb-u01";
public final static String CONTAINER_1_DATABASE = "univie";
public final static String CONTAINER_1_IP = "172.28.0.5";
public final static Instant CONTAINER_1_CREATED = Instant.now().minus(1, HOURS);
public final static Long CONTAINER_2_ID = 2L;
public final static String CONTAINER_2_HASH = "0ff1ce";
public final static ContainerImage CONTAINER_2_IMAGE = IMAGE_2;
public final static String CONTAINER_2_NAME = "t01";
public final static String CONTAINER_2_INTERNALNAME = "t01";
public final static String CONTAINER_2_DATABASE = "tuw";
public final static String CONTAINER_2_IP = "233.145.99.83";
public final static Instant CONTAINER_2_CREATED = Instant.now().minus(1, HOURS);
public final static Container CONTAINER_1 = Container.builder()
.id(1L)
.name(CONTAINER_1_NAME)
.internalName(CONTAINER_1_INTERNALNAME)
.image(CONTAINER_1_IMAGE)
.hash(CONTAINER_1_HASH)
.containerCreated(CONTAINER_1_CREATED)
.build();
public final static Container CONTAINER_2 = Container.builder()
.id(2L)
.name(CONTAINER_2_NAME)
.internalName(CONTAINER_2_INTERNALNAME)
.image(CONTAINER_2_IMAGE)
.hash(CONTAINER_2_HASH)
.containerCreated(CONTAINER_2_CREATED)
.build();
public final static ContainerDto CONTAINER_1_DTO = ContainerDto.builder()
.name(CONTAINER_1_NAME)
.image(IMAGE_1_DTO)
.hash(CONTAINER_1_HASH)
.ipAddress(IpAddressDto.builder()
.ipv4(CONTAINER_1_IP)
.build())
.created(CONTAINER_1_CREATED)
.build();
public final static ContainerBriefDto CONTAINER_1_BRIEF_DTO = ContainerBriefDto.builder()
.name(CONTAINER_1_NAME)
.internalName(CONTAINER_1_INTERNALNAME)
.hash(CONTAINER_1_HASH)
.build();
public final static ImageBriefDto IMAGE_1_BRIEFDTO = ImageBriefDto.builder()
.repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG)
.build();
public final static ContainerDto CONTAINER_2_DTO = ContainerDto.builder()
.name(CONTAINER_2_NAME)
.image(IMAGE_2_DTO)
.hash(CONTAINER_2_HASH)
.ipAddress(IpAddressDto.builder()
.ipv4(CONTAINER_2_IP)
.build())
.created(CONTAINER_2_CREATED)
.build();
public final static ContainerBriefDto CONTAINER_2_BRIEF_DTO = ContainerBriefDto.builder()
.id(CONTAINER_2_ID)
.name(CONTAINER_2_NAME)
.internalName(CONTAINER_2_INTERNALNAME)
.hash(CONTAINER_2_HASH)
.build();
public final static ImageCreateDto IMAGE_1_CREATE_DTO = ImageCreateDto.builder()
.repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG)
.environment(IMAGE_1_ENV_DTO)
.defaultPort(IMAGE_1_PORT)
.build();
public final static ContainerCreateRequestDto CONTAINER_1_CREATE_DTO = ContainerCreateRequestDto.builder()
.repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG)
.name(CONTAINER_1_NAME)
.build();
}