package org.jenkinsci.plugins.github.status.sources;
import hudson.model.Run;
import hudson.model.TaskListener;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.kohsuke.github.GHRepository;
import org.mockito.Answers;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import java.io.PrintStream;
import java.util.List;
import static com.jayway.restassured.RestAssured.when;
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
import static org.junit.Assert.assertThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
@RunWith(MockitoJUnitRunner.class)
public class ManuallyEnteredRepositorySourceTest {
@Mock(answer = Answers.RETURNS_MOCKS)
private Run run;
@Mock(answer = Answers.RETURNS_MOCKS)
private TaskListener listener;
@Mock(answer = Answers.RETURNS_MOCKS)
private PrintStream logger;
@Test
public void nullName() {
ManuallyEnteredRepositorySource instance = Mockito.spy(new ManuallyEnteredRepositorySource("https://github.com/jenkinsci/jenkins"));
doReturn(null).when(instance).createName(Matchers.anyString());
doReturn(logger).when(listener).getLogger();
List<GHRepository> repos = instance.repos(run, listener);
assertThat("size", repos, hasSize(0));
verify(listener).getLogger();
verify(logger).printf(eq("Unable to match %s with a GitHub repository.%n"), eq("https://github.com/jenkinsci/jenkins"));
}
}