diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..29858a3a14cbbf014cf2a9fbcc156aaf3e506b55 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,18 @@ +stages: + - test + - cleanup + +test: + stage: test + tags: + - private + script: + - make test + - sudo /bin/chown -R gitlab-runner target + +cleanup: + stage: cleanup + tags: + - private + script: + - make clean_test \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..15e5d779070b7286ce17437e921e102985df49b1 --- /dev/null +++ b/Makefile @@ -0,0 +1,24 @@ +all: run + +run: + @docker-compose -f docker-compose.yml up -d + +logs: + @docker-compose -f docker-compose.yml logs -f + +clean_test: + @docker-compose -f docker-compose.test.yml run test_builder mvn clean -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + @docker-compose -f docker-compose.test.yml down + +test: + @docker-compose -f docker-compose.test.yml build + @docker-compose -f docker-compose.test.yml run test_builder mvn clean test -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + +build: + @docker-compose -f docker-compose.yml build + +clean: + @docker-compose -f docker-compose.yml down + +rm: + @docker-compose -f docker-compose.yml down -v diff --git a/docker-compose.test.yml b/docker-compose.test.yml new file mode 100644 index 0000000000000000000000000000000000000000..c2d587df4489a93e0573e97b4063ffbd231466f2 --- /dev/null +++ b/docker-compose.test.yml @@ -0,0 +1,30 @@ +version: '3.7' + +networks: + test_corporate_network: + name: 'tcn2' + +services: + test_builder: + build: . + restart: always + container_name: 'test_corporate_builder2' + depends_on: + - test_db + working_dir: '/app' + volumes: + - .:/app + networks: + - test_corporate_network + + test_db: + image: 'postgres:10-alpine' + container_name: 'test_corporate_db2' + environment: + POSTGRES_DB: cinema + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + networks: + test_corporate_network: + aliases: + - corporate_db2 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index a6108da5bd6b9a916cb27407dad845d929cc2c85..09eba51bf484cfc2417414989601d199d170c9c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,6 +42,4 @@ services: volumes: m2: - js: - css: db_data: \ No newline at end of file diff --git a/pom.xml b/pom.xml index faafc86e7df031e001a3041b656d4b5ddbc24bca..cd7aa6d80537195be405de21414d4e6c01f94144 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,11 @@ <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> diff --git a/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt b/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt index 3c00d1bc0e20ea665fbdc2f1e5c108af079a6476..5ae1ccc139ef5dad7eaa0f77422a05d76a975247 100644 --- a/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt +++ b/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt @@ -1,16 +1,20 @@ package com.s3ai.corporate_app2 -import org.junit.jupiter.api.Assertions.assertEquals +import com.s3ai.corporate_app2.controllers.CinemasController +import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test +import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest + @SpringBootTest class CorporateApp2ApplicationTests { + @Autowired + private lateinit var controller: CinemasController @Test + @Throws(Exception::class) fun contextLoads() { - var result = "default" - assertEquals("default", result) + assertThat(controller).isNotNull } - }