package org.simbasecurity.dwclient.exception.mapper;
import static org.fest.assertions.api.Assertions.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.junit.Test;
import org.simbasecurity.dwclient.dropwizard.http.HttpStatus;
import org.simbasecurity.dwclient.dropwizard.representation.DWSimbaErrorR;
import org.simbasecurity.dwclient.exception.SimbaUnavailableException;
import org.simbasecurity.dwclient.exception.mapper.SimbaUnavailableExceptionToJSONMapper;
public class SimbaUnavailableExceptionToJSONMapperTest {
@Test
public void toResponse_ReturnsJSONValidationError() throws Exception {
SimbaUnavailableExceptionToJSONMapper mapperUnderTest = new SimbaUnavailableExceptionToJSONMapper();
SimbaUnavailableException simbaUnavailableException = new SimbaUnavailableException();
DWSimbaErrorR expectedEntity = new DWSimbaErrorR(HttpStatus.INTERNAL_SERVER_ERROR.getDescription(),
SimbaUnavailableExceptionToJSONMapper.SIMBA_ERROR_MESSAGE, null);
MediaType expectedMediaType = MediaType.APPLICATION_JSON_TYPE;
int expectedStatus = 500;
Response actual = mapperUnderTest.toResponse(simbaUnavailableException);
assertThat(actual.getStatus()).isEqualTo(expectedStatus);
assertThat((MediaType) actual.getMetadata().get("Content-Type").get(0)).isEqualTo(expectedMediaType);
assertThat(actual.getEntity()).isEqualsToByComparingFields(expectedEntity);
}
}