package org.cloudfoundry.identity.uaa.error;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
public class UaaExceptionTests {
@Test
public void testGetErrorCode() throws Exception {
UaaException x = new UaaException("msg", new Exception());
assertEquals("unknown_error", x.getErrorCode());
x = new UaaException("msg");
assertEquals("unknown_error", x.getErrorCode());
x = new UaaException("msg", 500);
assertEquals("unknown_error", x.getErrorCode());
x = new UaaException("Error", "description", 500);
assertEquals("Error", x.getErrorCode());
}
@Test
public void testGetHttpStatus() throws Exception {
UaaException x = new UaaException("msg", new Exception());
assertEquals(400, x.getHttpStatus());
x = new UaaException("msg");
assertEquals(400, x.getHttpStatus());
x = new UaaException("msg", 500);
assertEquals(500, x.getHttpStatus());
x = new UaaException("Error", "description", 500);
assertEquals(500, x.getHttpStatus());
assertNotNull(x.getSummary());
}
@Test
public void testAddAdditionalInformation() throws Exception {
}
@Test
public void testValueOf() throws Exception {
Map<String, String> params = new HashMap<>();
params.put("error", "error");
params.put("error_description", "error_description");
params.put("status", "403");
params.put("additional1", "additional1");
params.put("additional2", "additional2");
UaaException x = UaaException.valueOf(params);
assertEquals("error", x.getErrorCode());
assertEquals("error_description", x.getMessage());
assertEquals(403, x.getHttpStatus());
assertEquals("additional1", x.getAdditionalInformation().get("additional1"));
assertEquals("additional2", x.getAdditionalInformation().get("additional2"));
params.put("status","test");
x = UaaException.valueOf(params);
assertEquals("error", x.getErrorCode());
assertEquals("error_description", x.getMessage());
assertEquals(400, x.getHttpStatus());
assertEquals("additional1", x.getAdditionalInformation().get("additional1"));
assertEquals("additional2", x.getAdditionalInformation().get("additional2"));
assertNull(x.getAdditionalInformation().get("additional3"));
x.addAdditionalInformation("additional3", "additional3");
assertEquals("additional1", x.getAdditionalInformation().get("additional1"));
assertEquals("additional2", x.getAdditionalInformation().get("additional2"));
assertEquals("additional3", x.getAdditionalInformation().get("additional3"));
assertNotNull(x.getSummary());
assertTrue(x.getSummary().contains("error=\"error\""));
assertTrue(x.getSummary().contains("additional3=\"additional3\""));
}
@Test
public void testToString() throws Exception {
UaaException x = new UaaException("test");
assertNotNull(x.toString());
}
}