diff --git a/build/src/service/git/git-cli.js b/build/src/service/git/git-cli.js deleted file mode 100644 index ebf7eeb..0000000 --- a/build/src/service/git/git-cli.js +++ /dev/null @@ -1,115 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const logger_service_factory_1 = __importDefault(require("../../service/logger/logger-service-factory")); -const simple_git_1 = __importDefault(require("simple-git")); -const fs_1 = __importDefault(require("fs")); -/** - * Command line git commands executor service - */ -class GitCLIService { - constructor(auth, author) { - this.logger = logger_service_factory_1.default.getLogger(); - this.auth = auth; - this.author = author; - } - /** - * Return a pre-configured SimpleGit instance able to execute commands from current - * directory or the provided one - * @param cwd [optional] current working directory - * @returns {SimpleGit} - */ - git(cwd) { - const gitConfig = { ...(cwd ? { baseDir: cwd } : {}) }; - return (0, simple_git_1.default)(gitConfig).addConfig("user.name", this.author).addConfig("user.email", "noreply@github.com"); - } - /** - * Update the provided remote URL by adding the auth token if not empty - * @param remoteURL remote link, e.g., https://github.com/lampajr/backporting-example.git - */ - remoteWithAuth(remoteURL) { - if (this.auth && this.author) { - return remoteURL.replace("://", `://${this.author}:${this.auth}@`); - } - // return remote as it is - return remoteURL; - } - /** - * Return the git version - * @returns {Promise} - */ - async version(cwd) { - const rawOutput = await this.git(cwd).raw("version"); - const match = rawOutput.match(/(\d+\.\d+(\.\d+)?)/); - return match ? match[1] : undefined; - } - /** - * Clone a git repository - * @param from url or path from which the repository should be cloned from - * @param to location at which the repository should be cloned at - * @param branch branch which should be cloned - */ - async clone(from, to, branch) { - this.logger.info(`Cloning repository ${from} to ${to}.`); - if (!fs_1.default.existsSync(to)) { - await (0, simple_git_1.default)().clone(this.remoteWithAuth(from), to, ["--quiet", "--shallow-submodules", "--no-tags", "--branch", branch]); - } - else { - this.logger.warn(`Folder ${to} already exist. Won't clone`); - } - } - /** - * Create a new branch starting from the current one and checkout in it - * @param cwd repository in which createBranch should be performed - * @param newBranch new branch name - */ - async createLocalBranch(cwd, newBranch) { - this.logger.info(`Creating branch ${newBranch}.`); - await this.git(cwd).checkoutLocalBranch(newBranch); - } - /** - * Add a new remote to the current repository - * @param cwd repository in which addRemote should be performed - * @param remote remote git link - * @param remoteName [optional] name of the remote, by default 'fork' is used - */ - async addRemote(cwd, remote, remoteName = "fork") { - this.logger.info(`Adding new remote ${remote}.`); - await this.git(cwd).addRemote(remoteName, this.remoteWithAuth(remote)); - } - /** - * Git fetch from a particular branch - * @param cwd repository in which fetch should be performed - * @param branch fetch from the given branch - * @param remote [optional] the remote to fetch, by default origin - */ - async fetch(cwd, branch, remote = "origin") { - await this.git(cwd).fetch(remote, branch, ["--quiet"]); - } - /** - * Get cherry-pick a specific sha - * @param cwd repository in which the sha should be cherry picked to - * @param sha commit sha - */ - async cherryPick(cwd, sha) { - this.logger.info(`Cherry picking ${sha}.`); - await this.git(cwd).raw(["cherry-pick", "-m", "1", "--strategy=recursive", "--strategy-option=theirs", sha]); - } - /** - * Push a branch to a remote - * @param cwd repository in which the push should be performed - * @param branch branch to be pushed - * @param remote [optional] remote to which the branch should be pushed to, by default 'origin' - */ - async push(cwd, branch, remote = "origin", force = false) { - this.logger.info(`Pushing ${branch} to ${remote}.`); - const options = ["--quiet"]; - if (force) { - options.push("--force-with-lease"); - } - await this.git(cwd).push(remote, branch, options); - } -} -exports.default = GitCLIService; diff --git a/build/src/service/git/git-service-factory.js b/build/src/service/git/git-service-factory.js deleted file mode 100644 index e359f2d..0000000 --- a/build/src/service/git/git-service-factory.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const git_types_1 = require("../../service/git/git.types"); -const github_service_1 = __importDefault(require("../../service/git/github/github-service")); -const logger_service_factory_1 = __importDefault(require("../../service/logger/logger-service-factory")); -/** - * Singleton git service factory class - */ -class GitServiceFactory { - static getService() { - if (!GitServiceFactory.instance) { - throw new Error("You must call `init` method first!"); - } - return GitServiceFactory.instance; - } - /** - * Initialize the singleton git management service - * @param type git management service type - * @param auth authentication, like github token - */ - static init(type, auth) { - if (GitServiceFactory.instance) { - GitServiceFactory.logger.warn("Git service already initialized!"); - return; - } - switch (type) { - case git_types_1.GitServiceType.GITHUB: - GitServiceFactory.instance = new github_service_1.default(auth); - break; - default: - throw new Error(`Invalid git service type received: ${type}`); - } - } -} -exports.default = GitServiceFactory; -GitServiceFactory.logger = logger_service_factory_1.default.getLogger(); diff --git a/build/src/service/git/git-service.js b/build/src/service/git/git-service.js deleted file mode 100644 index c8ad2e5..0000000 --- a/build/src/service/git/git-service.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/build/src/service/git/git.types.js b/build/src/service/git/git.types.js deleted file mode 100644 index cc62d84..0000000 --- a/build/src/service/git/git.types.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GitServiceType = void 0; -var GitServiceType; -(function (GitServiceType) { - GitServiceType["GITHUB"] = "github"; -})(GitServiceType = exports.GitServiceType || (exports.GitServiceType = {})); diff --git a/build/src/service/git/github/github-mapper.js b/build/src/service/git/github/github-mapper.js deleted file mode 100644 index 917c45e..0000000 --- a/build/src/service/git/github/github-mapper.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class GitHubMapper { - mapPullRequest(pr) { - return { - author: pr.user.login, - url: pr.url, - htmlUrl: pr.html_url, - title: pr.title, - body: pr.body ?? "", - state: pr.state, - merged: pr.merged ?? false, - mergedBy: pr.merged_by?.login, - reviewers: pr.requested_reviewers.filter(r => "login" in r).map((r => r?.login)), - sourceRepo: { - owner: pr.head.repo.full_name.split("/")[0], - project: pr.head.repo.full_name.split("/")[1], - cloneUrl: pr.head.repo.clone_url - }, - targetRepo: { - owner: pr.base.repo.full_name.split("/")[0], - project: pr.base.repo.full_name.split("/")[1], - cloneUrl: pr.base.repo.clone_url - }, - commits: [pr.merge_commit_sha] - }; - } -} -exports.default = GitHubMapper; diff --git a/build/src/service/git/github/github-service.js b/build/src/service/git/github/github-service.js deleted file mode 100644 index e8d82ee..0000000 --- a/build/src/service/git/github/github-service.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const github_mapper_1 = __importDefault(require("../../../service/git/github/github-mapper")); -const octokit_factory_1 = __importDefault(require("../../../service/git/github/octokit-factory")); -const logger_service_factory_1 = __importDefault(require("../../../service/logger/logger-service-factory")); -class GitHubService { - constructor(token) { - this.logger = logger_service_factory_1.default.getLogger(); - this.octokit = octokit_factory_1.default.getOctokit(token); - this.mapper = new github_mapper_1.default(); - } - // READ - async getPullRequest(owner, repo, prNumber) { - this.logger.info(`Getting pull request ${owner}/${repo}/${prNumber}.`); - const { data } = await this.octokit.rest.pulls.get({ - owner: owner, - repo: repo, - pull_number: prNumber - }); - return this.mapper.mapPullRequest(data); - } - async getPullRequestFromUrl(prUrl) { - const { owner, project } = this.getRepositoryFromPrUrl(prUrl); - return this.getPullRequest(owner, project, parseInt(prUrl.substring(prUrl.lastIndexOf("/") + 1, prUrl.length))); - } - // WRITE - async createPullRequest(backport) { - this.logger.info(`Creating pull request ${backport.head} -> ${backport.base}.`); - this.logger.info(`${JSON.stringify(backport, null, 2)}`); - const { data } = await this.octokit.pulls.create({ - owner: backport.owner, - repo: backport.repo, - head: backport.head, - base: backport.base, - title: backport.title, - body: backport.body - }); - if (backport.reviewers.length > 0) { - try { - await this.octokit.pulls.requestReviewers({ - owner: backport.owner, - repo: backport.repo, - pull_number: data.number, - reviewers: backport.reviewers - }); - } - catch (error) { - this.logger.error(`Error requesting reviewers: ${error}`); - } - } - } - // UTILS - /** - * Extract repository owner and project from the pull request url - * @param prUrl pull request url - * @returns {{owner: string, project: string}} - */ - getRepositoryFromPrUrl(prUrl) { - const elems = prUrl.split("/"); - return { - owner: elems[elems.length - 4], - project: elems[elems.length - 3] - }; - } -} -exports.default = GitHubService; diff --git a/build/src/service/git/github/octokit-factory.js b/build/src/service/git/github/octokit-factory.js deleted file mode 100644 index 1ba999e..0000000 --- a/build/src/service/git/github/octokit-factory.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const logger_service_factory_1 = __importDefault(require("../../../service/logger/logger-service-factory")); -const rest_1 = require("@octokit/rest"); -/** - * Singleton factory class for {Octokit} instance - */ -class OctokitFactory { - static getOctokit(token) { - if (!OctokitFactory.octokit) { - OctokitFactory.logger.info("Creating octokit instance."); - OctokitFactory.octokit = new rest_1.Octokit({ - auth: token, - userAgent: "lampajr/backporting" - }); - } - return OctokitFactory.octokit; - } -} -exports.default = OctokitFactory; -OctokitFactory.logger = logger_service_factory_1.default.getLogger(); diff --git a/build/src/service/logger/console-logger-service.js b/build/src/service/logger/console-logger-service.js deleted file mode 100644 index 87e913b..0000000 --- a/build/src/service/logger/console-logger-service.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const logger_1 = __importDefault(require("../../service/logger/logger")); -class ConsoleLoggerService { - constructor() { - this.logger = new logger_1.default(); - } - trace(message) { - this.logger.log("[TRACE]", message); - } - debug(message) { - this.logger.log("[DEBUG]", message); - } - info(message) { - this.logger.log("[INFO]", message); - } - warn(message) { - this.logger.log("[WARN]", message); - } - error(message) { - this.logger.log("[ERROR]", message); - } -} -exports.default = ConsoleLoggerService; diff --git a/build/src/service/logger/logger-service-factory.js b/build/src/service/logger/logger-service-factory.js deleted file mode 100644 index 3256000..0000000 --- a/build/src/service/logger/logger-service-factory.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const console_logger_service_1 = __importDefault(require("../../service/logger/console-logger-service")); -/** - * Singleton factory class - */ -class LoggerServiceFactory { - static getLogger() { - if (!LoggerServiceFactory.instance) { - LoggerServiceFactory.instance = new console_logger_service_1.default(); - } - return LoggerServiceFactory.instance; - } -} -exports.default = LoggerServiceFactory; diff --git a/build/src/service/logger/logger-service.js b/build/src/service/logger/logger-service.js deleted file mode 100644 index c8ad2e5..0000000 --- a/build/src/service/logger/logger-service.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/build/src/service/logger/logger.js b/build/src/service/logger/logger.js deleted file mode 100644 index 08bc7ca..0000000 --- a/build/src/service/logger/logger.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Common logger class based on the console.log functionality - */ -class Logger { - log(prefix, ...str) { - // eslint-disable-next-line no-console - console.log.apply(console, [prefix, ...str]); - } - emptyLine() { - this.log("", ""); - } -} -exports.default = Logger; diff --git a/build/test/service/git/github/github-service.test.js b/build/test/service/git/github/github-service.test.js deleted file mode 100644 index 4c24802..0000000 --- a/build/test/service/git/github/github-service.test.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const git_service_factory_1 = __importDefault(require("../../../../src/service/git/git-service-factory")); -const git_types_1 = require("../../../../src/service/git/git.types"); -const moctokit_data_1 = require("../../../support/moctokit/moctokit-data"); -const moctokit_support_1 = require("../../../support/moctokit/moctokit-support"); -describe("github service", () => { - let gitService; - beforeAll(() => { - // init git service - git_service_factory_1.default.init(git_types_1.GitServiceType.GITHUB, "whatever"); - }); - beforeEach(() => { - // mock github api calls - (0, moctokit_support_1.setupMoctokit)(); - gitService = git_service_factory_1.default.getService(); - }); - test("get pull request: success", async () => { - const res = await gitService.getPullRequest(moctokit_data_1.targetOwner, moctokit_data_1.repo, moctokit_data_1.mergedPullRequestFixture.number); - expect(res.sourceRepo).toEqual({ - owner: "fork", - project: "reponame", - cloneUrl: "https://github.com/fork/reponame.git" - }); - expect(res.targetRepo).toEqual({ - owner: "owner", - project: "reponame", - cloneUrl: "https://github.com/owner/reponame.git" - }); - expect(res.title).toBe("PR Title"); - expect(res.commits.length).toBe(1); - expect(res.commits).toEqual(["28f63db774185f4ec4b57cd9aaeb12dbfb4c9ecc"]); - }); -}); diff --git a/build/test/support/moctokit/moctokit-data.js b/build/test/support/moctokit/moctokit-data.js deleted file mode 100644 index 836ecb4..0000000 --- a/build/test/support/moctokit/moctokit-data.js +++ /dev/null @@ -1,899 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.notMergedPullRequestFixture = exports.mergedPullRequestFixture = exports.notFoundPullRequestNumber = exports.repo = exports.sourceOwner = exports.targetOwner = void 0; -exports.targetOwner = "owner"; -exports.sourceOwner = "fork"; -exports.repo = "reponame"; -exports.notFoundPullRequestNumber = 1; -exports.mergedPullRequestFixture = { - "url": "https://api.github.com/repos/owner/reponame/pulls/2368", - "id": 1137188271, - "node_id": "PR_kwDOABTq6s5DyB2v", - "html_url": "https://github.com/owner/reponame/pull/2368", - "diff_url": "https://github.com/owner/reponame/pull/2368.diff", - "patch_url": "https://github.com/owner/reponame/pull/2368.patch", - "issue_url": "https://api.github.com/repos/owner/reponame/issues/2368", - "number": 2368, - "state": "closed", - "locked": false, - "title": "PR Title", - "user": { - "login": "gh-user", - "id": 11995863, - "node_id": "MDQ6VXNlcjExOTk1ODYz", - "avatar_url": "https://avatars.githubusercontent.com/u/11995863?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/gh-user", - "html_url": "https://github.com/gh-user", - "followers_url": "https://api.github.com/users/gh-user/followers", - "following_url": "https://api.github.com/users/gh-user/following{/other_user}", - "gists_url": "https://api.github.com/users/gh-user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/gh-user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/gh-user/subscriptions", - "organizations_url": "https://api.github.com/users/gh-user/orgs", - "repos_url": "https://api.github.com/users/gh-user/repos", - "events_url": "https://api.github.com/users/gh-user/events{/privacy}", - "received_events_url": "https://api.github.com/users/gh-user/received_events", - "type": "User", - "site_admin": false - }, - "body": "Please review and merge", - "created_at": "2022-11-28T08:43:09Z", - "updated_at": "2022-11-28T10:11:53Z", - "closed_at": "2022-11-28T10:11:52Z", - "merged_at": "2022-11-28T10:11:52Z", - "merge_commit_sha": "28f63db774185f4ec4b57cd9aaeb12dbfb4c9ecc", - "assignee": null, - "assignees": [], - "requested_reviewers": [ - { - "login": "requested-gh-user", - "id": 1422582, - "node_id": "MDQ6VXNlcjE0MjI1ODI=", - "avatar_url": "https://avatars.githubusercontent.com/u/1422582?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/requested-gh-user", - "html_url": "https://github.com/requested-gh-user", - "followers_url": "https://api.github.com/users/requested-gh-user/followers", - "following_url": "https://api.github.com/users/requested-gh-user/following{/other_user}", - "gists_url": "https://api.github.com/users/requested-gh-user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/requested-gh-user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/requested-gh-user/subscriptions", - "organizations_url": "https://api.github.com/users/requested-gh-user/orgs", - "repos_url": "https://api.github.com/users/requested-gh-user/repos", - "events_url": "https://api.github.com/users/requested-gh-user/events{/privacy}", - "received_events_url": "https://api.github.com/users/requested-gh-user/received_events", - "type": "User", - "site_admin": false - }, - { - "login": "gh-user", - "id": 1422582, - "node_id": "MDQ6VXNlcjE0MjI1ODI=", - "avatar_url": "https://avatars.githubusercontent.com/u/1422582?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/gh-user", - "html_url": "https://github.com/gh-user", - "followers_url": "https://api.github.com/users/gh-user/followers", - "following_url": "https://api.github.com/users/gh-user/following{/other_user}", - "gists_url": "https://api.github.com/users/gh-user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/gh-user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/gh-user/subscriptions", - "organizations_url": "https://api.github.com/users/gh-user/orgs", - "repos_url": "https://api.github.com/users/gh-user/repos", - "events_url": "https://api.github.com/users/gh-user/events{/privacy}", - "received_events_url": "https://api.github.com/users/gh-user/received_events", - "type": "User", - "site_admin": false - } - ], - "requested_teams": [], - "labels": [], - "milestone": null, - "draft": false, - "commits_url": "https://api.github.com/repos/owner/reponame/pulls/2368/commits", - "review_comments_url": "https://api.github.com/repos/owner/reponame/pulls/2368/comments", - "review_comment_url": "https://api.github.com/repos/owner/reponame/pulls/comments{/number}", - "comments_url": "https://api.github.com/repos/owner/reponame/issues/2368/comments", - "statuses_url": "https://api.github.com/repos/owner/reponame/statuses/91748965051fae1330ad58d15cf694e103267c87", - "head": { - "label": "kiegroup:bump-8.31.x-drools-8.31.0.Final", - "ref": "bump-8.31.x-drools-8.31.0.Final", - "sha": "91748965051fae1330ad58d15cf694e103267c87", - "user": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 1370858, - "node_id": "MDEwOlJlcG9zaXRvcnkxMzcwODU4", - "name": "reponame", - "full_name": "fork/reponame", - "private": false, - "owner": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "html_url": "https://github.com/fork/reponame", - "description": "AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.", - "fork": false, - "url": "https://api.github.com/repos/fork/reponame", - "forks_url": "https://api.github.com/repos/fork/reponame/forks", - "keys_url": "https://api.github.com/repos/fork/reponame/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/fork/reponame/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/fork/reponame/teams", - "hooks_url": "https://api.github.com/repos/fork/reponame/hooks", - "issue_events_url": "https://api.github.com/repos/fork/reponame/issues/events{/number}", - "events_url": "https://api.github.com/repos/fork/reponame/events", - "assignees_url": "https://api.github.com/repos/fork/reponame/assignees{/user}", - "branches_url": "https://api.github.com/repos/fork/reponame/branches{/branch}", - "tags_url": "https://api.github.com/repos/fork/reponame/tags", - "blobs_url": "https://api.github.com/repos/fork/reponame/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/fork/reponame/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/fork/reponame/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/fork/reponame/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/fork/reponame/statuses/{sha}", - "languages_url": "https://api.github.com/repos/fork/reponame/languages", - "stargazers_url": "https://api.github.com/repos/fork/reponame/stargazers", - "contributors_url": "https://api.github.com/repos/fork/reponame/contributors", - "subscribers_url": "https://api.github.com/repos/fork/reponame/subscribers", - "subscription_url": "https://api.github.com/repos/fork/reponame/subscription", - "commits_url": "https://api.github.com/repos/fork/reponame/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/fork/reponame/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/fork/reponame/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/fork/reponame/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/fork/reponame/contents/{+path}", - "compare_url": "https://api.github.com/repos/fork/reponame/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/fork/reponame/merges", - "archive_url": "https://api.github.com/repos/fork/reponame/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/fork/reponame/downloads", - "issues_url": "https://api.github.com/repos/fork/reponame/issues{/number}", - "pulls_url": "https://api.github.com/repos/fork/reponame/pulls{/number}", - "milestones_url": "https://api.github.com/repos/fork/reponame/milestones{/number}", - "notifications_url": "https://api.github.com/repos/fork/reponame/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/fork/reponame/labels{/name}", - "releases_url": "https://api.github.com/repos/fork/reponame/releases{/id}", - "deployments_url": "https://api.github.com/repos/fork/reponame/deployments", - "created_at": "2011-02-15T19:38:23Z", - "updated_at": "2022-11-28T05:01:47Z", - "pushed_at": "2022-11-28T10:50:51Z", - "git_url": "git://github.com/fork/reponame.git", - "ssh_url": "git@github.com:fork/reponame.git", - "clone_url": "https://github.com/fork/reponame.git", - "svn_url": "https://github.com/fork/reponame", - "homepage": "https://www.reponame.org", - "size": 238339, - "stargazers_count": 2811, - "watchers_count": 2811, - "language": "Java", - "has_issues": false, - "has_projects": false, - "has_downloads": true, - "has_wiki": false, - "has_pages": false, - "has_discussions": false, - "forks_count": 878, - "mirror_url": null, - "archived": false, - "disabled": false, - "open_issues_count": 30, - "license": { - "key": "apache-2.0", - "name": "Apache License 2.0", - "spdx_id": "Apache-2.0", - "url": "https://api.github.com/licenses/apache-2.0", - "node_id": "MDc6TGljZW5zZTI=" - }, - "allow_forking": true, - "is_template": false, - "web_commit_signoff_required": false, - "topics": [ - "artificial-intelligence", - "branch-and-bound", - "constraint-programming", - "constraint-satisfaction-problem", - "constraint-solver", - "constraints", - "employee-rostering", - "java", - "local-search", - "mathematical-optimization", - "metaheuristics", - "optimization", - "rostering", - "scheduling", - "simulated-annealing", - "solver", - "tabu-search", - "traveling-salesman", - "traveling-salesman-problem", - "vehicle-routing-problem" - ], - "visibility": "public", - "forks": 878, - "open_issues": 30, - "watchers": 2811, - "default_branch": "main" - } - }, - "base": { - "label": "kiegroup:8.31.x", - "ref": "8.31.x", - "sha": "8cfc286765cb01c84a1d62c65519fa8032bfecbd", - "user": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 1370858, - "node_id": "MDEwOlJlcG9zaXRvcnkxMzcwODU4", - "name": "reponame", - "full_name": "owner/reponame", - "private": false, - "owner": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "html_url": "https://github.com/owner/reponame", - "description": "AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.", - "fork": false, - "url": "https://api.github.com/repos/owner/reponame", - "forks_url": "https://api.github.com/repos/owner/reponame/forks", - "keys_url": "https://api.github.com/repos/owner/reponame/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/owner/reponame/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/owner/reponame/teams", - "hooks_url": "https://api.github.com/repos/owner/reponame/hooks", - "issue_events_url": "https://api.github.com/repos/owner/reponame/issues/events{/number}", - "events_url": "https://api.github.com/repos/owner/reponame/events", - "assignees_url": "https://api.github.com/repos/owner/reponame/assignees{/user}", - "branches_url": "https://api.github.com/repos/owner/reponame/branches{/branch}", - "tags_url": "https://api.github.com/repos/owner/reponame/tags", - "blobs_url": "https://api.github.com/repos/owner/reponame/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/owner/reponame/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/owner/reponame/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/owner/reponame/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/owner/reponame/statuses/{sha}", - "languages_url": "https://api.github.com/repos/owner/reponame/languages", - "stargazers_url": "https://api.github.com/repos/owner/reponame/stargazers", - "contributors_url": "https://api.github.com/repos/owner/reponame/contributors", - "subscribers_url": "https://api.github.com/repos/owner/reponame/subscribers", - "subscription_url": "https://api.github.com/repos/owner/reponame/subscription", - "commits_url": "https://api.github.com/repos/owner/reponame/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/owner/reponame/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/owner/reponame/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/owner/reponame/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/owner/reponame/contents/{+path}", - "compare_url": "https://api.github.com/repos/owner/reponame/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/owner/reponame/merges", - "archive_url": "https://api.github.com/repos/owner/reponame/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/owner/reponame/downloads", - "issues_url": "https://api.github.com/repos/owner/reponame/issues{/number}", - "pulls_url": "https://api.github.com/repos/owner/reponame/pulls{/number}", - "milestones_url": "https://api.github.com/repos/owner/reponame/milestones{/number}", - "notifications_url": "https://api.github.com/repos/owner/reponame/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/owner/reponame/labels{/name}", - "releases_url": "https://api.github.com/repos/owner/reponame/releases{/id}", - "deployments_url": "https://api.github.com/repos/owner/reponame/deployments", - "created_at": "2011-02-15T19:38:23Z", - "updated_at": "2022-11-28T05:01:47Z", - "pushed_at": "2022-11-28T10:50:51Z", - "git_url": "git://github.com/owner/reponame.git", - "ssh_url": "git@github.com:owner/reponame.git", - "clone_url": "https://github.com/owner/reponame.git", - "svn_url": "https://github.com/owner/reponame", - "homepage": "https://www.reponame.org", - "size": 238339, - "stargazers_count": 2811, - "watchers_count": 2811, - "language": "Java", - "has_issues": false, - "has_projects": false, - "has_downloads": true, - "has_wiki": false, - "has_pages": false, - "has_discussions": false, - "forks_count": 878, - "mirror_url": null, - "archived": false, - "disabled": false, - "open_issues_count": 30, - "license": { - "key": "apache-2.0", - "name": "Apache License 2.0", - "spdx_id": "Apache-2.0", - "url": "https://api.github.com/licenses/apache-2.0", - "node_id": "MDc6TGljZW5zZTI=" - }, - "allow_forking": true, - "is_template": false, - "web_commit_signoff_required": false, - "topics": [ - "artificial-intelligence", - "branch-and-bound", - "constraint-programming", - "constraint-satisfaction-problem", - "constraint-solver", - "constraints", - "employee-rostering", - "java", - "local-search", - "mathematical-optimization", - "metaheuristics", - "optimization", - "rostering", - "scheduling", - "simulated-annealing", - "solver", - "tabu-search", - "traveling-salesman", - "traveling-salesman-problem", - "vehicle-routing-problem" - ], - "visibility": "public", - "forks": 878, - "open_issues": 30, - "watchers": 2811, - "default_branch": "main" - } - }, - "_links": { - "self": { - "href": "https://api.github.com/repos/owner/reponame/pulls/2368" - }, - "html": { - "href": "https://github.com/owner/reponame/pull/2368" - }, - "issue": { - "href": "https://api.github.com/repos/owner/reponame/issues/2368" - }, - "comments": { - "href": "https://api.github.com/repos/owner/reponame/issues/2368/comments" - }, - "review_comments": { - "href": "https://api.github.com/repos/owner/reponame/pulls/2368/comments" - }, - "review_comment": { - "href": "https://api.github.com/repos/owner/reponame/pulls/comments{/number}" - }, - "commits": { - "href": "https://api.github.com/repos/owner/reponame/pulls/2368/commits" - }, - "statuses": { - "href": "https://api.github.com/repos/owner/reponame/statuses/91748965051fae1330ad58d15cf694e103267c87" - } - }, - "author_association": "CONTRIBUTOR", - "auto_merge": null, - "active_lock_reason": null, - "merged": true, - "mergeable": null, - "rebaseable": null, - "mergeable_state": "unknown", - "merged_by": { - "login": "that-s-a-user", - "id": 17157711, - "node_id": "MDQ6VXNlcjE3MTU3NzEx", - "avatar_url": "https://avatars.githubusercontent.com/u/17157711?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/that-s-a-user", - "html_url": "https://github.com/that-s-a-user", - "followers_url": "https://api.github.com/users/that-s-a-user/followers", - "following_url": "https://api.github.com/users/that-s-a-user/following{/other_user}", - "gists_url": "https://api.github.com/users/that-s-a-user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/that-s-a-user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/that-s-a-user/subscriptions", - "organizations_url": "https://api.github.com/users/that-s-a-user/orgs", - "repos_url": "https://api.github.com/users/that-s-a-user/repos", - "events_url": "https://api.github.com/users/that-s-a-user/events{/privacy}", - "received_events_url": "https://api.github.com/users/that-s-a-user/received_events", - "type": "User", - "site_admin": false - }, - "comments": 0, - "review_comments": 0, - "maintainer_can_modify": false, - "commits": 2, - "additions": 2, - "deletions": 2, - "changed_files": 2 -}; -exports.notMergedPullRequestFixture = { - "url": "https://api.github.com/repos/owner/reponame/pulls/4444", - "id": 1137188271, - "node_id": "PR_kwDOABTq6s5DyB2v", - "html_url": "https://github.com/owner/reponame/pull/4444", - "diff_url": "https://github.com/owner/reponame/pull/4444.diff", - "patch_url": "https://github.com/owner/reponame/pull/4444.patch", - "issue_url": "https://api.github.com/repos/owner/reponame/issues/4444", - "number": 4444, - "state": "closed", - "locked": false, - "title": "PR Title", - "user": { - "login": "gh-user", - "id": 11995863, - "node_id": "MDQ6VXNlcjExOTk1ODYz", - "avatar_url": "https://avatars.githubusercontent.com/u/11995863?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/gh-user", - "html_url": "https://github.com/gh-user", - "followers_url": "https://api.github.com/users/gh-user/followers", - "following_url": "https://api.github.com/users/gh-user/following{/other_user}", - "gists_url": "https://api.github.com/users/gh-user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/gh-user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/gh-user/subscriptions", - "organizations_url": "https://api.github.com/users/gh-user/orgs", - "repos_url": "https://api.github.com/users/gh-user/repos", - "events_url": "https://api.github.com/users/gh-user/events{/privacy}", - "received_events_url": "https://api.github.com/users/gh-user/received_events", - "type": "User", - "site_admin": false - }, - "body": "Please review and merge", - "created_at": "2022-11-28T08:43:09Z", - "updated_at": "2022-11-28T10:11:53Z", - "closed_at": "2022-11-28T10:11:52Z", - "merged_at": "2022-11-28T10:11:52Z", - "merge_commit_sha": "28f63db774185f4ec4b57cd9aaeb12dbfb4c9ecc", - "assignee": null, - "assignees": [], - "requested_reviewers": [ - { - "login": "gh-user", - "id": 1422582, - "node_id": "MDQ6VXNlcjE0MjI1ODI=", - "avatar_url": "https://avatars.githubusercontent.com/u/1422582?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/gh-user", - "html_url": "https://github.com/gh-user", - "followers_url": "https://api.github.com/users/gh-user/followers", - "following_url": "https://api.github.com/users/gh-user/following{/other_user}", - "gists_url": "https://api.github.com/users/gh-user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/gh-user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/gh-user/subscriptions", - "organizations_url": "https://api.github.com/users/gh-user/orgs", - "repos_url": "https://api.github.com/users/gh-user/repos", - "events_url": "https://api.github.com/users/gh-user/events{/privacy}", - "received_events_url": "https://api.github.com/users/gh-user/received_events", - "type": "User", - "site_admin": false - } - ], - "requested_teams": [], - "labels": [], - "milestone": null, - "draft": false, - "commits_url": "https://api.github.com/repos/owner/reponame/pulls/4444/commits", - "review_comments_url": "https://api.github.com/repos/owner/reponame/pulls/4444/comments", - "review_comment_url": "https://api.github.com/repos/owner/reponame/pulls/comments{/number}", - "comments_url": "https://api.github.com/repos/owner/reponame/issues/4444/comments", - "statuses_url": "https://api.github.com/repos/owner/reponame/statuses/91748965051fae1330ad58d15cf694e103267c87", - "head": { - "label": "kiegroup:bump-8.31.x-drools-8.31.0.Final", - "ref": "bump-8.31.x-drools-8.31.0.Final", - "sha": "91748965051fae1330ad58d15cf694e103267c87", - "user": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 1370858, - "node_id": "MDEwOlJlcG9zaXRvcnkxMzcwODU4", - "name": "reponame", - "full_name": "fork/reponame", - "private": false, - "owner": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "html_url": "https://github.com/fork/reponame", - "description": "AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.", - "fork": false, - "url": "https://api.github.com/repos/fork/reponame", - "forks_url": "https://api.github.com/repos/fork/reponame/forks", - "keys_url": "https://api.github.com/repos/fork/reponame/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/fork/reponame/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/fork/reponame/teams", - "hooks_url": "https://api.github.com/repos/fork/reponame/hooks", - "issue_events_url": "https://api.github.com/repos/fork/reponame/issues/events{/number}", - "events_url": "https://api.github.com/repos/fork/reponame/events", - "assignees_url": "https://api.github.com/repos/fork/reponame/assignees{/user}", - "branches_url": "https://api.github.com/repos/fork/reponame/branches{/branch}", - "tags_url": "https://api.github.com/repos/fork/reponame/tags", - "blobs_url": "https://api.github.com/repos/fork/reponame/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/fork/reponame/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/fork/reponame/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/fork/reponame/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/fork/reponame/statuses/{sha}", - "languages_url": "https://api.github.com/repos/fork/reponame/languages", - "stargazers_url": "https://api.github.com/repos/fork/reponame/stargazers", - "contributors_url": "https://api.github.com/repos/fork/reponame/contributors", - "subscribers_url": "https://api.github.com/repos/fork/reponame/subscribers", - "subscription_url": "https://api.github.com/repos/fork/reponame/subscription", - "commits_url": "https://api.github.com/repos/fork/reponame/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/fork/reponame/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/fork/reponame/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/fork/reponame/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/fork/reponame/contents/{+path}", - "compare_url": "https://api.github.com/repos/fork/reponame/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/fork/reponame/merges", - "archive_url": "https://api.github.com/repos/fork/reponame/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/fork/reponame/downloads", - "issues_url": "https://api.github.com/repos/fork/reponame/issues{/number}", - "pulls_url": "https://api.github.com/repos/fork/reponame/pulls{/number}", - "milestones_url": "https://api.github.com/repos/fork/reponame/milestones{/number}", - "notifications_url": "https://api.github.com/repos/fork/reponame/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/fork/reponame/labels{/name}", - "releases_url": "https://api.github.com/repos/fork/reponame/releases{/id}", - "deployments_url": "https://api.github.com/repos/fork/reponame/deployments", - "created_at": "2011-02-15T19:38:23Z", - "updated_at": "2022-11-28T05:01:47Z", - "pushed_at": "2022-11-28T10:50:51Z", - "git_url": "git://github.com/fork/reponame.git", - "ssh_url": "git@github.com:fork/reponame.git", - "clone_url": "https://github.com/fork/reponame.git", - "svn_url": "https://github.com/fork/reponame", - "homepage": "https://www.reponame.org", - "size": 238339, - "stargazers_count": 2811, - "watchers_count": 2811, - "language": "Java", - "has_issues": false, - "has_projects": false, - "has_downloads": true, - "has_wiki": false, - "has_pages": false, - "has_discussions": false, - "forks_count": 878, - "mirror_url": null, - "archived": false, - "disabled": false, - "open_issues_count": 30, - "license": { - "key": "apache-2.0", - "name": "Apache License 2.0", - "spdx_id": "Apache-2.0", - "url": "https://api.github.com/licenses/apache-2.0", - "node_id": "MDc6TGljZW5zZTI=" - }, - "allow_forking": true, - "is_template": false, - "web_commit_signoff_required": false, - "topics": [ - "artificial-intelligence", - "branch-and-bound", - "constraint-programming", - "constraint-satisfaction-problem", - "constraint-solver", - "constraints", - "employee-rostering", - "java", - "local-search", - "mathematical-optimization", - "metaheuristics", - "optimization", - "rostering", - "scheduling", - "simulated-annealing", - "solver", - "tabu-search", - "traveling-salesman", - "traveling-salesman-problem", - "vehicle-routing-problem" - ], - "visibility": "public", - "forks": 878, - "open_issues": 30, - "watchers": 2811, - "default_branch": "main" - } - }, - "base": { - "label": "kiegroup:8.31.x", - "ref": "8.31.x", - "sha": "8cfc286765cb01c84a1d62c65519fa8032bfecbd", - "user": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 1370858, - "node_id": "MDEwOlJlcG9zaXRvcnkxMzcwODU4", - "name": "reponame", - "full_name": "owner/reponame", - "private": false, - "owner": { - "login": "kiegroup", - "id": 517980, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjUxNzk4MA==", - "avatar_url": "https://avatars.githubusercontent.com/u/517980?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kiegroup", - "html_url": "https://github.com/kiegroup", - "followers_url": "https://api.github.com/users/kiegroup/followers", - "following_url": "https://api.github.com/users/kiegroup/following{/other_user}", - "gists_url": "https://api.github.com/users/kiegroup/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kiegroup/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kiegroup/subscriptions", - "organizations_url": "https://api.github.com/users/kiegroup/orgs", - "repos_url": "https://api.github.com/users/kiegroup/repos", - "events_url": "https://api.github.com/users/kiegroup/events{/privacy}", - "received_events_url": "https://api.github.com/users/kiegroup/received_events", - "type": "Organization", - "site_admin": false - }, - "html_url": "https://github.com/owner/reponame", - "description": "AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.", - "fork": false, - "url": "https://api.github.com/repos/owner/reponame", - "forks_url": "https://api.github.com/repos/owner/reponame/forks", - "keys_url": "https://api.github.com/repos/owner/reponame/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/owner/reponame/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/owner/reponame/teams", - "hooks_url": "https://api.github.com/repos/owner/reponame/hooks", - "issue_events_url": "https://api.github.com/repos/owner/reponame/issues/events{/number}", - "events_url": "https://api.github.com/repos/owner/reponame/events", - "assignees_url": "https://api.github.com/repos/owner/reponame/assignees{/user}", - "branches_url": "https://api.github.com/repos/owner/reponame/branches{/branch}", - "tags_url": "https://api.github.com/repos/owner/reponame/tags", - "blobs_url": "https://api.github.com/repos/owner/reponame/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/owner/reponame/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/owner/reponame/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/owner/reponame/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/owner/reponame/statuses/{sha}", - "languages_url": "https://api.github.com/repos/owner/reponame/languages", - "stargazers_url": "https://api.github.com/repos/owner/reponame/stargazers", - "contributors_url": "https://api.github.com/repos/owner/reponame/contributors", - "subscribers_url": "https://api.github.com/repos/owner/reponame/subscribers", - "subscription_url": "https://api.github.com/repos/owner/reponame/subscription", - "commits_url": "https://api.github.com/repos/owner/reponame/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/owner/reponame/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/owner/reponame/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/owner/reponame/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/owner/reponame/contents/{+path}", - "compare_url": "https://api.github.com/repos/owner/reponame/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/owner/reponame/merges", - "archive_url": "https://api.github.com/repos/owner/reponame/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/owner/reponame/downloads", - "issues_url": "https://api.github.com/repos/owner/reponame/issues{/number}", - "pulls_url": "https://api.github.com/repos/owner/reponame/pulls{/number}", - "milestones_url": "https://api.github.com/repos/owner/reponame/milestones{/number}", - "notifications_url": "https://api.github.com/repos/owner/reponame/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/owner/reponame/labels{/name}", - "releases_url": "https://api.github.com/repos/owner/reponame/releases{/id}", - "deployments_url": "https://api.github.com/repos/owner/reponame/deployments", - "created_at": "2011-02-15T19:38:23Z", - "updated_at": "2022-11-28T05:01:47Z", - "pushed_at": "2022-11-28T10:50:51Z", - "git_url": "git://github.com/owner/reponame.git", - "ssh_url": "git@github.com:owner/reponame.git", - "clone_url": "https://github.com/owner/reponame.git", - "svn_url": "https://github.com/owner/reponame", - "homepage": "https://www.reponame.org", - "size": 238339, - "stargazers_count": 2811, - "watchers_count": 2811, - "language": "Java", - "has_issues": false, - "has_projects": false, - "has_downloads": true, - "has_wiki": false, - "has_pages": false, - "has_discussions": false, - "forks_count": 878, - "mirror_url": null, - "archived": false, - "disabled": false, - "open_issues_count": 30, - "license": { - "key": "apache-2.0", - "name": "Apache License 2.0", - "spdx_id": "Apache-2.0", - "url": "https://api.github.com/licenses/apache-2.0", - "node_id": "MDc6TGljZW5zZTI=" - }, - "allow_forking": true, - "is_template": false, - "web_commit_signoff_required": false, - "topics": [ - "artificial-intelligence", - "branch-and-bound", - "constraint-programming", - "constraint-satisfaction-problem", - "constraint-solver", - "constraints", - "employee-rostering", - "java", - "local-search", - "mathematical-optimization", - "metaheuristics", - "optimization", - "rostering", - "scheduling", - "simulated-annealing", - "solver", - "tabu-search", - "traveling-salesman", - "traveling-salesman-problem", - "vehicle-routing-problem" - ], - "visibility": "public", - "forks": 878, - "open_issues": 30, - "watchers": 2811, - "default_branch": "main" - } - }, - "_links": { - "self": { - "href": "https://api.github.com/repos/owner/reponame/pulls/4444" - }, - "html": { - "href": "https://github.com/owner/reponame/pull/4444" - }, - "issue": { - "href": "https://api.github.com/repos/owner/reponame/issues/4444" - }, - "comments": { - "href": "https://api.github.com/repos/owner/reponame/issues/4444/comments" - }, - "review_comments": { - "href": "https://api.github.com/repos/owner/reponame/pulls/4444/comments" - }, - "review_comment": { - "href": "https://api.github.com/repos/owner/reponame/pulls/comments{/number}" - }, - "commits": { - "href": "https://api.github.com/repos/owner/reponame/pulls/4444/commits" - }, - "statuses": { - "href": "https://api.github.com/repos/owner/reponame/statuses/91748965051fae1330ad58d15cf694e103267c87" - } - }, - "author_association": "CONTRIBUTOR", - "auto_merge": null, - "active_lock_reason": null, - "merged": null, - "mergeable": null, - "rebaseable": null, - "mergeable_state": "unknown", - "merged_by": { - "login": "that-s-a-user", - "id": 17157711, - "node_id": "MDQ6VXNlcjE3MTU3NzEx", - "avatar_url": "https://avatars.githubusercontent.com/u/17157711?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/that-s-a-user", - "html_url": "https://github.com/that-s-a-user", - "followers_url": "https://api.github.com/users/that-s-a-user/followers", - "following_url": "https://api.github.com/users/that-s-a-user/following{/other_user}", - "gists_url": "https://api.github.com/users/that-s-a-user/gists{/gist_id}", - "starred_url": "https://api.github.com/users/that-s-a-user/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/that-s-a-user/subscriptions", - "organizations_url": "https://api.github.com/users/that-s-a-user/orgs", - "repos_url": "https://api.github.com/users/that-s-a-user/repos", - "events_url": "https://api.github.com/users/that-s-a-user/events{/privacy}", - "received_events_url": "https://api.github.com/users/that-s-a-user/received_events", - "type": "User", - "site_admin": false - }, - "comments": 0, - "review_comments": 0, - "maintainer_can_modify": false, - "commits": 2, - "additions": 2, - "deletions": 2, - "changed_files": 2 -}; diff --git a/build/test/support/moctokit/moctokit-support.js b/build/test/support/moctokit/moctokit-support.js deleted file mode 100644 index 9330baa..0000000 --- a/build/test/support/moctokit/moctokit-support.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.setupMoctokit = void 0; -const logger_service_factory_1 = __importDefault(require("../../../src/service/logger/logger-service-factory")); -const mock_github_1 = require("@kie/mock-github"); -const moctokit_data_1 = require("./moctokit-data"); -const logger = logger_service_factory_1.default.getLogger(); -const setupMoctokit = () => { - logger.debug("Setting up moctokit."); - const mock = new mock_github_1.Moctokit(); - // setup the mock requests here - // valid requests - mock.rest.pulls - .get({ - owner: moctokit_data_1.targetOwner, - repo: moctokit_data_1.repo, - pull_number: moctokit_data_1.mergedPullRequestFixture.number - }) - .reply({ - status: 200, - data: moctokit_data_1.mergedPullRequestFixture - }); - mock.rest.pulls - .get({ - owner: moctokit_data_1.targetOwner, - repo: moctokit_data_1.repo, - pull_number: moctokit_data_1.notMergedPullRequestFixture.number - }) - .reply({ - status: 200, - data: moctokit_data_1.notMergedPullRequestFixture - }); - mock.rest.pulls - .create() - .reply({ - status: 201, - data: moctokit_data_1.mergedPullRequestFixture - }); - mock.rest.pulls - .requestReviewers() - .reply({ - status: 201, - data: moctokit_data_1.mergedPullRequestFixture - }); - // invalid requests - mock.rest.pulls - .get({ - owner: moctokit_data_1.targetOwner, - repo: moctokit_data_1.repo, - pull_number: moctokit_data_1.notFoundPullRequestNumber - }) - .reply({ - status: 404, - data: { - message: "Not found" - } - }); - return mock; -}; -exports.setupMoctokit = setupMoctokit;