TestGitLabApiBeans.java 24.10 KiB
/*
 * The MIT License (MIT)
 * Copyright (c) 2017 Greg Messner <greg@messners.com>
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software.json"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package org.gitlab4j.api;
import static org.gitlab4j.api.JsonUtils.compareJson;
import static org.gitlab4j.api.JsonUtils.readTreeFromResource;
import static org.gitlab4j.api.JsonUtils.unmarshalResource;
import static org.gitlab4j.api.JsonUtils.unmarshalResourceList;
import static org.gitlab4j.api.JsonUtils.unmarshalResourceMap;
import static org.junit.Assert.assertTrue;
import java.util.List;
import java.util.Map;
import org.gitlab4j.api.models.AccessRequest;
import org.gitlab4j.api.models.Application;
import org.gitlab4j.api.models.ApplicationSettings;
import org.gitlab4j.api.models.ApprovalRule;
import org.gitlab4j.api.models.ArtifactsFile;
import org.gitlab4j.api.models.AwardEmoji;
import org.gitlab4j.api.models.Badge;
import org.gitlab4j.api.models.Board;
import org.gitlab4j.api.models.Branch;
import org.gitlab4j.api.models.Comment;
import org.gitlab4j.api.models.Commit;
import org.gitlab4j.api.models.CommitPayload;
import org.gitlab4j.api.models.CommitStatus;
import org.gitlab4j.api.models.CompareResults;
import org.gitlab4j.api.models.Contributor;
import org.gitlab4j.api.models.DeployKey;
import org.gitlab4j.api.models.Deployment;
import org.gitlab4j.api.models.Diff;
import org.gitlab4j.api.models.Discussion;
import org.gitlab4j.api.models.Email;
import org.gitlab4j.api.models.Environment;
import org.gitlab4j.api.models.Epic;
import org.gitlab4j.api.models.EpicIssue;
import org.gitlab4j.api.models.Event;
import org.gitlab4j.api.models.ExportStatus;
import org.gitlab4j.api.models.FileUpload;
import org.gitlab4j.api.models.GpgSignature;
import org.gitlab4j.api.models.Group;
import org.gitlab4j.api.models.HealthCheckInfo;
import org.gitlab4j.api.models.ImpersonationToken;
import org.gitlab4j.api.models.ImportStatus;
import org.gitlab4j.api.models.Issue;
import org.gitlab4j.api.models.IssueLink;
import org.gitlab4j.api.models.IssuesStatistics;
import org.gitlab4j.api.models.Job;
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
import org.gitlab4j.api.models.Key; import org.gitlab4j.api.models.Label; import org.gitlab4j.api.models.LabelEvent; import org.gitlab4j.api.models.Member; import org.gitlab4j.api.models.MergeRequest; import org.gitlab4j.api.models.Milestone; import org.gitlab4j.api.models.Note; import org.gitlab4j.api.models.NotificationSettings; import org.gitlab4j.api.models.OauthTokenResponse; import org.gitlab4j.api.models.Package; import org.gitlab4j.api.models.PackageFile; import org.gitlab4j.api.models.Pipeline; import org.gitlab4j.api.models.PipelineSchedule; import org.gitlab4j.api.models.Project; import org.gitlab4j.api.models.ProjectApprovalsConfig; import org.gitlab4j.api.models.ProjectFetches; import org.gitlab4j.api.models.ProjectHook; import org.gitlab4j.api.models.ProjectUser; import org.gitlab4j.api.models.ProtectedBranch; import org.gitlab4j.api.models.ProtectedTag; import org.gitlab4j.api.models.PushRules; import org.gitlab4j.api.models.RegistryRepository; import org.gitlab4j.api.models.Release; import org.gitlab4j.api.models.RepositoryFile; import org.gitlab4j.api.models.Runner; import org.gitlab4j.api.models.RunnerDetail; import org.gitlab4j.api.models.SearchBlob; import org.gitlab4j.api.models.Snippet; import org.gitlab4j.api.models.SshKey; import org.gitlab4j.api.models.SystemHook; import org.gitlab4j.api.models.Tag; import org.gitlab4j.api.models.Todo; import org.gitlab4j.api.models.TreeItem; import org.gitlab4j.api.models.Trigger; import org.gitlab4j.api.models.User; import org.gitlab4j.api.models.Variable; import org.gitlab4j.api.services.JiraService; import org.gitlab4j.api.services.SlackService; import org.junit.Test; import com.fasterxml.jackson.databind.JsonNode; public class TestGitLabApiBeans { @Test public void testAccessRequest() throws Exception { AccessRequest accessRequest = unmarshalResource(AccessRequest.class, "access-request.json"); assertTrue(compareJson(accessRequest, "access-request.json")); } @Test public void testApplications() throws Exception { List<Application> applications = unmarshalResourceList(Application.class, "applications.json"); assertTrue(compareJson(applications, "applications.json")); } @Test public void testAwardEmoji() throws Exception { AwardEmoji awardEmoji = unmarshalResource(AwardEmoji.class, "award-emoji.json"); assertTrue(compareJson(awardEmoji, "award-emoji.json")); } @Test public void testBadges() throws Exception { List<Badge> badges = unmarshalResourceList(Badge.class, "badges.json"); assertTrue(compareJson(badges, "badges.json")); } @Test public void testBoard() throws Exception {
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
List<Board> boards = unmarshalResourceList(Board.class, "project-board.json"); assertTrue(compareJson(boards, "project-board.json")); } @Test public void testBranch() throws Exception { Branch branch = unmarshalResource(Branch.class, "branch.json"); assertTrue(compareJson(branch, "branch.json")); branch = unmarshalResource(Branch.class, "bad-branch.json"); assertTrue(!Branch.isValid(branch)); } @Test public void testCommit() throws Exception { Commit commit = unmarshalResource(Commit.class, "commit.json"); assertTrue(compareJson(commit, "commit.json")); } @Test public void testCommitPayload() throws Exception { CommitPayload commitPayload = unmarshalResource(CommitPayload.class, "commit-payload.json"); assertTrue(compareJson(commitPayload, "commit-payload.json")); } @Test public void testCommitStatus() throws Exception { CommitStatus commitStatus = unmarshalResource(CommitStatus.class, "commit-status.json"); assertTrue(compareJson(commitStatus, "commit-status.json")); } @Test public void testCompareResults() throws Exception { CompareResults compareResults = unmarshalResource(CompareResults.class, "compare-results.json"); assertTrue(compareJson(compareResults, "compare-results.json")); } @Test public void testContributors() throws Exception { List<Contributor> contributors = unmarshalResourceList(Contributor.class, "contributors.json"); assertTrue(compareJson(contributors, "contributors.json")); } @Test public void testDiff() throws Exception { List<Diff> diffs = unmarshalResourceList(Diff.class, "diff.json"); assertTrue(compareJson(diffs, "diff.json")); } @Test public void testComment() throws Exception { Comment comment = unmarshalResource(Comment.class, "comment.json"); assertTrue(compareJson(comment, "comment.json")); } @Test public void testDeployment() throws Exception { Deployment deployment = unmarshalResource(Deployment.class, "deployment.json"); assertTrue(compareJson(deployment, "deployment.json")); } @Test public void testEmails() throws Exception { List<Email> emails = unmarshalResourceList(Email.class, "emails.json"); assertTrue(compareJson(emails, "emails.json")); } @Test public void testEnvironment() throws Exception {
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
Environment environment = unmarshalResource(Environment.class, "environment.json"); assertTrue(compareJson(environment, "environment.json")); } @Test public void testEpic() throws Exception { Epic epic = unmarshalResource(Epic.class, "epic.json"); assertTrue(compareJson(epic, "epic.json")); } @Test public void testEpicIssue() throws Exception { EpicIssue epicIssue = unmarshalResource(EpicIssue.class, "epic-issue.json"); assertTrue(compareJson(epicIssue, "epic-issue.json")); } @Test public void testEvent() throws Exception { Event event = unmarshalResource(Event.class, "event.json"); assertTrue(compareJson(event, "event.json")); } @Test public void testExportStatus() throws Exception { ExportStatus exportStatus = unmarshalResource(ExportStatus.class, "export-status.json"); assertTrue(compareJson(exportStatus, "export-status.json")); } @Test public void testFileUpload() throws Exception { FileUpload fileUpload = unmarshalResource(FileUpload.class, "file-upload.json"); assertTrue(compareJson(fileUpload, "file-upload.json")); } @Test public void testGpgSignature() throws Exception { GpgSignature gpgSignature = unmarshalResource(GpgSignature.class, "gpg-signature.json"); assertTrue(compareJson(gpgSignature, "gpg-signature.json")); } @Test public void testIssuesStatistics() throws Exception { IssuesStatistics statistics = unmarshalResource(IssuesStatistics.class, "issues-statistics.json"); assertTrue(compareJson(statistics, "issues-statistics.json")); } @Test public void testProjectFetches() throws Exception { ProjectFetches fetches = unmarshalResource(ProjectFetches.class, "project-fetches.json"); assertTrue(compareJson(fetches, "project-fetches.json")); } @Test public void testGroup() throws Exception { Group group = unmarshalResource(Group.class, "group.json"); assertTrue(compareJson(group, "group.json")); } @Test public void testHealthCheckInfo() throws Exception { HealthCheckInfo healthCheck = unmarshalResource(HealthCheckInfo.class, "health-check.json"); assertTrue(compareJson(healthCheck, "health-check.json")); } @Test public void testHealthCheckInfoNew() throws Exception { HealthCheckInfo healthCheck = unmarshalResource(HealthCheckInfo.class, "health-check-new.json"); assertTrue(compareJson(healthCheck, "health-check.json")); }
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
@Test public void testImportStatus() throws Exception { ImportStatus importStatus = unmarshalResource(ImportStatus.class, "import-status.json"); assertTrue(compareJson(importStatus, "import-status.json")); } @Test public void testIssue() throws Exception { Issue issue = unmarshalResource(Issue.class, "issue.json"); assertTrue(compareJson(issue, "issue.json")); } @Test public void testIssueLink() throws Exception { IssueLink issueLink = unmarshalResource(IssueLink.class, "issue-link.json"); assertTrue(compareJson(issueLink, "issue-link.json")); } @Test public void testIssuesClosedBy() throws Exception { List<Issue> issues = unmarshalResourceList(Issue.class, "issues-closed-by-mr.json"); assertTrue(compareJson(issues, "issues-closed-by-mr.json")); } @Test public void testLabelEvents() throws Exception { List<LabelEvent> events = unmarshalResourceList(LabelEvent.class, "label-events.json"); assertTrue(compareJson(events, "label-events.json")); } @Test public void testLinkedIssues() throws Exception { List<Issue> linkedIssues = unmarshalResourceList(Issue.class, "linked-issues.json"); assertTrue(compareJson(linkedIssues, "linked-issues.json")); } @Test public void testCommitDiscussions() throws Exception { List<Discussion> discussions = unmarshalResourceList(Discussion.class, "commit-discussions.json"); assertTrue(compareJson(discussions, "commit-discussions.json")); } @Test public void testEpicDiscussions() throws Exception { List<Discussion> discussions = unmarshalResourceList(Discussion.class, "epic-discussions.json"); assertTrue(compareJson(discussions, "epic-discussions.json")); } @Test public void testIssueDiscussions() throws Exception { List<Discussion> discussions = unmarshalResourceList(Discussion.class, "issue-discussions.json"); assertTrue(compareJson(discussions, "issue-discussions.json")); } @Test public void testMergeRequestDiscussions() throws Exception { List<Discussion> discussions = unmarshalResourceList(Discussion.class, "merge-request-discussions.json"); assertTrue(compareJson(discussions, "merge-request-discussions.json")); } @Test public void testPackages() throws Exception { List<Package> packages = unmarshalResourceList(Package.class, "packages.json"); assertTrue(compareJson(packages, "packages.json")); } @Test public void testPackageFiles() throws Exception { List<PackageFile> packageFiles = unmarshalResourceList(PackageFile.class, "package-files.json"); assertTrue(compareJson(packageFiles, "package-files.json"));