< prev index next > bots/mlbridge/src/test/java/org/openjdk/skara/bots/mlbridge/MailingListBridgeBotTests.java
Print this page
Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
Set.of("rfr"), Map.of(ignored.host().getCurrentUserDetails().userName(),
! Pattern.compile("ready")));
// Populate the projects repository
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType());
var masterHash = localRepo.resolve("master").orElseThrow();
localRepo.push(masterHash, author.getUrl(), "master", true);
Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
Set.of("rfr"), Map.of(ignored.host().getCurrentUserDetails().userName(),
! Pattern.compile("ready")),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType());
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, "A simple change",
"Change msg\n\nWith several lines");
localRepo.push(editHash, author.getUrl(), "edit", true);
! var pr = credentials.createPullRequest(archive, "master", "edit", "This is a pull request");
pr.setBody("This should not be ready");
// Run an archive pass
TestBotRunner.runPeriodicItems(mlBot);
// Make a change with a corresponding PR
var editHash = CheckableRepository.appendAndCommit(localRepo, "A simple change",
"Change msg\n\nWith several lines");
localRepo.push(editHash, author.getUrl(), "edit", true);
! var pr = credentials.createPullRequest(archive, "master", "edit", "1234: This is a pull request");
pr.setBody("This should not be ready");
// Run an archive pass
TestBotRunner.runPeriodicItems(mlBot);
assertTrue(archiveContains(archiveFolder.path(), "Patch:"));
assertTrue(archiveContains(archiveFolder.path(), "Changes:"));
assertTrue(archiveContains(archiveFolder.path(), "Webrev:"));
assertTrue(archiveContains(archiveFolder.path(), "http://www.test.test/"));
assertTrue(archiveContains(archiveFolder.path(), "webrev.00"));
+ assertTrue(archiveContains(archiveFolder.path(), "Issue:"));
+ assertTrue(archiveContains(archiveFolder.path(), "http://issues.test/browse/TSTPRJ-1234"));
assertTrue(archiveContains(archiveFolder.path(), "Fetch:"));
assertTrue(archiveContains(archiveFolder.path(), "^ - " + editHash.abbreviate() + ": Change msg"));
assertFalse(archiveContains(archiveFolder.path(), "With several lines"));
// The mailing list as well
var mailmanServer = MailingListServerFactory.createMailmanServer(listServer.getArchive(), listServer.getSMTP());
var mailmanList = mailmanServer.getList(listAddress.address());
var conversations = mailmanList.conversations(Duration.ofDays(1));
assertEquals(1, conversations.size());
var mail = conversations.get(0).first();
! assertEquals("RFR: This is a pull request", mail.subject());
assertEquals(pr.getAuthor().fullName(), mail.author().fullName().orElseThrow());
assertEquals(noreplyAddress(archive), mail.author().address());
assertEquals(from, mail.sender());
// And there should be a webrev
var mailmanServer = MailingListServerFactory.createMailmanServer(listServer.getArchive(), listServer.getSMTP());
var mailmanList = mailmanServer.getList(listAddress.address());
var conversations = mailmanList.conversations(Duration.ofDays(1));
assertEquals(1, conversations.size());
var mail = conversations.get(0).first();
! assertEquals("RFR: 1234: This is a pull request", mail.subject());
assertEquals(pr.getAuthor().fullName(), mail.author().fullName().orElseThrow());
assertEquals(noreplyAddress(archive), mail.author().address());
assertEquals(from, mail.sender());
// And there should be a webrev
Set.of(ignored.host().getCurrentUserDetails().userName()),
Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
Set.of(ignored.host().getCurrentUserDetails().userName()),
Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
listAddress, Set.of(), Set.of(),
listServer.getArchive(),
listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
var mlBot = new MailingListBridgeBot(from, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
var mlBot = new MailingListBridgeBot(from, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
var mlBot = new MailingListBridgeBot(from, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
var mlBot = new MailingListBridgeBot(from, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
var mlBot = new MailingListBridgeBot(sender, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path().resolve("first"), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
var mlBot = new MailingListBridgeBot(sender, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path().resolve("first"), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
Set.of(ignored.host().getCurrentUserDetails().userName()),
Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType());
var masterHash = localRepo.resolve("master").orElseThrow();
localRepo.push(masterHash, author.getUrl(), "master", true);
Set.of(ignored.host().getCurrentUserDetails().userName()),
Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType());
var masterHash = localRepo.resolve("master").orElseThrow();
localRepo.push(masterHash, author.getUrl(), "master", true);
var mlBot = new MailingListBridgeBot(from, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
var mlBot = new MailingListBridgeBot(from, author, archive, censusBuilder.build(), "master",
listAddress, Set.of(), Set.of(),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
Set.of(ignored.host().getCurrentUserDetails().userName()),
Set.of(Pattern.compile("ignore this comment", Pattern.MULTILINE | Pattern.DOTALL)),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
Set.of(ignored.host().getCurrentUserDetails().userName()),
Set.of(Pattern.compile("ignore this comment", Pattern.MULTILINE | Pattern.DOTALL)),
listServer.getArchive(), listServer.getSMTP(),
archive, "webrev", Path.of("test"),
URIBuilder.base("http://www.test.test/").build(),
! Set.of(), Map.of(),
+ URIBuilder.base("http://issues.test/browse/").build());
// Populate the projects repository
var reviewFile = Path.of("reviewfile.txt");
var localRepo = CheckableRepository.init(tempFolder.path(), author.getRepositoryType(), reviewFile);
var masterHash = localRepo.resolve("master").orElseThrow();
< prev index next >