70bf21e064
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
139 lines
5.5 KiB
TypeScript
139 lines
5.5 KiB
TypeScript
import dedent from "ts-dedent";
|
|
import { afterAll, beforeAll, describe, it } from "vitest";
|
|
import { CLOUDFLARE_ACCOUNT_ID } from "./helpers/account-id";
|
|
import { WranglerE2ETestHelper } from "./helpers/e2e-wrangler-test";
|
|
import { generateResourceName } from "./helpers/generate-resource-name";
|
|
import { normalizeOutput } from "./helpers/normalize";
|
|
|
|
const TIMEOUT = 50_000;
|
|
const workerName = generateResourceName();
|
|
const normalize = (str: string) =>
|
|
normalizeOutput(str, {
|
|
[CLOUDFLARE_ACCOUNT_ID]: "CLOUDFLARE_ACCOUNT_ID",
|
|
}).replaceAll(/^Author:.*$/gm, "Author: person@example.com");
|
|
|
|
describe.skipIf(!CLOUDFLARE_ACCOUNT_ID)("deploy", { timeout: TIMEOUT }, () => {
|
|
let helper: WranglerE2ETestHelper;
|
|
beforeAll(async () => {
|
|
helper = new WranglerE2ETestHelper();
|
|
});
|
|
|
|
describe("subdomain defaults warning", () => {
|
|
beforeAll(async () => {
|
|
await helper.seed({
|
|
"wrangler.toml": dedent`
|
|
name = "${workerName}"
|
|
main = "src/index.ts"
|
|
compatibility_date = "2023-01-01"
|
|
`,
|
|
"src/index.ts": dedent`
|
|
export default {
|
|
fetch(request) {
|
|
return new Response("Hello World!")
|
|
}
|
|
}
|
|
`,
|
|
"package.json": dedent`
|
|
{
|
|
"name": "${workerName}",
|
|
"version": "0.0.0",
|
|
"private": true
|
|
}
|
|
`,
|
|
});
|
|
});
|
|
|
|
afterAll(async () => {
|
|
await helper.bestEffortRun(`wrangler delete`);
|
|
});
|
|
|
|
it("omit subdomain warnings on 1st deploy", async ({ expect }) => {
|
|
const deploy = await helper.run("wrangler deploy");
|
|
expect(normalize(deploy.stdout)).toMatchInlineSnapshot(`
|
|
"Total Upload: xx KiB / gzip: xx KiB
|
|
Uploaded tmp-e2e-worker-00000000-0000-0000-0000-000000000000 (TIMINGS)
|
|
Deployed tmp-e2e-worker-00000000-0000-0000-0000-000000000000 triggers (TIMINGS)
|
|
https://tmp-e2e-worker-00000000-0000-0000-0000-000000000000.SUBDOMAIN.workers.dev
|
|
Current Version ID: 00000000-0000-0000-0000-000000000000"
|
|
`);
|
|
expect(normalize(deploy.stderr)).toMatchInlineSnapshot(`""`);
|
|
});
|
|
|
|
it("show subdomain warnings on 2nd deploy, workers_dev", async ({
|
|
expect,
|
|
}) => {
|
|
// Set remote state using `wrangler triggers deploy`.
|
|
await helper.seed({
|
|
"wrangler.toml": dedent`
|
|
name = "${workerName}"
|
|
main = "src/index.ts"
|
|
compatibility_date = "2023-01-01"
|
|
workers_dev = false
|
|
preview_urls = false
|
|
`,
|
|
});
|
|
await helper.run("wrangler triggers deploy");
|
|
// Remove `workers_dev` and `preview_urls` props, and redeploy.
|
|
await helper.seed({
|
|
"wrangler.toml": dedent`
|
|
name = "${workerName}"
|
|
main = "src/index.ts"
|
|
compatibility_date = "2023-01-01"
|
|
# workers_dev = true # Defaults to true.
|
|
preview_urls = false
|
|
`,
|
|
});
|
|
const deploy = await helper.run("wrangler deploy");
|
|
expect(normalize(deploy.stdout)).toMatchInlineSnapshot(`
|
|
"Total Upload: xx KiB / gzip: xx KiB
|
|
Uploaded tmp-e2e-worker-00000000-0000-0000-0000-000000000000 (TIMINGS)
|
|
Deployed tmp-e2e-worker-00000000-0000-0000-0000-000000000000 triggers (TIMINGS)
|
|
https://tmp-e2e-worker-00000000-0000-0000-0000-000000000000.SUBDOMAIN.workers.dev
|
|
Current Version ID: 00000000-0000-0000-0000-000000000000"
|
|
`);
|
|
expect(normalize(deploy.stderr)).toMatchInlineSnapshot(`
|
|
"▲ [WARNING] Because 'workers_dev' is not in your Wrangler file, it will be enabled for this deployment by default.
|
|
To override this setting, you can disable workers.dev by explicitly setting 'workers_dev = false' in your Wrangler file."
|
|
`);
|
|
});
|
|
|
|
it("show subdomain warnings on 3rd deploy, preview_urls", async ({
|
|
expect,
|
|
}) => {
|
|
// Set remote state using `wrangler triggers deploy`.
|
|
await helper.seed({
|
|
"wrangler.toml": dedent`
|
|
name = "${workerName}"
|
|
main = "src/index.ts"
|
|
compatibility_date = "2023-01-01"
|
|
workers_dev = true
|
|
preview_urls = false
|
|
`,
|
|
});
|
|
await helper.run("wrangler triggers deploy");
|
|
// Remove `workers_dev` and `preview_urls` props, and redeploy.
|
|
await helper.seed({
|
|
"wrangler.toml": dedent`
|
|
name = "${workerName}"
|
|
main = "src/index.ts"
|
|
compatibility_date = "2023-01-01"
|
|
workers_dev = true
|
|
# preview_urls = workers_dev = true # Defaults to true.
|
|
`,
|
|
});
|
|
const deploy = await helper.run("wrangler deploy");
|
|
expect(normalize(deploy.stdout)).toMatchInlineSnapshot(`
|
|
"Total Upload: xx KiB / gzip: xx KiB
|
|
Uploaded tmp-e2e-worker-00000000-0000-0000-0000-000000000000 (TIMINGS)
|
|
Deployed tmp-e2e-worker-00000000-0000-0000-0000-000000000000 triggers (TIMINGS)
|
|
https://tmp-e2e-worker-00000000-0000-0000-0000-000000000000.SUBDOMAIN.workers.dev
|
|
Current Version ID: 00000000-0000-0000-0000-000000000000"
|
|
`);
|
|
expect(normalize(deploy.stderr)).toMatchInlineSnapshot(`
|
|
"▲ [WARNING] Because your 'workers.dev' route is enabled and your 'preview_urls' setting is not in your Wrangler file, Preview URLs will be enabled for this deployment by default.
|
|
To override this setting, you can disable Preview URLs by explicitly setting 'preview_urls = false' in your Wrangler file."
|
|
`);
|
|
});
|
|
});
|
|
});
|