PageRenderTime 42ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

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

https://bitbucket.org/atlassian/jira-bitbucket-connector/
Java | 89 lines | 53 code | 12 blank | 24 comment | 0 complexity | 46baac42afd7aeb2b55cec50157493e5 MD5 | raw file
  1. package com.atlassian.jira.plugins.bitbucket.bitbucket;
  2. import static org.mockito.Mockito.*;
  3. import java.io.IOException;
  4. import java.util.Arrays;
  5. import org.apache.commons.io.IOUtils;
  6. import org.junit.Before;
  7. import org.junit.Test;
  8. import org.mockito.Mock;
  9. import org.mockito.MockitoAnnotations;
  10. import com.atlassian.jira.plugins.bitbucket.Synchronizer;
  11. import com.atlassian.jira.plugins.bitbucket.api.SourceControlRepository;
  12. import com.atlassian.jira.plugins.bitbucket.api.impl.DefaultSourceControlRepository;
  13. import com.atlassian.jira.plugins.bitbucket.spi.RepositoryManager;
  14. import com.atlassian.jira.plugins.bitbucket.spi.RepositoryUri;
  15. import com.atlassian.jira.plugins.bitbucket.webwork.BitbucketPostCommit;
  16. /**
  17. * Unit test for {@link BitbucketPostCommit}
  18. */
  19. @SuppressWarnings("deprecation")
  20. public class TestBitbucketPostCommit
  21. {
  22. @Mock
  23. Synchronizer synchronizer;
  24. @Mock
  25. private RepositoryManager repositoryManager;
  26. @Mock
  27. RepositoryUri repositoryUri;
  28. @Before
  29. public void setup() throws Exception
  30. {
  31. MockitoAnnotations.initMocks(this);
  32. }
  33. private String resource(String name) throws IOException
  34. {
  35. return IOUtils.toString(getClass().getClassLoader().getResourceAsStream(name));
  36. }
  37. @Test
  38. public void testPostCommit() throws Exception
  39. {
  40. String projectKey = "PRJ";
  41. String repositoryUrl = "https://bitbucket.org/mjensen/test";
  42. String payload = resource("TestBitbucketPostCommit-payload.json");
  43. SourceControlRepository repo = new DefaultSourceControlRepository(0, "bitbucket", repositoryUri, projectKey, null, null, null, null, null);
  44. when(repositoryManager.getRepositories(projectKey)).thenReturn(Arrays.asList(repo));
  45. when(repositoryUri.getRepositoryUrl()).thenReturn(repositoryUrl);
  46. BitbucketPostCommit bitbucketPostCommit = new BitbucketPostCommit(repositoryManager, synchronizer);
  47. bitbucketPostCommit.setProjectKey(projectKey);
  48. bitbucketPostCommit.setPayload(payload);
  49. bitbucketPostCommit.execute();
  50. verify(repositoryManager).parsePayload(repo, payload);
  51. }
  52. @Test
  53. public void testParsePayload() throws Exception
  54. {
  55. // TODO
  56. // String projectKey = "PRJ";
  57. // String payload = resource("TestBitbucketPostCommit-payload.json");
  58. // DefaultSourceControlRepository repo = new DefaultSourceControlRepository(0, "bitbucket", repositoryUri, projectKey, null, null, null, null, null);
  59. //
  60. // BitbucketRepositoryManager brm = new BitbucketRepositoryManager(null, null, null, null, null);
  61. // List<Changeset> changesets = brm.parsePayload(repo, payload);
  62. //
  63. // ArgumentMatcher<List<Changeset>> matcher = new ArgumentMatcher<List<Changeset>>()
  64. // {
  65. // @Override
  66. // public boolean matches(Object o)
  67. // {
  68. // //noinspection unchecked
  69. // @SuppressWarnings("unchecked")
  70. // List<Changeset> list = (List<Changeset>) o;
  71. // Changeset changeset = list.get(0);
  72. // return list.size()==1 && changeset.getNode().equals("f2851c9f1db8");
  73. // }
  74. // };
  75. // assertTrue(matcher.matches(changesets));
  76. }
  77. }