+ .jsonPath("$.chatroomId").isEqualTo(NONEXISTENT_CHATROOM));
+ }
+
+ @Test
+ @DisplayName("A message can be put into a newly created chat-room")
+ void testPutMessageInNewChatRoom() throws IOException
+ {
+ Awaitility
+ .await()
+ .atMost(Duration.ofSeconds(15))
+ .untilAsserted(() ->
+ {
+ byte[] result = webTestClient
+ .post()
+ .uri("http://localhost:{port}/create", port)
+ .contentType(MediaType.TEXT_PLAIN)
+ .bodyValue("bar")
+ .accept(MediaType.APPLICATION_JSON)
+ .exchange()
+ .expectStatus().isOk()
+ .expectBody()
+ .jsonPath("$.id").exists()
+ .jsonPath("$.name").isEqualTo("bar")
+ .jsonPath("$.shard").isEqualTo(Integer.valueOf(2))
+ .returnResult()
+ .getResponseBody();
+ ChatRoomInfoTo chatRoomInfo = objectMapper.readValue(result, ChatRoomInfoTo.class);
+ UUID chatRoomId = chatRoomInfo.getId();
+ webTestClient
+ .put()
+ .uri(
+ "http://localhost:{port}/{chatRoomId}/nerd/7",
+ port,
+ chatRoomId)
+ .contentType(MediaType.TEXT_PLAIN)
+ .accept(MediaType.APPLICATION_JSON)
+ .bodyValue("Hello world!")
+ .exchange()
+ .expectStatus().isOk()
+ .expectBody()
+ .jsonPath("$.id").isEqualTo(Integer.valueOf(7))
+ .jsonPath("$.user").isEqualTo("nerd")
+ .jsonPath("$.text").isEqualTo("Hello world!");
+ });