PageRenderTime 46ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/src/test/java/it/com/atlassian/jira/plugins/bitbucket/BitBucketBaseTest.java

https://bitbucket.org/atlassian/jira-bitbucket-connector/
Java | 82 lines | 64 code | 15 blank | 3 comment | 1 complexity | 723710fa79311121a38f41e287a2122e MD5 | raw file
  1. package it.com.atlassian.jira.plugins.bitbucket;
  2. import java.util.List;
  3. import org.junit.After;
  4. import org.junit.Before;
  5. import org.openqa.selenium.By;
  6. import com.atlassian.jira.plugins.bitbucket.pageobjects.component.BitBucketCommitEntry;
  7. import com.atlassian.jira.plugins.bitbucket.pageobjects.page.BaseConfigureRepositoriesPage;
  8. import com.atlassian.jira.plugins.bitbucket.pageobjects.page.GithubOAuthConfigPage;
  9. import com.atlassian.jira.plugins.bitbucket.pageobjects.page.JiraViewIssuePage;
  10. import com.atlassian.pageobjects.TestedProductFactory;
  11. import com.atlassian.pageobjects.page.LoginPage;
  12. import com.atlassian.webdriver.jira.JiraTestedProduct;
  13. import com.atlassian.webdriver.jira.page.JiraLoginPage;
  14. /**
  15. * Base class for BitBucket integration tests. Initializes the JiraTestedProduct and logs admin in.
  16. */
  17. public abstract class BitBucketBaseTest
  18. {
  19. protected static JiraTestedProduct jira = TestedProductFactory.create(JiraTestedProduct.class);
  20. protected BaseConfigureRepositoriesPage configureRepos;
  21. public static class AnotherLoginPage extends JiraLoginPage
  22. {
  23. @Override
  24. public void doWait()
  25. {
  26. driver.waitUntilElementIsLocated(By.name("os_username"));
  27. }
  28. }
  29. @SuppressWarnings("unchecked")
  30. @Before
  31. public void loginToJira()
  32. {
  33. jira.getPageBinder().override(LoginPage.class, AnotherLoginPage.class);
  34. configureRepos = (BaseConfigureRepositoriesPage) jira.getPageBinder().navigateToAndBind(AnotherLoginPage.class).loginAsSysAdmin(getPageClass());
  35. configureRepos.setJiraTestedProduct(jira);
  36. }
  37. @SuppressWarnings("rawtypes")
  38. protected abstract Class getPageClass();
  39. @After
  40. public void logout()
  41. {
  42. jira.getTester().getDriver().manage().deleteAllCookies();
  43. }
  44. protected void ensureRepositoryPresent(String projectKey, String repoUrl)
  45. {
  46. if (!configureRepos.isRepositoryPresent(projectKey, repoUrl))
  47. {
  48. configureRepos.addPublicRepoToProjectSuccessfully(projectKey, repoUrl);
  49. }
  50. }
  51. protected List<BitBucketCommitEntry> getCommitsForIssue(String issueKey)
  52. {
  53. return jira.visit(JiraViewIssuePage.class, issueKey)
  54. .openBitBucketPanel()
  55. .waitForMessages();
  56. }
  57. protected GithubOAuthConfigPage goToGithubOAuthConfigPage()
  58. {
  59. return jira.visit(GithubOAuthConfigPage.class);
  60. }
  61. protected BaseConfigureRepositoriesPage goToRepositoriesConfigPage()
  62. {
  63. configureRepos = (BaseConfigureRepositoriesPage) jira.visit(getPageClass());
  64. configureRepos.setJiraTestedProduct(jira);
  65. return configureRepos;
  66. }
  67. }