Unbind scm protocol after test

This commit is contained in:
René Pfeuffer
2018-12-07 13:33:58 +01:00
parent 8b97e00b36
commit 438339ae49

View File

@@ -12,6 +12,7 @@ import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.ScmTransportProtocol; import org.eclipse.jgit.transport.ScmTransportProtocol;
import org.eclipse.jgit.transport.Transport; import org.eclipse.jgit.transport.Transport;
import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
@@ -38,21 +39,28 @@ public class GitMergeCommandTest extends AbstractGitCommandTestBase {
@Rule @Rule
public ShiroRule shiro = new ShiroRule(); public ShiroRule shiro = new ShiroRule();
private GitRepositoryHandler gitRepositoryHandler;
private HookEventFacade hookEventFacade; private ScmTransportProtocol scmTransportProtocol;
@Before @Before
public void bindScmProtocol() { public void bindScmProtocol() {
HookContextFactory hookContextFactory = new HookContextFactory(mock(PreProcessorUtil.class)); HookContextFactory hookContextFactory = new HookContextFactory(mock(PreProcessorUtil.class));
RepositoryManager repositoryManager = mock(RepositoryManager.class); RepositoryManager repositoryManager = mock(RepositoryManager.class);
hookEventFacade = new HookEventFacade(of(repositoryManager), hookContextFactory); HookEventFacade hookEventFacade = new HookEventFacade(of(repositoryManager), hookContextFactory);
gitRepositoryHandler = mock(GitRepositoryHandler.class); GitRepositoryHandler gitRepositoryHandler = mock(GitRepositoryHandler.class);
Transport.register(new ScmTransportProtocol(of(hookEventFacade), of(gitRepositoryHandler))); scmTransportProtocol = new ScmTransportProtocol(of(hookEventFacade), of(gitRepositoryHandler));
Transport.register(scmTransportProtocol);
when(gitRepositoryHandler.getRepositoryId(any())).thenReturn("1"); when(gitRepositoryHandler.getRepositoryId(any())).thenReturn("1");
when(repositoryManager.get("1")).thenReturn(new sonia.scm.repository.Repository()); when(repositoryManager.get("1")).thenReturn(new sonia.scm.repository.Repository());
} }
@After
public void unregisterScmProtocol() {
Transport.unregister(scmTransportProtocol);
}
@Test @Test
public void shouldDetectMergeableBranches() { public void shouldDetectMergeableBranches() {
GitMergeCommand command = createCommand(); GitMergeCommand command = createCommand();
@@ -118,7 +126,7 @@ public class GitMergeCommandTest extends AbstractGitCommandTestBase {
Repository repository = createContext().open(); Repository repository = createContext().open();
ObjectId firstMergeCommit = new Git(repository).log().add(repository.resolve("master")).setMaxCount(1).call().iterator().next().getId(); ObjectId firstMergeCommit = new Git(repository).log().add(repository.resolve("master")).setMaxCount(1).call().iterator().next().getId();
Transport.register(new ScmTransportProtocol(of(hookEventFacade), of(gitRepositoryHandler))); // Transport.register(new ScmTransportProtocol(of(hookEventFacade), of(gitRepositoryHandler)));
MergeCommandResult secondMergeCommandResult = command.merge(request); MergeCommandResult secondMergeCommandResult = command.merge(request);