package gov.samhsa.consent2share.si;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessagingException;
@RunWith(MockitoJUnitRunner.class)
public class UnackExceptionHandlerTest {
@Mock
private NotificationPublisher notificationPublisher;
@InjectMocks
UnackExceptionHandler sut;
@Test(expected = IllegalArgumentException.class)
public void testHandError_Throws_Exception_Given_Null_Message() throws Throwable {
sut.handleError(null);
}
public void testHandError_ReThrows_Exception_As_Expected() {
Message<MessagingException> errorMessageMock = (Message<MessagingException>) mock(Message.class);
MessagingException messagingExceptionMock = mock(MessagingException.class);
when(errorMessageMock.getPayload()).thenReturn(messagingExceptionMock);
Throwable exMock = mock(Throwable.class);
when(messagingExceptionMock.getCause()).thenReturn(exMock);
try {
sut.handleError(errorMessageMock);
} catch (Throwable e) {
assertEquals(exMock, e);
}
}
}