diff --git a/adapter-commons/pom.xml b/adapter-commons/pom.xml
index 3128142..22703c0 100644
--- a/adapter-commons/pom.xml
+++ b/adapter-commons/pom.xml
@@ -28,6 +28,11 @@
jackson-datatype-jsr310
2.8.5
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
diff --git a/adapter-commons/src/test/java/pl/com/bottega/tools/IntegrationTest.java b/adapter-commons/src/test/java/pl/com/bottega/tools/IntegrationTest.java
new file mode 100644
index 0000000..c9ed86d
--- /dev/null
+++ b/adapter-commons/src/test/java/pl/com/bottega/tools/IntegrationTest.java
@@ -0,0 +1,18 @@
+package pl.com.bottega.tools;
+
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.core.annotation.AliasFor;
+import org.springframework.test.context.ActiveProfiles;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+@SpringBootTest
+@ActiveProfiles
+public @interface IntegrationTest {
+ @AliasFor(annotation = ActiveProfiles.class, attribute = "profiles") String[] activeProfiles() default {"test"};
+}
diff --git a/app-monolith/pom.xml b/app-monolith/pom.xml
index 54f1ca7..4d8a205 100644
--- a/app-monolith/pom.xml
+++ b/app-monolith/pom.xml
@@ -131,6 +131,29 @@
+
+ org.codehaus.gmavenplus
+ gmavenplus-plugin
+ 1.6
+
+
+
+ compileTests
+
+
+
+
+
+ maven-surefire-plugin
+ 2.20.1
+
+ false
+
+ **/*Spec.java
+ **/*Test.java
+
+
+
diff --git a/app-monolith/src/test/pl/com/bottega/factory/ProductTrait.groovy b/app-monolith/src/test/groovy/pl/com/bottega/factory/ProductTrait.groovy
similarity index 96%
rename from app-monolith/src/test/pl/com/bottega/factory/ProductTrait.groovy
rename to app-monolith/src/test/groovy/pl/com/bottega/factory/ProductTrait.groovy
index 98c67ee..7ae2b03 100644
--- a/app-monolith/src/test/pl/com/bottega/factory/ProductTrait.groovy
+++ b/app-monolith/src/test/groovy/pl/com/bottega/factory/ProductTrait.groovy
@@ -1,4 +1,4 @@
-package src.test.pl.com.bottega.factory
+package pl.com.bottega.factory
import pl.com.bottega.factory.demand.forecasting.Demand
import pl.com.bottega.factory.demand.forecasting.Document
@@ -13,7 +13,6 @@ import java.time.ZoneOffset
trait ProductTrait {
-
DocumentEntity documentFor(String refNo, LocalDate date, long ... levels) {
Document document = document(refNo, date, levels)
return new DocumentEntity("uri", "storedUri", document)
diff --git a/app-monolith/src/test/pl/com/bottega/factory/integration/CallOffDocumentIntegrationSpec.groovy b/app-monolith/src/test/groovy/pl/com/bottega/factory/integration/CallOffDocumentIntegrationSpec.groovy
similarity index 91%
rename from app-monolith/src/test/pl/com/bottega/factory/integration/CallOffDocumentIntegrationSpec.groovy
rename to app-monolith/src/test/groovy/pl/com/bottega/factory/integration/CallOffDocumentIntegrationSpec.groovy
index a5a065c..f897e6c 100644
--- a/app-monolith/src/test/pl/com/bottega/factory/integration/CallOffDocumentIntegrationSpec.groovy
+++ b/app-monolith/src/test/groovy/pl/com/bottega/factory/integration/CallOffDocumentIntegrationSpec.groovy
@@ -1,4 +1,4 @@
-package src.test.pl.com.bottega.factory.integration
+package pl.com.bottega.factory.integration
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.context.SpringBootTest
@@ -10,11 +10,12 @@ import org.springframework.hateoas.Resources
import org.springframework.http.HttpMethod
import org.springframework.http.ResponseEntity
import pl.com.bottega.factory.AppConfiguration
+import pl.com.bottega.factory.ProductTrait
import pl.com.bottega.factory.demand.forecasting.persistence.DocumentEntity
import pl.com.bottega.factory.demand.forecasting.projection.CurrentDemandEntity
import pl.com.bottega.factory.product.management.ProductDescriptionEntity
+import pl.com.bottega.tools.IntegrationTest
import spock.lang.Specification
-import src.test.pl.com.bottega.factory.ProductTrait
import java.time.Clock
import java.time.LocalDate
@@ -23,11 +24,12 @@ import java.time.ZoneId
import static java.time.Instant.from
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT
+@IntegrationTest
@SpringBootTest(webEnvironment = RANDOM_PORT, classes = AppConfiguration)
class CallOffDocumentIntegrationSpec extends Specification implements ProductTrait {
- public static final String PRODUCT_REF_NO = "refNum"
- public static final LocalDate ANY_DATE = LocalDate.of(2019, 1, 1)
+ public static final String PRODUCT_REF_NO = "3009000"
+ public static final LocalDate ANY_DATE = LocalDate.now()
@Autowired TestRestTemplate restTemplate
@@ -44,7 +46,6 @@ class CallOffDocumentIntegrationSpec extends Specification implements ProductTra
thereIsDemand(demands, ANY_DATE, 100)
thereIsDemand(demands, ANY_DATE.plusDays(1), 200)
thereIsDemand(demands, ANY_DATE.plusDays(2), 300)
-
}
void productDescriptionIsSuccessfullyCreated(String refNo) {
@@ -65,10 +66,9 @@ class CallOffDocumentIntegrationSpec extends Specification implements ProductTra
HttpMethod.GET,
null,
new ParameterizedTypeReference>() {},
- ["refNo": refNo, "date" : date])
+ ["refNo": refNo, "date": date])
assert res.statusCode.is2xxSuccessful()
return res.getBody().getContent()
-
}
void thereIsDemand(Collection demands, LocalDate date, long expectedLevel) {
@@ -81,9 +81,6 @@ class CallOffDocumentIntegrationSpec extends Specification implements ProductTra
@Bean
Clock clock() {
return Clock.fixed(from(ANY_DATE), ZoneId.systemDefault())
-
}
-
-
}
}
\ No newline at end of file
diff --git a/app-monolith/src/test/resources/application-test.properties b/app-monolith/src/test/resources/application-test.properties
new file mode 100644
index 0000000..79eedd9
--- /dev/null
+++ b/app-monolith/src/test/resources/application-test.properties
@@ -0,0 +1,4 @@
+spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_ON_EXIT=FALSE
+spring.datasource.username=sa
+spring.datasource.password=sa
+spring.datasource.driver-class-name=org.h2.Driver
diff --git a/app-monolith/src/test/resources/application.properties b/app-monolith/src/test/resources/application.properties
deleted file mode 100644
index 5d7b0a5..0000000
--- a/app-monolith/src/test/resources/application.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-spring.datasource.driver-class-name=org.h2.Driver
-spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1
-spring.datasource.username=sa
-spring.datasource.password=sa
-
-spring.main.banner-mode=off
-spring.jpa.database=default
-spring.jpa.generate-ddl=false
-
-liquibase.change-log=classpath:/schema/db.changelog.xml
diff --git a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/Document.java b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/Document.java
index efa1edc..239a7ee 100644
--- a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/Document.java
+++ b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/Document.java
@@ -27,4 +27,3 @@ public class Document {
return refNo;
}
}
-