/src/test/java/com/atlassian/jira/plugins/bitbucket/bitbucket/TestDefaultSynchronizer.java
Java | 71 lines | 56 code | 12 blank | 3 comment | 1 complexity | d3b0db2ef24b0052cb51952d623b6e6c MD5 | raw file
- package com.atlassian.jira.plugins.bitbucket.bitbucket;
- import com.atlassian.jira.plugins.bitbucket.DefaultSynchronizer;
- import com.atlassian.jira.plugins.bitbucket.api.*;
- import com.atlassian.jira.plugins.bitbucket.spi.*;
- import com.atlassian.jira.plugins.bitbucket.spi.bitbucket.impl.BitbucketRepositoryUri;
- import org.junit.Before;
- import org.junit.Test;
- import org.mockito.Mock;
- import org.mockito.MockitoAnnotations;
- import java.util.Arrays;
- import java.util.concurrent.Executors;
- import static org.junit.Assert.assertNotNull;
- import static org.junit.Assert.assertNull;
- import static org.mockito.Matchers.any;
- import static org.mockito.Mockito.*;
- /**
- * Unit tests for {@link DefaultSynchronizer}
- */
- public class TestDefaultSynchronizer
- {
- @Mock
- private Communicator bitbucket;
- @Mock
- private Changeset changeset;
- @Mock
- private RepositoryManager repositoryManager;
- @Mock
- private SourceControlRepository repository;
- @Mock
- private ProgressWriter progressProvider;
- @Before
- public void setup()
- {
- MockitoAnnotations.initMocks(this);
- }
- @Test
- public void testSynchronizeAddsSingleMapping() throws InterruptedException
- {
- RepositoryUri repositoryUri = new BitbucketRepositoryUri("https", "bitbucket.org","owner","slug");
- when(repository.getRepositoryUri()).thenReturn(repositoryUri);
- when(repository.getProjectKey()).thenReturn("PRJ");
- SynchronizationKey key = new SynchronizationKey(repository);
- SynchronisationOperation synchronisation = new DefaultSynchronisationOperation(key, repositoryManager, bitbucket, progressProvider);
- when(repositoryManager.getSynchronisationOperation(any(SynchronizationKey.class), any(ProgressWriter.class))).thenReturn(
- synchronisation);
- when(bitbucket.getChangesets(repository)).thenReturn(Arrays.asList(changeset));
- when(changeset.getMessage()).thenReturn("PRJ-1 Message");
- DefaultSynchronizer synchronizer = new DefaultSynchronizer(Executors.newSingleThreadExecutor(), repositoryManager);
- assertNull(synchronizer.getProgress(repository));
- synchronizer.synchronize(repository);
- assertNotNull(synchronizer.getProgress(repository));
- Progress progress = synchronizer.getProgress(repository);
- while (!progress.isFinished())
- {
- Thread.sleep(10);
- }
- verify(repositoryManager, times(1)).addChangeset(repository, "PRJ-1", changeset);
- }
- }