From 349674ef5efea05f3dabe93be39ec32f8b65c693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Mon, 28 Aug 2023 09:36:09 +0200 Subject: [PATCH] Adapt tests for Jackson ParameterNamesModule Closes gh-27511 --- .../codec/json/Jackson2JsonDecoderTests.java | 17 +++++++++++++++-- ...appingJackson2HttpMessageConverterTests.java | 9 +++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java index bd03678647e..17f7c1d75d5 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -229,9 +229,22 @@ public class Jackson2JsonDecoderTests extends AbstractDecoderTests input = Flux.from(stringBuffer("{\"property1\":\"foo\",\"property2\":\"bar\"}")); + + testDecode(input, BeanWithNoDefaultConstructor.class, step -> step + .consumeNextWith(o -> { + assertThat(o.getProperty1()).isEqualTo("foo"); + assertThat(o.getProperty2()).isEqualTo("bar"); + }) + .verifyComplete() + ); + } + + @Test + public void codecException() { + Flux input = Flux.from(stringBuffer("[")); ResolvableType elementType = ResolvableType.forClass(BeanWithNoDefaultConstructor.class); Flux flux = new Jackson2JsonDecoder().decode(input, elementType, null, Collections.emptyMap()); StepVerifier.create(flux).verifyError(CodecException.class); diff --git a/spring-web/src/test/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverterTests.java b/spring-web/src/test/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverterTests.java index 12428387cae..b3fe3e815ce 100644 --- a/spring-web/src/test/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverterTests.java +++ b/spring-web/src/test/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverterTests.java @@ -498,14 +498,15 @@ public class MappingJackson2HttpMessageConverterTests { assertThat(result).contains("\"number\":123"); } - @Test + @Test // gh-27511 public void readWithNoDefaultConstructor() throws Exception { String body = "{\"property1\":\"foo\",\"property2\":\"bar\"}"; MockHttpInputMessage inputMessage = new MockHttpInputMessage(body.getBytes(StandardCharsets.UTF_8)); inputMessage.getHeaders().setContentType(MediaType.APPLICATION_JSON); - assertThatExceptionOfType(HttpMessageConversionException.class).isThrownBy(() -> - converter.read(BeanWithNoDefaultConstructor.class, inputMessage)) - .withMessageStartingWith("Type definition error:"); + BeanWithNoDefaultConstructor bean = + (BeanWithNoDefaultConstructor)converter.read(BeanWithNoDefaultConstructor.class, inputMessage); + assertThat(bean.property1).isEqualTo("foo"); + assertThat(bean.property2).isEqualTo("bar"); } @Test