/src/test/java/it/com/atlassian/jira/plugins/bitbucket/BitBucketBaseTest.java
Java | 82 lines | 64 code | 15 blank | 3 comment | 1 complexity | 723710fa79311121a38f41e287a2122e MD5 | raw file
- package it.com.atlassian.jira.plugins.bitbucket;
-
- import java.util.List;
-
- import org.junit.After;
- import org.junit.Before;
- import org.openqa.selenium.By;
-
- import com.atlassian.jira.plugins.bitbucket.pageobjects.component.BitBucketCommitEntry;
- import com.atlassian.jira.plugins.bitbucket.pageobjects.page.BaseConfigureRepositoriesPage;
- import com.atlassian.jira.plugins.bitbucket.pageobjects.page.GithubOAuthConfigPage;
- import com.atlassian.jira.plugins.bitbucket.pageobjects.page.JiraViewIssuePage;
- import com.atlassian.pageobjects.TestedProductFactory;
- import com.atlassian.pageobjects.page.LoginPage;
- import com.atlassian.webdriver.jira.JiraTestedProduct;
- import com.atlassian.webdriver.jira.page.JiraLoginPage;
-
- /**
- * Base class for BitBucket integration tests. Initializes the JiraTestedProduct and logs admin in.
- */
- public abstract class BitBucketBaseTest
- {
- protected static JiraTestedProduct jira = TestedProductFactory.create(JiraTestedProduct.class);
- protected BaseConfigureRepositoriesPage configureRepos;
-
-
- public static class AnotherLoginPage extends JiraLoginPage
- {
- @Override
- public void doWait()
- {
- driver.waitUntilElementIsLocated(By.name("os_username"));
- }
- }
-
- @SuppressWarnings("unchecked")
- @Before
- public void loginToJira()
- {
- jira.getPageBinder().override(LoginPage.class, AnotherLoginPage.class);
-
- configureRepos = (BaseConfigureRepositoriesPage) jira.getPageBinder().navigateToAndBind(AnotherLoginPage.class).loginAsSysAdmin(getPageClass());
- configureRepos.setJiraTestedProduct(jira);
- }
-
- @SuppressWarnings("rawtypes")
- protected abstract Class getPageClass();
-
- @After
- public void logout()
- {
- jira.getTester().getDriver().manage().deleteAllCookies();
- }
-
- protected void ensureRepositoryPresent(String projectKey, String repoUrl)
- {
- if (!configureRepos.isRepositoryPresent(projectKey, repoUrl))
- {
- configureRepos.addPublicRepoToProjectSuccessfully(projectKey, repoUrl);
- }
- }
-
-
- protected List<BitBucketCommitEntry> getCommitsForIssue(String issueKey)
- {
- return jira.visit(JiraViewIssuePage.class, issueKey)
- .openBitBucketPanel()
- .waitForMessages();
- }
-
- protected GithubOAuthConfigPage goToGithubOAuthConfigPage()
- {
- return jira.visit(GithubOAuthConfigPage.class);
- }
-
- protected BaseConfigureRepositoriesPage goToRepositoriesConfigPage()
- {
- configureRepos = (BaseConfigureRepositoriesPage) jira.visit(getPageClass());
- configureRepos.setJiraTestedProduct(jira);
- return configureRepos;
- }
- }