package com.ctrip.framework.apollo.util;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
/**
* @author Jason Song(song_s@ctrip.com)
*/
public class ExceptionUtilTest {
@Test
public void testGetDetailMessageWithNoCause() throws Exception {
String someMessage = "some message";
Throwable ex = new Throwable(someMessage);
assertEquals(someMessage, ExceptionUtil.getDetailMessage(ex));
}
@Test
public void testGetDetailMessageWithCauses() throws Exception {
String causeMsg1 = "some cause";
String causeMsg2 = "another cause";
String someMessage = "some message";
Throwable cause2 = new Throwable(causeMsg2);
Throwable cause1 = new Throwable(causeMsg1, cause2);
Throwable ex = new Throwable(someMessage, cause1);
String expected = someMessage + " [Cause: " + causeMsg1 + " [Cause: " + causeMsg2 + "]]";
assertEquals(expected, ExceptionUtil.getDetailMessage(ex));
}
@Test
public void testGetDetailMessageWithCauseMessageNull() throws Exception {
String someMessage = "some message";
Throwable cause = new Throwable();
Throwable ex = new Throwable(someMessage, cause);
assertEquals(someMessage, ExceptionUtil.getDetailMessage(ex));
}
@Test
public void testGetDetailMessageWithNullMessage() throws Exception {
Throwable ex = new Throwable();
assertEquals("", ExceptionUtil.getDetailMessage(ex));
assertEquals("", ExceptionUtil.getDetailMessage(null));
}
}