From 5e828a204ad13cb9b3427c295cbe70e285948593 Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Fr, 26 Aug 2022 16:11:32 +0200
Subject: [PATCH] Tests hinzugefügt
---
src/main/java/de/gedoplan/seminar/jpa/exercise/common/LoggerProducer.java | 2 +
/dev/null | 1
src/main/java/de/gedoplan/seminar/jpa/exercise/rest/HighwayResource.java | 10 +----
pom.xml | 7 +++
src/main/resources/application.yaml | 13 ++++++
src/test/java/de/gedoplan/seminar/jpa/exercise/Exercise01Test.java | 65 ++++++++++++++++++++++++++++++++
6 files changed, 89 insertions(+), 9 deletions(-)
diff --git a/pom.xml b/pom.xml
index b84831b..a57d9e7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,6 +32,13 @@
<scope>runtime</scope>
<optional>true</optional>
</dependency>
+
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
diff --git a/src/main/java/de/gedoplan/seminar/jpa/exercise/common/LoggerProducer.java b/src/main/java/de/gedoplan/seminar/jpa/exercise/common/LoggerProducer.java
index 61d004c..9dce618 100644
--- a/src/main/java/de/gedoplan/seminar/jpa/exercise/common/LoggerProducer.java
+++ b/src/main/java/de/gedoplan/seminar/jpa/exercise/common/LoggerProducer.java
@@ -5,11 +5,13 @@
import org.springframework.beans.factory.InjectionPoint;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
@Configuration
public class LoggerProducer {
@Bean
+ @Scope("prototype")
Logger getLogger(InjectionPoint ip) {
return LoggerFactory.getLogger(ip.getMember().getDeclaringClass());
}
diff --git a/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/HighwayResource.java b/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/HighwayResource.java
index b4afdf0..e432796 100644
--- a/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/HighwayResource.java
+++ b/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/HighwayResource.java
@@ -21,15 +21,9 @@
import de.gedoplan.seminar.jpa.exercise.repository.HighwayRepository;
-@RequestMapping(path = "exercise/highways", produces = MediaType.APPLICATION_JSON_VALUE)
+@RequestMapping(path = "/highways", produces = MediaType.APPLICATION_JSON_VALUE)
public class HighwayResource {
- // Some test data
- private Highway testHighwayA1_DO_K = new Highway(4610, "A1", "Dortmund", "Cologne");
- private Highway testHighwayA2_DO_H = new Highway(4711, "A2", "Dortmund", "Hannover");
- private Highway testHighwayA33_BI_PB = new Highway(4812, "A33", "Bielefeld", "Paderborn");
-
- private List<Highway> testHighways = List.of(this.testHighwayA1_DO_K, this.testHighwayA2_DO_H, this.testHighwayA33_BI_PB );
private final HighwayRepository highwayRepository;
private final Logger logger;
@@ -49,7 +43,7 @@
// this.highwayRepository.
- this.logger.debug("Inserted: " + testHighways);
+ this.logger.debug("Inserted: " + highway);
}
/**
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
deleted file mode 100644
index 8b13789..0000000
--- a/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
new file mode 100644
index 0000000..5a70f09
--- /dev/null
+++ b/src/main/resources/application.yaml
@@ -0,0 +1,13 @@
+spring:
+ datasource:
+ url: jdbc:h2:mem:seminar
+ username: seminar
+ password: seminar
+ driverClassName: org.h2.Driver
+ jpa:
+ hibernate:
+ ddl-auto: update
+
+logging:
+ level:
+ '[de.gedoplan.seminar]': debug
\ No newline at end of file
diff --git a/src/test/java/de/gedoplan/seminar/jpa/exercise/Exercise01Test.java b/src/test/java/de/gedoplan/seminar/jpa/exercise/Exercise01Test.java
new file mode 100644
index 0000000..a4129bc
--- /dev/null
+++ b/src/test/java/de/gedoplan/seminar/jpa/exercise/Exercise01Test.java
@@ -0,0 +1,65 @@
+package de.gedoplan.seminar.jpa.exercise;
+
+import static org.junit.jupiter.params.provider.Arguments.arguments;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.MediaType;
+import org.springframework.test.web.servlet.MockMvc;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import de.gedoplan.seminar.jpa.exercise.domain.Highway;
+
+@AutoConfigureMockMvc
+@SpringBootTest
+public class Exercise01Test {
+
+ // Some test data
+ private Highway testHighwayA1_DO_K = new Highway(4610, "A1", "Dortmund", "Cologne");
+ private Highway testHighwayA2_DO_H = new Highway(4711, "A2", "Dortmund", "Hannover");
+ private Highway testHighwayA33_BI_PB = new Highway(4812, "A33", "Bielefeld", "Paderborn");
+
+ @Autowired
+ MockMvc mockMvc;
+
+ @Autowired
+ private ObjectMapper mapper;
+
+ @Test
+ @MethodSource("getTestHighways")
+ void testInsert() throws Exception {
+ mockMvc.perform(post("/highways")
+ .contentType(MediaType.APPLICATION_JSON)
+ .content(mapper.writeValueAsString(testHighwayA1_DO_K)))
+ .andExpect(status().isOk());
+ }
+
+ @Test
+ @MethodSource("getTestDataFindById")
+ void testFindById(Integer id, String name) throws Exception {
+ mockMvc.perform(post("/highways/{id}",id))
+ .andExpect(jsonPath("$.name").value(name));
+ }
+
+ private Stream<Highway> getTestHighways() {
+ return Stream.of(this.testHighwayA1_DO_K, this.testHighwayA2_DO_H,
+ this.testHighwayA33_BI_PB);
+ }
+
+ private Stream<Arguments> getTestDataFindById() {
+ return Stream.of(
+ arguments(4711,"A2"),
+ arguments(4812, "A33"));
+ }
+
+}
--
Gitblit v1.7.1