public void ParsesPRInRepo() { var gref = GithubReferenceParser.Parse("fooCorp/fooRepo#123"); Assert.AreEqual("fooCorp", gref.User); Assert.AreEqual("fooRepo", gref.Repo); Assert.AreEqual(123, gref.Issue); }
public void ParsesRepoAndBranch() { var gref = GithubReferenceParser.Parse("fooRepo@bug/SC-1234"); Assert.Null(gref.User); Assert.AreEqual("fooRepo", gref.Repo); Assert.AreEqual("bug/SC-1234", gref.Branch); }
public void ParsesPRByItself() { var gref = GithubReferenceParser.Parse("#123"); Assert.Null(gref.User); Assert.Null(gref.Repo); Assert.AreEqual(123, gref.Issue); }
public void ParsesCommitByItself() { var gref = GithubReferenceParser.Parse("abc1235"); Assert.Null(gref.User); Assert.Null(gref.Repo); Assert.AreEqual("abc1235", gref.Commit); }
public void ParsesBranchByItself() { var gref = GithubReferenceParser.Parse("bug/SC-1234"); Assert.Null(gref.User); Assert.Null(gref.Repo); Assert.AreEqual("bug/SC-1234", gref.Branch); }
public void ParsesFullCommitReference() { var gref = GithubReferenceParser.Parse("fooCorp/fooRepo@abc1235"); Assert.AreEqual("fooCorp", gref.User); Assert.AreEqual("fooRepo", gref.Repo); Assert.AreEqual("abc1235", gref.Commit); }
public void ParsesBranchInUrl() { var gref = GithubReferenceParser.Parse("https://github.com/fooCorp/fooRepo/tree/labelprinting-extensions"); Assert.AreEqual("fooCorp", gref.User); Assert.AreEqual("fooRepo", gref.Repo); Assert.AreEqual("labelprinting-extensions", gref.Branch); }
public void ParsesPRInUrl() { var gref = GithubReferenceParser.Parse("https://github.com/fooCorp/fooRepo/pull/28"); Assert.AreEqual("fooCorp", gref.User); Assert.AreEqual("fooRepo", gref.Repo); Assert.AreEqual(28, gref.Issue); }
public void ParsesExplicitComparisonWithRepo() { var gref = GithubReferenceParser.Parse("fooCorp/[email protected]/SC-1234"); Assert.AreEqual("fooCorp", gref.User); Assert.AreEqual("fooRepo", gref.Repo); Assert.AreEqual("master", gref.BaseBranch); Assert.AreEqual("bug/SC-1234", gref.Branch); }
public void ParsesExplicitComparison() { var gref = GithubReferenceParser.Parse("master...bug/SC-1234"); Assert.Null(gref.User); Assert.Null(gref.Repo); Assert.AreEqual("master", gref.BaseBranch); Assert.AreEqual("bug/SC-1234", gref.Branch); }
public void ParsesComparisonInUrl() { var gref = GithubReferenceParser.Parse("https://github.com/fooCorp/fooRepo/compare/master...bug/SC-1234"); Assert.AreEqual("fooCorp", gref.User); Assert.AreEqual("fooRepo", gref.Repo); Assert.AreEqual("master", gref.BaseBranch); Assert.AreEqual("bug/SC-1234", gref.Branch); }
private MessageResult PrintLabel(Command command, Match args) { var thingToPrint = args.Group("thingToPrint"); var githubRef = GithubReferenceParser.Parse(thingToPrint); if (githubRef.Issue > 0 && githubRef.Repo != null) { return(PrintGithubPullRequest(command, githubRef)); } return(Response.ToMessage(command, "Sorry, I don't know how to print \"" + thingToPrint + "\"")); }
public MessageResult ProcessMessage(Message message) { string toReview; if (m_CommandParser.TryGetCommand(message, "review", out toReview)) { var reference = GithubReferenceParser.Parse(toReview); if (reference == null) { return(MessageResult.Empty); } var user = reference.User ?? m_DefaultUser; var repo = reference.Repo ?? m_DefaultRepo; IEnumerable <DiffComment> comments = null; if (reference.Commit != null) { comments = m_ReviewApi.ReviewForCommit(user, repo, reference.Commit).Result; } if (reference.BaseBranch != null) { comments = m_ReviewApi.ReviewForComparison(user, repo, reference.BaseBranch + "..." + reference.Branch).Result; } if (reference.Branch == "master") { comments = m_ReviewApi.ReviewForComparison(user, repo, "master@{1day}..." + reference.Branch).Result; } if (reference.Branch != null) { comments = m_ReviewApi.ReviewForComparison(user, repo, "master..." + reference.Branch).Result; } if (reference.Issue > 0) { comments = m_ReviewApi.ReviewForPullRequest(user, repo, reference.Issue).Result; } if (comments != null) { return(FormatComments(message, comments)); } } return(MessageResult.Empty); }
public void ReturnsNullForNonGithubReference() { Assert.Null(GithubReferenceParser.Parse("not a reference")); }