/** * This file is part of Graylog. * * Graylog is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Graylog is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Graylog. If not, see <http://www.gnu.org/licenses/>. */ package org.graylog2.shared.events; import com.google.common.eventbus.DeadEvent; import com.google.common.eventbus.EventBus; import org.junit.Test; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; public class DeadEventLoggingListenerTest { @Test public void testHandleDeadEvent() { final DeadEventLoggingListener listener = new DeadEventLoggingListener(); final DeadEvent event = new DeadEvent(this, new SimpleEvent("test")); listener.handleDeadEvent(event); } @Test public void testEventListenerWithEventBus() { final EventBus eventBus = new EventBus("test"); final SimpleEvent event = new SimpleEvent("test"); final DeadEventLoggingListener listener = spy(new DeadEventLoggingListener()); eventBus.register(listener); eventBus.post(event); verify(listener, times(1)).handleDeadEvent(any(DeadEvent.class)); } public static class SimpleEvent { public String payload; public SimpleEvent(String payload) { this.payload = payload; } @Override public String toString() { return "payload=" + payload; } } }