    @Test
    public void testDecodeHttpResponseReturnExceptionNoErrorType() throws Exception {

        HttpResponse mockHttpResponse = mock(HttpResponse.class);
        StatusLine mockStatusLine = mock(StatusLine.class);
        HttpEntity mockEntity = mock(HttpEntity.class);
        InputStream stream = mock(InputStream.class);
        String errorString = "{\"error\":\"testing error\"}";

        Map<String, Class<? extends ServiceClientException>> mockExceptions = new HashMap<>();
        mockExceptions.put("404", ServiceClientException.class);
        ServiceResponseDecoder decoder = spy(new ServiceResponseDecoder(mockMapper, mockJavaType, null, mockLogger, mockExceptions, new HashMap<>()));

        when(mockStatusLine.getStatusCode()).thenReturn(404);
        when(mockHttpResponse.getStatusLine()).thenReturn(mockStatusLine);
        when(mockHttpResponse.getEntity()).thenReturn(mockEntity);
        when(mockEntity.getContent()).thenReturn(stream);
        mockStatic(StringUtils.class);
        when(StringUtils.convertStreamToString(stream)).thenReturn(errorString);

        ServiceResponse response = decoder.decode(mockHttpResponse);
        assertThat(response.getException(), instanceOf(ServiceClientException.class));
        assertEquals(response.getException().getErrorResponse(), null);
        Mockito.verify(mockLogger).debug("Non 200 response statusCode: {} response: {}", "404", errorString);
    }