feat: github-auth flag (#4926)
* feat: github-auth flag This will allow injecting credentials into code-server if you already have them. * Update Code Contains the GitHub auth changes. * Add e2e test for GitHub token
This commit is contained in:
38
test/e2e/github.test.ts
Normal file
38
test/e2e/github.test.ts
Normal file
@ -0,0 +1,38 @@
|
||||
import { test as base } from "@playwright/test"
|
||||
import { describe, expect, test } from "./baseFixture"
|
||||
|
||||
if (process.env.GITHUB_TOKEN) {
|
||||
describe("GitHub token", true, [], {}, () => {
|
||||
test("should be logged in to pull requests extension", async ({ codeServerPage }) => {
|
||||
await codeServerPage.exec("git init")
|
||||
await codeServerPage.exec("git remote add origin https://github.com/coder/code-server")
|
||||
await codeServerPage.installExtension("GitHub.vscode-pull-request-github")
|
||||
await codeServerPage.executeCommandViaMenus("View: Show Github")
|
||||
await codeServerPage.page.click("text=Sign in")
|
||||
await codeServerPage.page.click("text=Allow")
|
||||
// It should ask to select an account, one of which will be the one we
|
||||
// pre-injected.
|
||||
expect(await codeServerPage.page.isVisible("text=Select an account")).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
describe("No GitHub token", true, [], { GITHUB_TOKEN: "" }, () => {
|
||||
test("should not be logged in to pull requests extension", async ({ codeServerPage }) => {
|
||||
await codeServerPage.exec("git init")
|
||||
await codeServerPage.exec("git remote add origin https://github.com/coder/code-server")
|
||||
await codeServerPage.installExtension("GitHub.vscode-pull-request-github")
|
||||
await codeServerPage.executeCommandViaMenus("View: Show Github")
|
||||
await codeServerPage.page.click("text=Sign in")
|
||||
await codeServerPage.page.click("text=Allow")
|
||||
// Since there is no account it will ask directly for the token (because
|
||||
// we are on localhost; otherwise it would initiate the oauth flow).
|
||||
expect(await codeServerPage.page.isVisible("text=GitHub Personal Access Token")).toBe(false)
|
||||
})
|
||||
})
|
||||
} else {
|
||||
base.describe("GitHub token", () => {
|
||||
base.skip("skipped because GITHUB_TOKEN is not set", () => {
|
||||
// Playwright will not show this without a function.
|
||||
})
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user