Search in sources :

Example 1 with PullRequestsPage

use of io.blueocean.ath.pages.blue.PullRequestsPage in project blueocean-plugin by jenkinsci.

the class GithubCreationTest method testCreatePullRequest.

/**
 * This test walks through a simple Pull Request flow..
 *
 * -Creates a github repo with a sample Jenkinsfile and follows
 *  the typical create flow
 * -Navigates back to the top level Dashboard page
 * -Creates a PR in the GH repo
 * -Triggers a rescan of the multibranch pipeline
 * -Opens the PR tab to verify that we actually have something there.
 */
@Test
@Retry(3)
public void testCreatePullRequest() throws IOException {
    String branchToCreate = "new-branch";
    String commitMessage = "Add new-file to our repo";
    MultiBranchPipeline pipeline = mbpFactory.pipeline(repo);
    byte[] firstJenkinsfile = "stage('first-build') { echo 'first-build' }".getBytes("UTF-8");
    GHContentUpdateResponse initialUpdateResponse = ghRepository.createContent(firstJenkinsfile, "firstJenkinsfile", "Jenkinsfile", "master");
    ghRepository.createRef(("refs/heads/" + branchToCreate), initialUpdateResponse.getCommit().getSHA1());
    logger.info("Created master and " + branchToCreate + " branches in " + repo);
    ghRepository.createContent("hi there", "newfile", "new-file", branchToCreate);
    creationPage.createPipeline(token, organization, repo);
    dashboardPage.open();
    ghRepository.createPullRequest(commitMessage, branchToCreate, "master", "My first pull request is very exciting.");
    // Fire the rescan.
    pipeline.rescanThisPipeline();
    dashboardPage.clickPipeline(repo);
    ActivityPage activityPage = pipeline.getActivityPage().checkUrl();
    PullRequestsPage pullRequestsPage = activityPage.clickPullRequestsTab();
    pullRequestsPage.clickRunButton("1");
    pullRequestsPage.clickHistoryButton("1");
    // We'll be on the activity page now, pre-filtered to PR-1.
    // Go to the Pull Requests tab one last time.
    activityPage.clickPullRequestsTab();
}
Also used : ActivityPage(io.blueocean.ath.pages.blue.ActivityPage) MultiBranchPipeline(io.blueocean.ath.model.MultiBranchPipeline) GHContentUpdateResponse(org.kohsuke.github.GHContentUpdateResponse) PullRequestsPage(io.blueocean.ath.pages.blue.PullRequestsPage) Retry(io.blueocean.ath.Retry)

Aggregations

Retry (io.blueocean.ath.Retry)1 MultiBranchPipeline (io.blueocean.ath.model.MultiBranchPipeline)1 ActivityPage (io.blueocean.ath.pages.blue.ActivityPage)1 PullRequestsPage (io.blueocean.ath.pages.blue.PullRequestsPage)1 GHContentUpdateResponse (org.kohsuke.github.GHContentUpdateResponse)1