package org.jenkinsci.plugins.github.extension;
import hudson.model.Item;
import hudson.model.Job;
import org.junit.Test;
import org.kohsuke.github.GHEvent;
import java.util.Set;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
/**
* @author lanwen (Merkushev Kirill)
*/
public class GHEventsSubscriberTest {
@Test
public void shouldReturnEmptySetInsteadOfNull() throws Exception {
Set<GHEvent> set = GHEventsSubscriber.extractEvents().apply(new NullSubscriber());
assertThat("null should be replaced", set, hasSize(0));
}
@Test
public void shouldMatchAgainstEmptySetInsteadOfNull() throws Exception {
boolean result = GHEventsSubscriber.isInterestedIn(GHEvent.PUSH).apply(new NullSubscriber());
assertThat("null should be replaced", result, is(false));
}
public static class NullSubscriber extends GHEventsSubscriber {
@Override
protected boolean isApplicable(Item project) {
return true;
}
@Override
protected Set<GHEvent> events() {
return null;
}
}
}