From 33ab26ef43fa2444ed3f612531c083788a345ecb Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Mo, 19 Sep 2022 18:37:13 +0200
Subject: [PATCH] exercise03
---
src/test/java/de/gedoplan/seminar/sbt/sbtrestexercise/PersonenResourceTest.java | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 46 insertions(+), 1 deletions(-)
diff --git a/src/test/java/de/gedoplan/seminar/sbt/sbtrestexercise/PersonenResourceTest.java b/src/test/java/de/gedoplan/seminar/sbt/sbtrestexercise/PersonenResourceTest.java
index b3c80ed..33a05e0 100644
--- a/src/test/java/de/gedoplan/seminar/sbt/sbtrestexercise/PersonenResourceTest.java
+++ b/src/test/java/de/gedoplan/seminar/sbt/sbtrestexercise/PersonenResourceTest.java
@@ -1,9 +1,15 @@
package de.gedoplan.seminar.sbt.sbtrestexercise;
+import de.gedoplan.seminar.sbt.sbtrestexercise.domain.Person;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.server.LocalServerPort;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.reactive.function.client.WebClient;
+
+import java.util.List;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class PersonenResourceTest {
@@ -14,7 +20,46 @@
@BeforeEach
public void init() {
-
+ client = WebClient.create("http://localhost:"+port+"/personen");
+ }
+
+ @Test
+ public void testGetPersonen() {
+ List<Person> personen = client.get()
+ .retrieve().bodyToFlux(Person.class)
+ .collectList().block();
+ System.out.printf("Found %d talks:\n", personen.size());
+ personen.forEach(talk -> System.out.println(" "+talk));
+ }
+
+ @Test
+ public void testGetPersonById() {
+ Person person = client.get()
+ .uri(ub -> ub.path("/{id}").build(1))
+ .retrieve().bodyToMono(Person.class)
+ .block();
+ System.out.println(person);
+ }
+
+ @Test
+ public void testCreateTalk() {
+ Person person = new Person("Duck","Donald");
+
+ ResponseEntity<String> response = client.post()
+ .contentType(MediaType.APPLICATION_JSON)
+ .bodyValue(person)
+ .retrieve()
+ .toEntity(String.class)
+ .block();
+
+ System.out.printf("Response status: %03d %s\n", response.getStatusCode().value(), response.getStatusCode().getReasonPhrase());
+ String message = switch (response.getStatusCode()) {
+ case CREATED -> "URI: %s\n".formatted(response.getHeaders().getLocation());
+ case INTERNAL_SERVER_ERROR -> response.getBody();
+ default -> "";
+ };
+ System.out.println(message);
+
}
}
--
Gitblit v1.7.1