-
-
Notifications
You must be signed in to change notification settings - Fork 80
feat: drop dependency on gh #1000
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
4d1526d
[WIP] feat: drop dependency on gh
JoshuaKGoldberg 01fc6e6
Update docs and most of the way through source
JoshuaKGoldberg 53980af
Merge branch 'main' into drop-the-gh
JoshuaKGoldberg 79c361c
Merge branch 'main' into drop-the-gh
JoshuaKGoldberg b2564df
Fix build and lint
JoshuaKGoldberg 068f8e8
Switched getGithub to trying two strategies
JoshuaKGoldberg 2cac08e
Also fixed readOptions defaulting
JoshuaKGoldberg 2f0bac3
Merge branch 'main'
JoshuaKGoldberg 197107a
more helpful comment
JoshuaKGoldberg 43feaf6
Fix bug with passing options
JoshuaKGoldberg 7fb6308
fix: remove # from label POST color
JoshuaKGoldberg ccfd600
Merge branch 'main'
JoshuaKGoldberg fb60729
Merge branch 'main'
JoshuaKGoldberg fe45ab1
Update unit test
JoshuaKGoldberg 270a1ee
lint/fix
JoshuaKGoldberg 40ebcb7
nice little helper try/catch for creating repo
JoshuaKGoldberg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
import chalk from "chalk"; | ||
import { Octokit } from "octokit"; | ||
import { beforeEach, describe, expect, it, MockInstance, vi } from "vitest"; | ||
|
||
import { getGitHubUserAsAllContributor } from "./getGitHubUserAsAllContributor.js"; | ||
|
@@ -13,6 +14,11 @@ vi.mock("execa", () => ({ | |
|
||
let mockConsoleWarn: MockInstance; | ||
|
||
const createMockOctokit = (getAuthenticated: MockInstance = vi.fn()) => | ||
({ | ||
rest: { users: { getAuthenticated } }, | ||
}) as unknown as Octokit; | ||
|
||
const owner = "TestOwner"; | ||
|
||
describe("getGitHubUserAsAllContributor", () => { | ||
|
@@ -23,7 +29,8 @@ describe("getGitHubUserAsAllContributor", () => { | |
}); | ||
|
||
it("defaults to owner with a log when options.offline is true", async () => { | ||
const actual = await getGitHubUserAsAllContributor({ | ||
const octokit = createMockOctokit(); | ||
const actual = await getGitHubUserAsAllContributor(octokit, { | ||
offline: true, | ||
owner, | ||
}); | ||
|
@@ -36,23 +43,24 @@ describe("getGitHubUserAsAllContributor", () => { | |
); | ||
}); | ||
|
||
it("defaults to owner without a log when octokit is undefined", async () => { | ||
const actual = await getGitHubUserAsAllContributor(undefined, { owner }); | ||
|
||
expect(actual).toEqual(owner); | ||
expect(mockConsoleWarn).not.toHaveBeenCalled(); | ||
}); | ||
|
||
it("uses the user from gh api user when it succeeds", async () => { | ||
const login = "gh-api-user"; | ||
const octokit = createMockOctokit( | ||
vi.fn().mockResolvedValue({ data: { login } }), | ||
); | ||
|
||
mock$.mockResolvedValueOnce({ | ||
stdout: JSON.stringify({ login }), | ||
}); | ||
|
||
await getGitHubUserAsAllContributor({ owner }); | ||
await getGitHubUserAsAllContributor(octokit, { owner }); | ||
|
||
expect(mockConsoleWarn).not.toHaveBeenCalled(); | ||
expect(mock$.mock.calls).toMatchInlineSnapshot(` | ||
[ | ||
[ | ||
[ | ||
"gh api user", | ||
], | ||
], | ||
[ | ||
[ | ||
"npx -y [email protected] add ", | ||
|
@@ -67,9 +75,11 @@ describe("getGitHubUserAsAllContributor", () => { | |
}); | ||
|
||
it("defaults the user to the owner when gh api user fails", async () => { | ||
mock$.mockRejectedValueOnce({}); | ||
const octokit = createMockOctokit( | ||
vi.fn().mockRejectedValue(new Error("Oh no!")), | ||
); | ||
|
||
await getGitHubUserAsAllContributor({ owner }); | ||
await getGitHubUserAsAllContributor(octokit, { owner }); | ||
|
||
expect(mockConsoleWarn).toHaveBeenCalledWith( | ||
chalk.gray( | ||
|
@@ -78,11 +88,6 @@ describe("getGitHubUserAsAllContributor", () => { | |
); | ||
expect(mock$.mock.calls).toMatchInlineSnapshot(` | ||
[ | ||
[ | ||
[ | ||
"gh api user", | ||
], | ||
], | ||
[ | ||
[ | ||
"npx -y [email protected] add ", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not strictly necessary for this PR, but the bad error was bugging me when I was testing out permissions. 😄