From 8e9f5993323ebc016c3d5a8be84fe7e601ba559a Mon Sep 17 00:00:00 2001 From: SheetalAtre Date: Tue, 22 Aug 2023 23:20:58 +0530 Subject: [PATCH] test(retrofit): added testSpinnakerHttpExceptionFromRetrofitError for more test coverage --- .../SpinnakerHttpExceptionTest.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/kork-retrofit/src/test/java/com/netflix/spinnaker/kork/retrofit/exceptions/SpinnakerHttpExceptionTest.java b/kork-retrofit/src/test/java/com/netflix/spinnaker/kork/retrofit/exceptions/SpinnakerHttpExceptionTest.java index d8e8e1f07..a79c325db 100644 --- a/kork-retrofit/src/test/java/com/netflix/spinnaker/kork/retrofit/exceptions/SpinnakerHttpExceptionTest.java +++ b/kork-retrofit/src/test/java/com/netflix/spinnaker/kork/retrofit/exceptions/SpinnakerHttpExceptionTest.java @@ -17,10 +17,12 @@ package com.netflix.spinnaker.kork.retrofit.exceptions; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import com.google.gson.Gson; import com.netflix.spinnaker.kork.exceptions.SpinnakerException; import java.util.List; import java.util.Map; @@ -30,12 +32,36 @@ import org.springframework.http.HttpStatus; import retrofit.RetrofitError; import retrofit.client.Response; +import retrofit.converter.GsonConverter; +import retrofit.mime.TypedString; import retrofit2.Retrofit; import retrofit2.converter.jackson.JacksonConverterFactory; public class SpinnakerHttpExceptionTest { private static final String CUSTOM_MESSAGE = "custom message"; + public void testSpinnakerHttpExceptionFromRetrofitError() { + String url = "http://localhost"; + int statusCode = 200; + String message = "arbitrary message"; + Response response = + new Response( + url, + statusCode, + "reason", + List.of(), + new TypedString("{ message: \"" + message + "\", name: \"test\" }")); + RetrofitError retrofitError = + RetrofitError.httpError(url, response, new GsonConverter(new Gson()), String.class); + SpinnakerHttpException spinnakerHttpException = new SpinnakerHttpException(retrofitError); + assertThat(spinnakerHttpException.getResponseBody()).isNotNull(); + Map errorResponseBody = spinnakerHttpException.getResponseBody(); + assertThat(errorResponseBody.get("name")).isEqualTo("test"); + assertThat(spinnakerHttpException.getResponseCode()).isEqualTo(statusCode); + assertThat(spinnakerHttpException.getMessage()) + .isEqualTo("Status: " + statusCode + ", URL: " + url + ", Message: " + message); + } + @Test public void testSpinnakerHttpExceptionFromRetrofitException() { final String validJsonResponseBodyString = "{\"name\":\"test\"}";