e2e-tests: Move test credentials to a JSON file.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2024-12-01 20:57:59 -08:00
committed by Anders Kaseorg
parent 5fbb60a849
commit d78902fac3
6 changed files with 12 additions and 22 deletions

5
.gitignore vendored
View File

@@ -31,10 +31,7 @@
package-lock.json
/.vagrant
/var/*
!/var/puppeteer
/var/puppeteer/*
!/var/puppeteer/test_credentials.d.ts
/var
/.dmypy.json
/.ruff_cache

View File

@@ -23,10 +23,7 @@ export default [
"docs/_build",
"static/generated",
"static/webpack-bundles",
"var/*",
"!var/puppeteer",
"var/puppeteer/*",
"!var/puppeteer/test_credentials.d.ts",
"var",
"web/generated",
"web/third",
"zulip-current-venv",

View File

@@ -8,7 +8,6 @@ email=desdemona@zulip.com
mkdir -p var/puppeteer
password=$(./manage.py print_initial_password "$email" | grep -F "$email" | awk '{ print $2 }')
cat >var/puppeteer/test_credentials.js <<EOF
// Generated by tools/setup/generate-test-credentials
export const test_credentials = {default_user: {username: '$email', password: '$password'}};
cat >var/puppeteer/test_credentials.json <<EOF
{"default_user": {"username": "$email", "password": "$password"}}
EOF

View File

@@ -1,6 +0,0 @@
export const test_credentials: {
default_user: {
username: string;
password: string;
};
};

View File

@@ -1,20 +1,24 @@
import assert from "node:assert/strict";
import "css.escape";
import * as fs from "node:fs";
import path from "node:path";
import timersPromises from "node:timers/promises";
import * as url from "node:url";
import "css.escape";
import ErrorStackParser from "error-stack-parser";
import type {Browser, ConsoleMessage, ConsoleMessageLocation, ElementHandle, Page} from "puppeteer";
import puppeteer from "puppeteer";
import StackFrame from "stackframe";
import StackTraceGPS from "stacktrace-gps";
import {test_credentials} from "../../../var/puppeteer/test_credentials.js";
import {z} from "zod";
const root_dir = url.fileURLToPath(new URL("../../..", import.meta.url));
const puppeteer_dir = path.join(root_dir, "var/puppeteer");
export const test_credentials = z
.object({default_user: z.object({username: z.string(), password: z.string()})})
.parse(JSON.parse(fs.readFileSync(path.join(puppeteer_dir, "test_credentials.json"), "utf8")));
type Message = Record<string, string | boolean> & {
recipient?: string;
content: string;

View File

@@ -2,9 +2,8 @@ import assert from "node:assert/strict";
import type {Page} from "puppeteer";
import {test_credentials} from "../../var/puppeteer/test_credentials.js";
import * as common from "./lib/common.ts";
import {test_credentials} from "./lib/common.ts";
const OUTGOING_WEBHOOK_BOT_TYPE = "3";
const GENERIC_BOT_TYPE = "1";