Skip to content
Snippets Groups Projects
Commit 7a3b8042 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

parent 8ce3cba6
No related branches found
No related tags found
6 merge requests!81New stable release,!43Merge dev to master,!23Sprint results,!20Pull Request,!19Pull Request,!18Merge Conflicts
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 { ...@@ -129,7 +129,7 @@ public abstract class BaseUnitTest {
public final static Instant CONTAINER_1_CREATED = Instant.now().minus(1, HOURS); public final static Instant CONTAINER_1_CREATED = Instant.now().minus(1, HOURS);
public final static Long CONTAINER_2_ID = 2L; 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 ContainerImage CONTAINER_2_IMAGE = IMAGE_2;
public final static String CONTAINER_2_NAME = "fda-userdb-t01"; public final static String CONTAINER_2_NAME = "fda-userdb-t01";
public final static String CONTAINER_2_INTERNALNAME = "fda-userdb-t01"; public final static String CONTAINER_2_INTERNALNAME = "fda-userdb-t01";
...@@ -200,6 +200,13 @@ public abstract class BaseUnitTest { ...@@ -200,6 +200,13 @@ public abstract class BaseUnitTest {
.defaultPort(IMAGE_1_PORT) .defaultPort(IMAGE_1_PORT)
.build(); .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() public final static ContainerCreateRequestDto CONTAINER_1_CREATE_DTO = ContainerCreateRequestDto.builder()
.repository(IMAGE_1_REPOSITORY) .repository(IMAGE_1_REPOSITORY)
.tag(IMAGE_1_TAG) .tag(IMAGE_1_TAG)
......
package at.tuwien.service; package at.tuwien.service;
import at.tuwien.BaseIntegrationTest; import at.tuwien.BaseUnitTest;
import at.tuwien.api.container.ContainerCreateRequestDto; import at.tuwien.api.container.ContainerCreateRequestDto;
import at.tuwien.api.container.ContainerStateDto; import at.tuwien.api.container.ContainerStateDto;
import at.tuwien.entities.container.Container; import at.tuwien.entities.container.Container;
...@@ -24,13 +24,12 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -24,13 +24,12 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
import java.util.Map; import java.util.Map;
import static at.tuwien.BaseUnitTest.IMAGE_1_ENVIRONMENT;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@ExtendWith(SpringExtension.class) @ExtendWith(SpringExtension.class)
@SpringBootTest @SpringBootTest
public class ContainerServiceIntegrationTest extends BaseIntegrationTest { public class ContainerServiceIntegrationTest extends BaseUnitTest {
@Autowired @Autowired
private ContainerService containerService; private ContainerService containerService;
...@@ -72,7 +71,7 @@ public class ContainerServiceIntegrationTest extends BaseIntegrationTest { ...@@ -72,7 +71,7 @@ public class ContainerServiceIntegrationTest extends BaseIntegrationTest {
.withPortBindings(PortBinding.parse("5433:" + IMAGE_1_PORT))) .withPortBindings(PortBinding.parse("5433:" + IMAGE_1_PORT)))
.withName(CONTAINER_1_NAME) .withName(CONTAINER_1_NAME)
.withIpv4Address(CONTAINER_1_IP) .withIpv4Address(CONTAINER_1_IP)
.withHostName(CONTAINER_1_INTERNAL_NAME) .withHostName(CONTAINER_1_INTERNALNAME)
.exec(); .exec();
/* start container */ /* start container */
dockerClient.startContainerCmd(request.getId()).exec(); dockerClient.startContainerCmd(request.getId()).exec();
......
package at.tuwien.service; package at.tuwien.service;
import at.tuwien.BaseIntegrationTest;
import at.tuwien.BaseUnitTest; 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.api.container.image.ImageCreateDto;
import at.tuwien.entities.container.Container;
import at.tuwien.exception.*; 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.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringExtension; 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 at.tuwien.BaseUnitTest.IMAGE_1_ENV_DTO;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
...@@ -34,7 +16,7 @@ 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) @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@ExtendWith(SpringExtension.class) @ExtendWith(SpringExtension.class)
@SpringBootTest @SpringBootTest
public class ImageServiceIntegrationTest extends BaseIntegrationTest { public class ImageServiceIntegrationTest extends BaseUnitTest {
@Autowired @Autowired
private ImageService imageService; private ImageService imageService;
......
...@@ -26,9 +26,9 @@ public class Container { ...@@ -26,9 +26,9 @@ public class Container {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "container-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "container-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_container_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_container_seq")
) )
...@@ -55,7 +55,7 @@ public class Container { ...@@ -55,7 +55,7 @@ public class Container {
private Integer port; private Integer port;
@ToString.Include @ToString.Include
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @ManyToOne(fetch = FetchType.LAZY) // cascade none
private ContainerImage image; private ContainerImage image;
@Column(nullable = false, updatable = false) @Column(nullable = false, updatable = false)
......
...@@ -25,9 +25,9 @@ public class ContainerImage { ...@@ -25,9 +25,9 @@ public class ContainerImage {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "image-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "image-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_image_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_image_seq")
) )
......
...@@ -23,9 +23,9 @@ public class ContainerImageEnvironmentItem { ...@@ -23,9 +23,9 @@ public class ContainerImageEnvironmentItem {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "environment-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "environment-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_environment_item_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_environment_item_seq")
) )
......
...@@ -26,9 +26,9 @@ public class Database { ...@@ -26,9 +26,9 @@ public class Database {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "database-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "database-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_databases_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_databases_seq")
) )
......
...@@ -24,9 +24,9 @@ public class Query { ...@@ -24,9 +24,9 @@ public class Query {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "query-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "query-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_queries_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_queries_seq")
) )
......
...@@ -27,9 +27,9 @@ public class Table { ...@@ -27,9 +27,9 @@ public class Table {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "table-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "table-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_tables_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_tables_seq")
) )
......
...@@ -25,9 +25,9 @@ public class View { ...@@ -25,9 +25,9 @@ public class View {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "view-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "view-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_view_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_view_seq")
) )
......
...@@ -27,9 +27,9 @@ public class TableColumn { ...@@ -27,9 +27,9 @@ public class TableColumn {
@Id @Id
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "column-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "column-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_columns_seq") parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_columns_seq")
) )
......
...@@ -26,9 +26,9 @@ public class User { ...@@ -26,9 +26,9 @@ public class User {
@EqualsAndHashCode.Include @EqualsAndHashCode.Include
@ToString.Include @ToString.Include
@Column(name = "userid", columnDefinition = "numeric(19, 2)") @Column(name = "userid", columnDefinition = "numeric(19, 2)")
@GeneratedValue(generator = "sequence-per-entity") @GeneratedValue(generator = "user-sequence")
@GenericGenerator( @GenericGenerator(
name = "sequence-per-entity", name = "user-sequence",
strategy = "enhanced-sequence", strategy = "enhanced-sequence",
parameters = @org.hibernate.annotations.Parameter(name = "sequence_name", value = "mdb_user_seq") 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