< prev index next > bots/pr/src/test/java/org/openjdk/skara/bots/pr/CheckTests.java
Print this page
import org.openjdk.skara.test.*;
import org.junit.jupiter.api.*;
import java.io.IOException;
! import java.nio.file.Files;
import java.util.*;
import java.util.regex.Pattern;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import org.openjdk.skara.test.*;
import org.junit.jupiter.api.*;
import java.io.IOException;
! import java.nio.file.*;
import java.util.*;
import java.util.regex.Pattern;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
// The PR should now be ready for review
assertTrue(pr.getLabels().contains("rfr"));
}
}
+
+ @Test
+ void issueIssue(TestInfo testInfo) throws IOException {
+ try (var credentials = new HostCredentials(testInfo);
+ var tempFolder = new TemporaryDirectory()) {
+ var author = credentials.getHostedRepository();
+ var reviewer = credentials.getHostedRepository();
+
+ var censusBuilder = credentials.getCensusBuilder()
+ .addAuthor(author.host().getCurrentUserDetails().id())
+ .addReviewer(reviewer.host().getCurrentUserDetails().id());
+ var checkBot = new PullRequestBot(author, censusBuilder.build(), "master", Map.of(), Map.of(),
+ Map.of(), Set.of(), Map.of());
+
+ // Populate the projects repository
+ var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), Path.of("appendable.txt"),
+ Set.of("issues"));
+ var masterHash = localRepo.resolve("master").orElseThrow();
+ localRepo.push(masterHash, author.getUrl(), "master", true);
+
+ // Make a change with a corresponding PR
+ var editHash = CheckableRepository.appendAndCommit(localRepo);
+ localRepo.push(editHash, author.getUrl(), "edit", true);
+ var pr = credentials.createPullRequest(author, "master", "edit", "This is a pull request");
+
+ // Check the status
+ TestBotRunner.runPeriodicItems(checkBot);
+
+ // Verify that the check failed
+ var checks = pr.getChecks(editHash);
+ assertEquals(1, checks.size());
+ var check = checks.get("jcheck");
+ assertEquals(CheckStatus.FAILURE, check.status());
+
+ // Add an issue to the title
+ pr.setTitle("1234: This is a pull request");
+
+ // Check the status again
+ TestBotRunner.runPeriodicItems(checkBot);
+
+ // The check should now be successful
+ checks = pr.getChecks(editHash);
+ assertEquals(1, checks.size());
+ check = checks.get("jcheck");
+ assertEquals(CheckStatus.SUCCESS, check.status());
+ }
+ }
}
< prev index next >