Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0dbd385

Browse files
committed
idk
1 parent50333d3 commit0dbd385

File tree

36 files changed

+220
-63
lines changed

36 files changed

+220
-63
lines changed

‎site/e2e/helpers.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import{typeChildProcess,exec,spawn}from"node:child_process";
22
import{randomUUID}from"node:crypto";
3-
import*asfsfrom"node:fs";
43
importnetfrom"node:net";
54
importpathfrom"node:path";
65
import{Duplex}from"node:stream";
@@ -19,7 +18,9 @@ import {
1918
coderMain,
2019
coderPort,
2120
defaultOrganizationName,
21+
email,
2222
license,
23+
password,
2324
premiumTestsRequired,
2425
prometheusPort,
2526
requireTerraformTests,
@@ -60,6 +61,17 @@ export function requireTerraformProvisioner() {
6061
test.skip(!requireTerraformTests);
6162
}
6263

64+
typeLoginOptions={
65+
email:string;
66+
password:string;
67+
};
68+
69+
exportasyncfunctionlogin(page:Page,options?:LoginOptions){
70+
awaitpage.getByLabel("Email").fill(options?.email||email);
71+
awaitpage.getByLabel("Password").fill(options?.password||password);
72+
awaitpage.getByRole("button",{name:"Sign In"}).click();
73+
}
74+
6375
/**
6476
* createWorkspace creates a workspace for a template. It does not wait for it
6577
* to be running, but it does navigate to the page.

‎site/e2e/hooks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import http from "node:http";
22
importtype{BrowserContext,Page}from"@playwright/test";
33
import{coderPort,gitAuth}from"./constants";
44

5-
exportconstbeforeCoderTest=async(page:Page)=>{
5+
exportconstbeforeCoderTest=(page:Page)=>{
66
page.on("console",(msg)=>console.info(`[onConsole]${msg.text()}`));
77

88
page.on("request",(request)=>{

‎site/e2e/playwright.config.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ import {
1313

1414
exportconstwsEndpoint=process.env.CODER_E2E_WS_ENDPOINT;
1515

16-
// This is where auth cookies are stored!
17-
exportconststorageState=path.join(__dirname,".auth.json");
18-
1916
// If running terraform tests, verify the requirements exist in the
2017
// environment.
2118
//
@@ -58,17 +55,15 @@ export default defineConfig({
5855
projects:[
5956
{
6057
name:"testsSetup",
61-
testMatch:/global.setup\.ts/,
58+
testMatch:/setup\/.*\.spec\.ts/,
6259
},
6360
{
6461
name:"tests",
65-
testMatch:/.*\.spec\.ts/,
62+
testMatch:/tests\/.*\.spec\.ts/,
6663
dependencies:["testsSetup"],
67-
use:{ storageState},
6864
timeout:30_000,
6965
},
7066
],
71-
reporter:[["./reporter.ts"]],
7267
use:{
7368
actionTimeout:5000,
7469
baseURL:`http://localhost:${coderPort}`,

‎site/e2e/global.setup.tsrenamed to‎site/e2e/setup/createFirstUser.spec.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import{expect,test}from"@playwright/test";
22
import{API}from"api/api";
33
import{Language}from"pages/CreateUserPage/CreateUserForm";
4-
import{setupApiCalls}from"./api";
5-
import*asconstantsfrom"./constants";
6-
import{expectUrl}from"./expectUrl";
7-
import{storageState}from"./playwright.config";
4+
import{setupApiCalls}from"../api";
5+
import*asconstantsfrom"../constants";
6+
import{expectUrl}from"../expectUrl";
87

98
test("setup deployment",async({ page})=>{
109
awaitpage.goto("/",{waitUntil:"domcontentloaded"});
@@ -23,7 +22,6 @@ test("setup deployment", async ({ page }) => {
2322
awaitpage.getByTestId("create").click();
2423

2524
awaitexpectUrl(page).toHavePathName("/workspaces");
26-
awaitpage.context().storageState({path:storageState});
2725

2826
awaitpage.getByTestId("button-select-template").isVisible();
2927

‎site/e2e/tests/app.spec.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,17 @@ import { test } from "@playwright/test";
44
import{
55
createTemplate,
66
createWorkspace,
7+
login,
78
startAgent,
89
stopAgent,
910
stopWorkspace,
1011
}from"../helpers";
1112
import{beforeCoderTest}from"../hooks";
1213

13-
test.beforeEach(({ page})=>beforeCoderTest(page));
14+
test.beforeEach(async({ page})=>{
15+
beforeCoderTest(page);
16+
awaitlogin(page);
17+
});
1418

1519
test("app",async({ context, page})=>{
1620
test.setTimeout(75_000);

‎site/e2e/tests/auditLogs.spec.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
import{expect,test}from"@playwright/test";
2-
import{createTemplate,createWorkspace,requiresLicense}from"../helpers";
2+
import{
3+
createTemplate,
4+
createWorkspace,
5+
login,
6+
requiresLicense,
7+
}from"../helpers";
38
import{beforeCoderTest}from"../hooks";
49

5-
test.beforeEach(({ page})=>beforeCoderTest(page));
10+
test.beforeEach(async({ page})=>{
11+
beforeCoderTest(page);
12+
awaitlogin(page);
13+
});
614

715
test("inspecting and filtering audit logs",async({ page})=>{
816
requiresLicense();

‎site/e2e/tests/deployment/appearance.spec.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import{chromium,expect,test}from"@playwright/test";
22
import{expectUrl}from"../../expectUrl";
3-
import{randomName,requiresLicense}from"../../helpers";
3+
import{login,randomName,requiresLicense}from"../../helpers";
4+
import{beforeCoderTest}from"../../hooks";
5+
6+
test.beforeEach(async({ page})=>{
7+
beforeCoderTest(page);
8+
awaitlogin(page);
9+
});
410

511
test("set application name",async({ page})=>{
612
requiresLicense();

‎site/e2e/tests/deployment/general.spec.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@ import { expect, test } from "@playwright/test";
22
import{API}from"api/api";
33
import{setupApiCalls}from"../../api";
44
import{e2eFakeExperiment1,e2eFakeExperiment2}from"../../constants";
5+
import{login}from"../../helpers";
6+
import{beforeCoderTest}from"../../hooks";
57

6-
test("experiments",async({ page})=>{
8+
test.beforeEach(async({ page})=>{
9+
beforeCoderTest(page);
10+
awaitlogin(page);
711
awaitsetupApiCalls(page);
12+
});
813

14+
test("experiments",async({ page})=>{
915
// Load experiments from backend API
1016
constavailableExperiments=awaitAPI.getAvailableExperiments();
1117

‎site/e2e/tests/deployment/idpOrgSync.spec.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@ import {
77
}from"../../api";
88
import{randomName,requiresLicense}from"../../helpers";
99
import{beforeCoderTest}from"../../hooks";
10+
import{login}from"../../helpers";
1011

11-
test.describe("IdpOrgSyncPage",()=>{
12-
test.beforeEach(async({ page})=>awaitbeforeCoderTest(page));
12+
test.beforeEach(async({ page})=>{
13+
beforeCoderTest(page);
14+
awaitlogin(page);
15+
awaitsetupApiCalls(page);
16+
});
1317

18+
test.describe("IdpOrgSyncPage",()=>{
1419
test("add new IdP organization mapping with API",async({ page})=>{
1520
requiresLicense();
16-
awaitsetupApiCalls(page);
1721

1822
awaitcreateOrganizationSyncSettings();
1923

@@ -38,7 +42,6 @@ test.describe("IdpOrgSyncPage", () => {
3842

3943
test("delete a IdP org to coder org mapping row",async({ page})=>{
4044
requiresLicense();
41-
awaitsetupApiCalls(page);
4245
awaitcreateOrganizationSyncSettings();
4346
awaitpage.goto("/deployment/idp-org-sync",{
4447
waitUntil:"domcontentloaded",
@@ -106,7 +109,6 @@ test.describe("IdpOrgSyncPage", () => {
106109
page,
107110
})=>{
108111
requiresLicense();
109-
awaitsetupApiCalls(page);
110112

111113
awaitpage.goto("/deployment/idp-org-sync",{
112114
waitUntil:"domcontentloaded",
@@ -121,7 +123,6 @@ test.describe("IdpOrgSyncPage", () => {
121123

122124
test("add new IdP organization mapping with UI",async({ page})=>{
123125
requiresLicense();
124-
awaitsetupApiCalls(page);
125126

126127
constorgName=randomName();
127128

‎site/e2e/tests/deployment/licenses.spec.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import{expect,test}from"@playwright/test";
2-
import{requiresLicense}from"../../helpers";
2+
import{beforeCoderTest}from"../../hooks";
3+
import{login,requiresLicense}from"../../helpers";
4+
5+
test.beforeEach(async({ page})=>{
6+
beforeCoderTest(page);
7+
awaitlogin(page);
8+
});
39

410
test("license was added successfully",async({ page})=>{
511
requiresLicense();

‎site/e2e/tests/deployment/network.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,16 @@ import {
88
verifyConfigFlagNumber,
99
verifyConfigFlagString,
1010
}from"../../api";
11+
import{beforeCoderTest}from"../../hooks";
12+
import{login}from"../../helpers";
1113

12-
test("enabled network settings",async({ page})=>{
14+
test.beforeEach(async({ page})=>{
15+
beforeCoderTest(page);
16+
awaitlogin(page);
1317
awaitsetupApiCalls(page);
18+
});
19+
20+
test("enabled network settings",async({ page})=>{
1421
constconfig=awaitAPI.getDeploymentConfig();
1522

1623
awaitpage.goto("/deployment/network",{waitUntil:"domcontentloaded"});

‎site/e2e/tests/deployment/observability.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,16 @@ import {
88
verifyConfigFlagEmpty,
99
verifyConfigFlagString,
1010
}from"../../api";
11+
import{beforeCoderTest}from"../../hooks";
12+
import{login}from"../../helpers";
1113

12-
test("enabled observability settings",async({ page})=>{
14+
test.beforeEach(async({ page})=>{
15+
beforeCoderTest(page);
16+
awaitlogin(page);
1317
awaitsetupApiCalls(page);
18+
});
19+
20+
test("enabled observability settings",async({ page})=>{
1421
constconfig=awaitAPI.getDeploymentConfig();
1522

1623
awaitpage.goto("/deployment/observability",{

‎site/e2e/tests/deployment/security.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,16 @@ import {
88
verifyConfigFlagNumber,
99
verifyConfigFlagString,
1010
}from"../../api";
11+
import{beforeCoderTest}from"../../hooks";
12+
import{login}from"../../helpers";
1113

12-
test("enabled security settings",async({ page})=>{
14+
test.beforeEach(async({ page})=>{
15+
beforeCoderTest(page);
16+
awaitlogin(page);
1317
awaitsetupApiCalls(page);
18+
});
19+
20+
test("enabled security settings",async({ page})=>{
1421
constconfig=awaitAPI.getDeploymentConfig();
1522

1623
awaitpage.goto("/deployment/security",{waitUntil:"domcontentloaded"});

‎site/e2e/tests/deployment/userAuth.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,16 @@ import {
77
verifyConfigFlagEntries,
88
verifyConfigFlagString,
99
}from"../../api";
10+
import{beforeCoderTest}from"../../hooks";
11+
import{login}from"../../helpers";
1012

11-
test("login with OIDC",async({ page})=>{
13+
test.beforeEach(async({ page})=>{
14+
beforeCoderTest(page);
15+
awaitlogin(page);
1216
awaitsetupApiCalls(page);
17+
});
18+
19+
test("login with OIDC",async({ page})=>{
1320
constconfig=awaitAPI.getDeploymentConfig();
1421

1522
awaitpage.goto("/deployment/userauth",{waitUntil:"domcontentloaded"});

‎site/e2e/tests/deployment/workspaceProxies.spec.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ import { setupApiCalls } from "../../api";
44
import{coderPort,workspaceProxyPort}from"../../constants";
55
import{randomName,requiresLicense}from"../../helpers";
66
import{startWorkspaceProxy,stopWorkspaceProxy}from"../../proxy";
7+
import{beforeCoderTest}from"../../hooks";
8+
import{login}from"../../helpers";
9+
10+
test.beforeEach(async({ page})=>{
11+
beforeCoderTest(page);
12+
awaitlogin(page);
13+
});
714

815
test("default proxy is online",async({ page})=>{
916
requiresLicense();

‎site/e2e/tests/externalAuth.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
createTemplate,
99
createWorkspace,
1010
echoResponsesWithExternalAuth,
11+
login,
1112
}from"../helpers";
1213
import{beforeCoderTest,resetExternalAuthKey}from"../hooks";
1314

@@ -31,9 +32,11 @@ test.beforeAll(async ({ baseURL }) => {
3132
});
3233
});
3334

34-
test.beforeEach(async({ context})=>resetExternalAuthKey(context));
35-
36-
test.beforeEach(({ page})=>beforeCoderTest(page));
35+
test.beforeEach(async({ context, page})=>{
36+
beforeCoderTest(page);
37+
awaitlogin(page);
38+
awaitresetExternalAuthKey(context);
39+
});
3740

3841
// Ensures that a Git auth provider with the device flow functions and completes!
3942
test("external auth device",async({ page})=>{

‎site/e2e/tests/groups/addMembers.spec.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,17 @@ import {
77
}from"../../api";
88
import{requiresLicense}from"../../helpers";
99
import{beforeCoderTest}from"../../hooks";
10+
import{login}from"../../helpers";
1011

11-
test.beforeEach(async({ page})=>awaitbeforeCoderTest(page));
12+
test.beforeEach(async({ page})=>{
13+
beforeCoderTest(page);
14+
awaitlogin(page);
15+
awaitsetupApiCalls(page);
16+
});
1217

1318
test("add members",async({ page, baseURL})=>{
1419
requiresLicense();
15-
awaitsetupApiCalls(page);
20+
1621
constorgId=awaitgetCurrentOrgId();
1722
constgroup=awaitcreateGroup(orgId);
1823
constnumberOfMembers=3;

‎site/e2e/tests/groups/addUsersToDefaultGroup.spec.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@ import { expect, test } from "@playwright/test";
22
import{createUser,getCurrentOrgId,setupApiCalls}from"../../api";
33
import{requiresLicense}from"../../helpers";
44
import{beforeCoderTest}from"../../hooks";
5+
import{login}from"../../helpers";
56

6-
test.beforeEach(async({ page})=>awaitbeforeCoderTest(page));
7+
test.beforeEach(async({ page})=>{
8+
beforeCoderTest(page);
9+
awaitlogin(page);
10+
});
711

812
constDEFAULT_GROUP_NAME="Everyone";
913

‎site/e2e/tests/groups/createGroup.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
import{expect,test}from"@playwright/test";
22
import{randomName,requiresLicense}from"../../helpers";
33
import{beforeCoderTest}from"../../hooks";
4+
import{login}from"../../helpers";
45

5-
test.beforeEach(async({ page})=>awaitbeforeCoderTest(page));
6+
test.beforeEach(async({ page})=>{
7+
beforeCoderTest(page);
8+
awaitlogin(page);
9+
});
610

711
test("create group",async({ page, baseURL})=>{
812
requiresLicense();
13+
914
awaitpage.goto(`${baseURL}/groups`,{waitUntil:"domcontentloaded"});
1015
awaitexpect(page).toHaveTitle("Groups - Coder");
1116

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp