Skip to content
Snippets Groups Projects
Commit 5dadc0b1 authored by Martin Weise's avatar Martin Weise
Browse files

another attempt in fixing the integration tests, the entities seem to suffer from merge conflict

Former-commit-id: 7a3b8042
parent 1977eead
No related branches found
No related tags found
1 merge request!23Sprint results
Showing
with 31 additions and 148 deletions
package at.tuwien;
import at.tuwien.entities.container.Container;
import at.tuwien.entities.container.image.ContainerImage;
import at.tuwien.entities.container.image.ContainerImageEnvironmentItem;
import org.springframework.test.context.TestPropertySource;
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 BaseIntegrationTest {
public final Long IMAGE_1_ID = 1L;
public final String IMAGE_1_REPOSITORY = "postgres";
public final String IMAGE_1_TAG = "13-alpine";
public final String IMAGE_1_HASH = "83b40f2726e5";
public final Long IMAGE_1_SIZE = 100000L;
public final Integer IMAGE_1_PORT = 5432;
public final Instant IMAGE_1_BUILT = Instant.now().minus(40, HOURS);
public final 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 Long IMAGE_2_ID = 2L;
public final String IMAGE_2_REPOSITORY = "redis";
public final String IMAGE_2_TAG = "latest";
public final String IMAGE_2_HASH = "f877e80bb9ef";
public final Long IMAGE_2_SIZE = 200000L;
public final Integer IMAGE_2_PORT = 6379;
public final Instant IMAGE_2_BUILT = Instant.now().minus(9, DAYS);
public final 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 ContainerImage IMAGE_1 = ContainerImage.builder()
.id(IMAGE_1_ID)
.repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG)
.hash(IMAGE_1_HASH)
.size(IMAGE_1_SIZE)
.compiled(IMAGE_1_BUILT)
.environment(IMAGE_1_ENV)
.defaultPort(IMAGE_1_PORT)
.build();
public final ContainerImage IMAGE_2 = ContainerImage.builder()
.id(IMAGE_2_ID)
.repository(IMAGE_2_REPOSITORY)
.tag(IMAGE_2_TAG)
.hash(IMAGE_2_HASH)
.size(IMAGE_2_SIZE)
.compiled(IMAGE_2_BUILT)
.environment(IMAGE_2_ENV)
.defaultPort(IMAGE_2_PORT)
.build();
public final Long CONTAINER_1_ID = 1L;
public final String CONTAINER_1_HASH = "deadbeef";
public final ContainerImage CONTAINER_1_IMAGE = IMAGE_1;
public final String CONTAINER_1_NAME = "u01";
public final String CONTAINER_1_INTERNAL_NAME = "u01";
public final String CONTAINER_1_IP = "172.28.0.3";
public final Instant CONTAINER_1_CREATED = Instant.now().minus(1, HOURS);
public final Long CONTAINER_2_ID = 2L;
public final String CONTAINER_2_HASH = "0ff1ce";
public final ContainerImage CONTAINER_2_IMAGE = IMAGE_2;
public final String CONTAINER_2_NAME = "t01";
public final String CONTAINER_2_INTERNAL_NAME = "u01";
public final String CONTAINER_2_IP = "172.28.0.4";
public final Instant CONTAINER_2_CREATED = Instant.now().minus(1, HOURS);
public final Container CONTAINER_1 = Container.builder()
.id(CONTAINER_1_ID)
.name(CONTAINER_1_NAME)
.internalName(CONTAINER_1_INTERNAL_NAME)
.image(CONTAINER_1_IMAGE)
.hash(CONTAINER_1_HASH)
.containerCreated(CONTAINER_1_CREATED)
.build();
public final Container CONTAINER_2 = Container.builder()
.id(CONTAINER_2_ID)
.name(CONTAINER_2_NAME)
.internalName(CONTAINER_2_INTERNAL_NAME)
.image(CONTAINER_2_IMAGE)
.hash(CONTAINER_2_HASH)
.containerCreated(CONTAINER_2_CREATED)
.build();
}
......@@ -129,7 +129,7 @@ public abstract class BaseUnitTest {
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 static String CONTAINER_2_HASH = "0ff1ce";
public final static ContainerImage CONTAINER_2_IMAGE = IMAGE_2;
public final static String CONTAINER_2_NAME = "fda-userdb-t01";
public final static String CONTAINER_2_INTERNALNAME = "fda-userdb-t01";
......@@ -200,6 +200,13 @@ public abstract class BaseUnitTest {
.defaultPort(IMAGE_1_PORT)
.build();
public final static ImageCreateDto IMAGE_2_CREATE_DTO = ImageCreateDto.builder()
.repository(IMAGE_2_REPOSITORY)
.tag(IMAGE_2_TAG)
.environment(IMAGE_2_ENV_DTO)
.defaultPort(IMAGE_2_PORT)
.build();
public final static ContainerCreateRequestDto CONTAINER_1_CREATE_DTO = ContainerCreateRequestDto.builder()
.repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG)
......
package at.tuwien.service;
import at.tuwien.BaseIntegrationTest;
import at.tuwien.BaseUnitTest;
import at.tuwien.api.container.ContainerCreateRequestDto;
import at.tuwien.api.container.ContainerStateDto;
import at.tuwien.entities.container.Container;
......@@ -24,13 +24,12 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Map;
import static at.tuwien.BaseUnitTest.IMAGE_1_ENVIRONMENT;
import static org.junit.jupiter.api.Assertions.*;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@ExtendWith(SpringExtension.class)
@SpringBootTest
public class ContainerServiceIntegrationTest extends BaseIntegrationTest {
public class ContainerServiceIntegrationTest extends BaseUnitTest {
@Autowired
private ContainerService containerService;
......@@ -72,7 +71,7 @@ public class ContainerServiceIntegrationTest extends BaseIntegrationTest {
.withPortBindings(PortBinding.parse("5433:" + IMAGE_1_PORT)))
.withName(CONTAINER_1_NAME)
.withIpv4Address(CONTAINER_1_IP)
.withHostName(CONTAINER_1_INTERNAL_NAME)
.withHostName(CONTAINER_1_INTERNALNAME)
.exec();
/* start container */
dockerClient.startContainerCmd(request.getId()).exec();
......
package at.tuwien.service;
import at.tuwien.BaseIntegrationTest;
import at.tuwien.BaseUnitTest;
import at.tuwien.api.container.ContainerCreateRequestDto;
import at.tuwien.api.container.ContainerStateDto;
import at.tuwien.api.container.image.ImageCreateDto;
import at.tuwien.entities.container.Container;
import at.tuwien.exception.*;
import at.tuwien.repository.ContainerRepository;
import at.tuwien.repository.ImageRepository;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.command.CreateContainerResponse;
import com.github.dockerjava.api.exception.NotModifiedException;
import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.api.model.Network;
import com.github.dockerjava.api.model.PortBinding;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Map;
import static at.tuwien.BaseUnitTest.IMAGE_1_ENV_DTO;
import static org.junit.jupiter.api.Assertions.*;
......@@ -34,7 +16,7 @@ import static org.junit.jupiter.api.Assertions.*;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@ExtendWith(SpringExtension.class)
@SpringBootTest
public class ImageServiceIntegrationTest extends BaseIntegrationTest {
public class ImageServiceIntegrationTest extends BaseUnitTest {
@Autowired
private ImageService imageService;
......
......@@ -26,9 +26,9 @@ public class Container {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "container-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "container-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_container_seq")
)
......@@ -55,7 +55,7 @@ public class Container {
private Integer port;
@ToString.Include
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@ManyToOne(fetch = FetchType.LAZY) // cascade none
private ContainerImage image;
@Column(nullable = false, updatable = false)
......
......@@ -25,9 +25,9 @@ public class ContainerImage {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "image-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "image-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_image_seq")
)
......
......@@ -23,9 +23,9 @@ public class ContainerImageEnvironmentItem {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "environment-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "environment-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_environment_item_seq")
)
......
......@@ -26,9 +26,9 @@ public class Database {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "database-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "database-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_databases_seq")
)
......
......@@ -24,9 +24,9 @@ public class Query {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "query-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "query-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_queries_seq")
)
......
......@@ -27,9 +27,9 @@ public class Table {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "table-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "table-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_tables_seq")
)
......
......@@ -25,9 +25,9 @@ public class View {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "view-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "view-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_view_seq")
)
......
......@@ -27,9 +27,9 @@ public class TableColumn {
@Id
@EqualsAndHashCode.Include
@ToString.Include
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "column-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "column-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_columns_seq")
)
......
......@@ -26,9 +26,9 @@ public class User {
@EqualsAndHashCode.Include
@ToString.Include
@Column(name = "userid", columnDefinition = "numeric(19, 2)")
@GeneratedValue(generator = "sequence-per-entity")
@GeneratedValue(generator = "user-sequence")
@GenericGenerator(
name = "sequence-per-entity",
name = "user-sequence",
strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_user_seq")
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment