mirror of
https://github.com/jlengrand/github-api.git
synced 2026-03-10 08:21:21 +00:00
Fixed some problems with tests trying to authenticate when you are not actually signed in. This hit rate API limiting which caused tests to hang/fail Also fixed assertThat getting deprecated from junit
321 lines
17 KiB
Java
321 lines
17 KiB
Java
package org.kohsuke.github;
|
|
|
|
import org.junit.Rule;
|
|
import org.junit.Test;
|
|
|
|
import static org.hamcrest.CoreMatchers.is;
|
|
import static org.hamcrest.CoreMatchers.nullValue;
|
|
import static org.hamcrest.MatcherAssert.assertThat;
|
|
import static org.hamcrest.Matchers.*;
|
|
|
|
public class GHEventPayloadTest {
|
|
|
|
@Rule
|
|
public final PayloadRule payload = new PayloadRule(".json");
|
|
|
|
@Test
|
|
public void commit_comment() throws Exception {
|
|
GHEventPayload.CommitComment event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.CommitComment.class);
|
|
assertThat(event.getAction(), is("created"));
|
|
assertThat(event.getComment().getSHA1(), is("9049f1265b7d61be4a8904a9a27120d2064dab3b"));
|
|
assertThat(event.getComment().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void create() throws Exception {
|
|
GHEventPayload.Create event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.Create.class);
|
|
assertThat(event.getRef(), is("0.0.1"));
|
|
assertThat(event.getRefType(), is("tag"));
|
|
assertThat(event.getMasterBranch(), is("master"));
|
|
assertThat(event.getDescription(), is(""));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void delete() throws Exception {
|
|
GHEventPayload.Delete event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.Delete.class);
|
|
assertThat(event.getRef(), is("simple-tag"));
|
|
assertThat(event.getRefType(), is("tag"));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void deployment() throws Exception {
|
|
GHEventPayload.Deployment event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.Deployment.class);
|
|
assertThat(event.getDeployment().getSha(), is("9049f1265b7d61be4a8904a9a27120d2064dab3b"));
|
|
assertThat(event.getDeployment().getEnvironment(), is("production"));
|
|
assertThat(event.getDeployment().getCreator().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void deployment_status() throws Exception {
|
|
GHEventPayload.DeploymentStatus event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.DeploymentStatus.class);
|
|
assertThat(event.getDeploymentStatus().getState(), is(GHDeploymentState.SUCCESS));
|
|
assertThat(event.getDeploymentStatus().getTargetUrl(), nullValue());
|
|
assertThat(event.getDeployment().getSha(), is("9049f1265b7d61be4a8904a9a27120d2064dab3b"));
|
|
assertThat(event.getDeployment().getEnvironment(), is("production"));
|
|
assertThat(event.getDeployment().getCreator().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void fork() throws Exception {
|
|
GHEventPayload.Fork event = GitHub.offline().parseEventPayload(payload.asReader(), GHEventPayload.Fork.class);
|
|
assertThat(event.getForkee().getName(), is("public-repo"));
|
|
assertThat(event.getForkee().getOwner().getLogin(), is("baxterandthehackers"));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterandthehackers"));
|
|
}
|
|
|
|
// TODO uncomment when we have GHPage implemented
|
|
// @Test
|
|
// public void gollum() throws Exception {
|
|
// GHEventPayload.Gollum event =
|
|
// GitHub.offline().parseEventPayload(payload.asReader(), GHEventPayload.Gollum.class);
|
|
// assertThat(event.getPages().size(), is(1));
|
|
// GHPage page = event.getPages().get(0);
|
|
// assertThat(page.getName(), is("Home"));
|
|
// assertThat(page.getTitle(), is("Home"));
|
|
// assertThat(page.getSummary(), nullValue());
|
|
// assertThat(page.getAction(), is("created"));
|
|
// assertThat(page.getSha(), is("91ea1bd42aa2ba166b86e8aefe049e9837214e67"));
|
|
// assertThat(page.getHtmlUrl(), is("https://github.com/baxterthehacker/public-repo/wiki/Home"));
|
|
// assertThat(event.getRepository().getName(), is("public-repo"));
|
|
// assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
// assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
// }
|
|
|
|
@Test
|
|
public void issue_comment() throws Exception {
|
|
GHEventPayload.IssueComment event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.IssueComment.class);
|
|
assertThat(event.getAction(), is("created"));
|
|
assertThat(event.getIssue().getNumber(), is(2));
|
|
assertThat(event.getIssue().getTitle(), is("Spelling error in the README file"));
|
|
assertThat(event.getIssue().getState(), is(GHIssueState.OPEN));
|
|
assertThat(event.getIssue().getLabels().size(), is(1));
|
|
assertThat(event.getIssue().getLabels().iterator().next().getName(), is("bug"));
|
|
assertThat(event.getComment().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getComment().getBody(), is("You are totally right! I'll get this fixed right away."));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void issues() throws Exception {
|
|
GHEventPayload.Issue event = GitHub.offline().parseEventPayload(payload.asReader(), GHEventPayload.Issue.class);
|
|
assertThat(event.getAction(), is("opened"));
|
|
assertThat(event.getIssue().getNumber(), is(2));
|
|
assertThat(event.getIssue().getTitle(), is("Spelling error in the README file"));
|
|
assertThat(event.getIssue().getState(), is(GHIssueState.OPEN));
|
|
assertThat(event.getIssue().getLabels().size(), is(1));
|
|
assertThat(event.getIssue().getLabels().iterator().next().getName(), is("bug"));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void label() throws Exception {}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void member() throws Exception {}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void membership() throws Exception {}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void milestone() throws Exception {}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void page_build() throws Exception {}
|
|
|
|
@Test
|
|
@Payload("public")
|
|
public void public_() throws Exception {
|
|
GHEventPayload.Public event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.Public.class);
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void pull_request() throws Exception {
|
|
GHEventPayload.PullRequest event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.PullRequest.class);
|
|
assertThat(event.getAction(), is("opened"));
|
|
assertThat(event.getNumber(), is(1));
|
|
assertThat(event.getPullRequest().getNumber(), is(1));
|
|
assertThat(event.getPullRequest().getTitle(), is("Update the README with new information"));
|
|
assertThat(event.getPullRequest().getBody(),
|
|
is("This is a pretty simple change that we need to pull into " + "master."));
|
|
assertThat(event.getPullRequest().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getPullRequest().getHead().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getPullRequest().getHead().getRef(), is("changes"));
|
|
assertThat(event.getPullRequest().getHead().getLabel(), is("baxterthehacker:changes"));
|
|
assertThat(event.getPullRequest().getHead().getSha(), is("0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"));
|
|
assertThat(event.getPullRequest().getBase().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getPullRequest().getBase().getRef(), is("master"));
|
|
assertThat(event.getPullRequest().getBase().getLabel(), is("baxterthehacker:master"));
|
|
assertThat(event.getPullRequest().getBase().getSha(), is("9049f1265b7d61be4a8904a9a27120d2064dab3b"));
|
|
assertThat(event.getPullRequest().isMerged(), is(false));
|
|
assertThat(event.getPullRequest().getMergeable(), nullValue());
|
|
assertThat(event.getPullRequest().getMergeableState(), is("unknown"));
|
|
assertThat(event.getPullRequest().getMergedBy(), nullValue());
|
|
assertThat(event.getPullRequest().getCommentsCount(), is(0));
|
|
assertThat(event.getPullRequest().getReviewComments(), is(0));
|
|
assertThat(event.getPullRequest().getAdditions(), is(1));
|
|
assertThat(event.getPullRequest().getDeletions(), is(1));
|
|
assertThat(event.getPullRequest().getChangedFiles(), is(1));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void pull_request_review() throws Exception {
|
|
GHEventPayload.PullRequestReview event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.PullRequestReview.class);
|
|
assertThat(event.getAction(), is("submitted"));
|
|
|
|
assertThat(event.getReview().getId(), is(2626884L));
|
|
assertThat(event.getReview().getBody(), is("Looks great!\n"));
|
|
assertThat(event.getReview().getState(), is(GHPullRequestReviewState.APPROVED));
|
|
|
|
assertThat(event.getPullRequest().getNumber(), is(8));
|
|
assertThat(event.getPullRequest().getTitle(), is("Add a README description"));
|
|
assertThat(event.getPullRequest().getBody(), is("Just a few more details"));
|
|
assertThat(event.getPullRequest().getUser().getLogin(), is("skalnik"));
|
|
assertThat(event.getPullRequest().getHead().getUser().getLogin(), is("skalnik"));
|
|
assertThat(event.getPullRequest().getHead().getRef(), is("patch-2"));
|
|
assertThat(event.getPullRequest().getHead().getLabel(), is("skalnik:patch-2"));
|
|
assertThat(event.getPullRequest().getHead().getSha(), is("b7a1f9c27caa4e03c14a88feb56e2d4f7500aa63"));
|
|
assertThat(event.getPullRequest().getBase().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getPullRequest().getBase().getRef(), is("master"));
|
|
assertThat(event.getPullRequest().getBase().getLabel(), is("baxterthehacker:master"));
|
|
assertThat(event.getPullRequest().getBase().getSha(), is("9049f1265b7d61be4a8904a9a27120d2064dab3b"));
|
|
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void pull_request_review_comment() throws Exception {
|
|
GHEventPayload.PullRequestReviewComment event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.PullRequestReviewComment.class);
|
|
assertThat(event.getAction(), is("created"));
|
|
|
|
assertThat(event.getComment().getBody(), is("Maybe you should use more emojji on this line."));
|
|
|
|
assertThat(event.getPullRequest().getNumber(), is(1));
|
|
assertThat(event.getPullRequest().getTitle(), is("Update the README with new information"));
|
|
assertThat(event.getPullRequest().getBody(),
|
|
is("This is a pretty simple change that we need to pull into master."));
|
|
assertThat(event.getPullRequest().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getPullRequest().getHead().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getPullRequest().getHead().getRef(), is("changes"));
|
|
assertThat(event.getPullRequest().getHead().getLabel(), is("baxterthehacker:changes"));
|
|
assertThat(event.getPullRequest().getHead().getSha(), is("0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"));
|
|
assertThat(event.getPullRequest().getBase().getUser().getLogin(), is("baxterthehacker"));
|
|
assertThat(event.getPullRequest().getBase().getRef(), is("master"));
|
|
assertThat(event.getPullRequest().getBase().getLabel(), is("baxterthehacker:master"));
|
|
assertThat(event.getPullRequest().getBase().getSha(), is("9049f1265b7d61be4a8904a9a27120d2064dab3b"));
|
|
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterthehacker"));
|
|
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
@Test
|
|
public void push() throws Exception {
|
|
GHEventPayload.Push event = GitHub.offline().parseEventPayload(payload.asReader(), GHEventPayload.Push.class);
|
|
assertThat(event.getRef(), is("refs/heads/changes"));
|
|
assertThat(event.getBefore(), is("9049f1265b7d61be4a8904a9a27120d2064dab3b"));
|
|
assertThat(event.getHead(), is("0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"));
|
|
assertThat(event.isCreated(), is(false));
|
|
assertThat(event.isDeleted(), is(false));
|
|
assertThat(event.isForced(), is(false));
|
|
assertThat(event.getCommits().size(), is(1));
|
|
assertThat(event.getCommits().get(0).getSha(), is("0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"));
|
|
assertThat(event.getCommits().get(0).getAuthor().getEmail(), is("baxterthehacker@users.noreply.github.com"));
|
|
assertThat(event.getCommits().get(0).getCommitter().getEmail(), is("baxterthehacker@users.noreply.github.com"));
|
|
assertThat(event.getCommits().get(0).getAdded().size(), is(0));
|
|
assertThat(event.getCommits().get(0).getRemoved().size(), is(0));
|
|
assertThat(event.getCommits().get(0).getModified().size(), is(1));
|
|
assertThat(event.getCommits().get(0).getModified().get(0), is("README.md"));
|
|
assertThat(event.getRepository().getName(), is("public-repo"));
|
|
assertThat(event.getRepository().getOwnerName(), is("baxterthehacker"));
|
|
assertThat(event.getRepository().getUrl().toExternalForm(),
|
|
is("https://github.com/baxterthehacker/public-repo"));
|
|
assertThat(event.getPusher().getName(), is("baxterthehacker"));
|
|
assertThat(event.getPusher().getEmail(), is("baxterthehacker@users.noreply.github.com"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void release() throws Exception {}
|
|
|
|
@Test
|
|
public void repository() throws Exception {
|
|
GHEventPayload.Repository event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.Repository.class);
|
|
assertThat(event.getAction(), is("created"));
|
|
assertThat(event.getRepository().getName(), is("new-repository"));
|
|
assertThat(event.getRepository().getOwner().getLogin(), is("baxterandthehackers"));
|
|
assertThat(event.getOrganization().getLogin(), is("baxterandthehackers"));
|
|
assertThat(event.getSender().getLogin(), is("baxterthehacker"));
|
|
}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void status() throws Exception {}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void team_add() throws Exception {}
|
|
|
|
// TODO implement support classes and write test
|
|
// @Test
|
|
// public void watch() throws Exception {}
|
|
|
|
@Test
|
|
@Payload("check-run")
|
|
public void checkRunEvent() throws Exception {
|
|
GHEventPayload.CheckRun event = GitHub.offline()
|
|
.parseEventPayload(payload.asReader(), GHEventPayload.CheckRun.class);
|
|
assertThat(event.getRepository().getName(), is("Hello-World"));
|
|
assertThat(event.getAction(), is("created"));
|
|
assertThat(event.getCheckRun().getName(), is("Octocoders-linter"));
|
|
}
|
|
|
|
}
|