package biz.paluch.logging.gelf.intern;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.verify;
import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import external.MockitoExtension;
/**
* @author Mark Paluch
*/
@ExtendWith(MockitoExtension.class)
public class CloserUnitTests {
@Mock
private InputStream inputStream;
@Mock
private Socket socket;
@Test
public void closeSocketShouldClose() throws Exception {
Closer.close(socket);
verify(socket).close();
}
@Test
public void closeSocketDoesNotFailOnNull() throws Exception {
Closer.close((Socket) null);
}
@Test
public void closeSocketShouldNotPropagateExceptions() throws Exception {
doThrow(new IOException()).when(socket).close();
Closer.close(socket);
}
@Test
public void closeCloseableShouldClose() throws Exception {
Closer.close(inputStream);
verify(inputStream).close();
}
@Test
public void closeCloseableShouldNotPropagateExceptions() throws Exception {
doThrow(new IOException()).when(inputStream).close();
Closer.close(inputStream);
}
@Test
public void closeCloseableDoesNotFailOnNull() throws Exception {
Closer.close((Closeable) null);
}
}