diff --git a/build.gradle b/build.gradle index de56bf6f8..73cb95e66 100644 --- a/build.gradle +++ b/build.gradle @@ -36,8 +36,6 @@ dependencies { testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-inline:4.11.0' - testImplementation 'org.springframework:spring-test:5.3.29' - testImplementation 'org.springframework:spring-web:5.3.29' testImplementation 'jakarta.servlet:jakarta.servlet-api:4.0.4' } diff --git a/src/test/java/com/vonage/client/auth/RequestSigningTest.java b/src/test/java/com/vonage/client/auth/RequestSigningTest.java index 6652c4beb..3d33abb49 100644 --- a/src/test/java/com/vonage/client/auth/RequestSigningTest.java +++ b/src/test/java/com/vonage/client/auth/RequestSigningTest.java @@ -20,10 +20,13 @@ import org.apache.http.message.BasicNameValuePair; import static org.junit.Assert.*; import org.junit.Test; +import org.mockito.Mockito; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.springframework.mock.web.MockHttpServletRequest; +import javax.servlet.ReadListener; +import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -231,11 +234,40 @@ private HttpServletRequest constructDummyRequest() { } - private HttpServletRequest constructDummyRequestJson() { - MockHttpServletRequest request = new MockHttpServletRequest(); + private HttpServletRequest constructDummyRequestJson() throws Exception { + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); String dummyJson = "{\"a\":\"alphabet\",\"b\":\"bananas\",\"timestamp\":\"2100\",\"sig\":\"b7f749de27b4adcf736cc95c9a7e059a16c85127\"}"; - request.setContent(dummyJson.getBytes()); - request.setContentType("application/json"); + Mockito.when(request.getContentType()).thenReturn("application/json"); + final byte[] contentBytes = dummyJson.getBytes(StandardCharsets.UTF_8); + ServletInputStream servletInputStream = new ServletInputStream() { + private int index = 0; + + @Override + public int read() { + if (index < contentBytes.length) { + return contentBytes[index++] & 0xFF; + } + return -1; + } + + @Override + public boolean isFinished() { + return index >= contentBytes.length; + } + + @Override + public boolean isReady() { + return true; + } + + @Override + public void setReadListener(ReadListener readListener) { + // No need to implement for this example + } + }; + + when(request.getInputStream()).thenReturn(servletInputStream); + return request; }