PageRenderTime 51ms CodeModel.GetById 28ms RepoModel.GetById 1ms app.codeStats 0ms

/src/test/java/com/atlassian/jira/plugins/bitbucket/bitbucket/TestDefaultSynchronizer.java

https://bitbucket.org/atlassian/jira-bitbucket-connector/
Java | 71 lines | 56 code | 12 blank | 3 comment | 1 complexity | d3b0db2ef24b0052cb51952d623b6e6c MD5 | raw file
  1. package com.atlassian.jira.plugins.bitbucket.bitbucket;
  2. import com.atlassian.jira.plugins.bitbucket.DefaultSynchronizer;
  3. import com.atlassian.jira.plugins.bitbucket.api.*;
  4. import com.atlassian.jira.plugins.bitbucket.spi.*;
  5. import com.atlassian.jira.plugins.bitbucket.spi.bitbucket.impl.BitbucketRepositoryUri;
  6. import org.junit.Before;
  7. import org.junit.Test;
  8. import org.mockito.Mock;
  9. import org.mockito.MockitoAnnotations;
  10. import java.util.Arrays;
  11. import java.util.concurrent.Executors;
  12. import static org.junit.Assert.assertNotNull;
  13. import static org.junit.Assert.assertNull;
  14. import static org.mockito.Matchers.any;
  15. import static org.mockito.Mockito.*;
  16. /**
  17. * Unit tests for {@link DefaultSynchronizer}
  18. */
  19. public class TestDefaultSynchronizer
  20. {
  21. @Mock
  22. private Communicator bitbucket;
  23. @Mock
  24. private Changeset changeset;
  25. @Mock
  26. private RepositoryManager repositoryManager;
  27. @Mock
  28. private SourceControlRepository repository;
  29. @Mock
  30. private ProgressWriter progressProvider;
  31. @Before
  32. public void setup()
  33. {
  34. MockitoAnnotations.initMocks(this);
  35. }
  36. @Test
  37. public void testSynchronizeAddsSingleMapping() throws InterruptedException
  38. {
  39. RepositoryUri repositoryUri = new BitbucketRepositoryUri("https", "bitbucket.org","owner","slug");
  40. when(repository.getRepositoryUri()).thenReturn(repositoryUri);
  41. when(repository.getProjectKey()).thenReturn("PRJ");
  42. SynchronizationKey key = new SynchronizationKey(repository);
  43. SynchronisationOperation synchronisation = new DefaultSynchronisationOperation(key, repositoryManager, bitbucket, progressProvider);
  44. when(repositoryManager.getSynchronisationOperation(any(SynchronizationKey.class), any(ProgressWriter.class))).thenReturn(
  45. synchronisation);
  46. when(bitbucket.getChangesets(repository)).thenReturn(Arrays.asList(changeset));
  47. when(changeset.getMessage()).thenReturn("PRJ-1 Message");
  48. DefaultSynchronizer synchronizer = new DefaultSynchronizer(Executors.newSingleThreadExecutor(), repositoryManager);
  49. assertNull(synchronizer.getProgress(repository));
  50. synchronizer.synchronize(repository);
  51. assertNotNull(synchronizer.getProgress(repository));
  52. Progress progress = synchronizer.getProgress(repository);
  53. while (!progress.isFinished())
  54. {
  55. Thread.sleep(10);
  56. }
  57. verify(repositoryManager, times(1)).addChangeset(repository, "PRJ-1", changeset);
  58. }
  59. }