summaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/test
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/cloudflare/test')
-rw-r--r--packages/integrations/cloudflare/test/basics.test.js39
-rw-r--r--packages/integrations/cloudflare/test/cf.test.js127
-rw-r--r--packages/integrations/cloudflare/test/directory.test.js36
-rw-r--r--packages/integrations/cloudflare/test/fixtures/basics/astro.config.mjs10
-rw-r--r--packages/integrations/cloudflare/test/fixtures/basics/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/basics/src/pages/index.astro9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/.dev.vars1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/src/pages/caches.astro15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/src/pages/d1.astro21
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/src/pages/do.astro15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/src/pages/index.astro12
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/src/pages/kv.astro20
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/src/pages/r2.astro20
-rw-r--r--packages/integrations/cloudflare/test/fixtures/cf/wrangler.toml37
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts10
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro37
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro11
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro37
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro22
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/no-output/astro.config.mjs6
-rw-r--r--packages/integrations/cloudflare/test/fixtures/no-output/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs7
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro8
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro11
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/public/_redirects1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/public/public.txt1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic1.astro5
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic2.astro5
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic3.astro5
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/index.astro5
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[...rest].astro5
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[id].astro5
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/endpoint.ts1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/index.astro1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/b/index.html1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/index.astro1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/runtime/astro.config.mjs8
-rw-r--r--packages/integrations/cloudflare/test/fixtures/runtime/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/runtime/src/pages/index.astro15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs10
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts18
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasmbin41 -> 0 bytes
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs12
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts6
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasmbin41 -> 0 bytes
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm/src/pages/add/[a]/[b].ts20
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm/src/pages/hybrid.ts16
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm/src/util/add.wasmbin41 -> 0 bytes
-rw-r--r--packages/integrations/cloudflare/test/fixtures/with-solid-js/astro.config.mjs9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json11
-rw-r--r--packages/integrations/cloudflare/test/fixtures/with-solid-js/src/components/Component.tsx1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/with-solid-js/src/pages/index.astro13
-rw-r--r--packages/integrations/cloudflare/test/function-per-route.test.js36
-rw-r--r--packages/integrations/cloudflare/test/no-output.test.js24
-rw-r--r--packages/integrations/cloudflare/test/prerender.test.js58
-rw-r--r--packages/integrations/cloudflare/test/routes-json.test.js211
-rw-r--r--packages/integrations/cloudflare/test/runtime.test.js44
-rw-r--r--packages/integrations/cloudflare/test/test-utils.js169
-rw-r--r--packages/integrations/cloudflare/test/wasm-directory.test.js36
-rw-r--r--packages/integrations/cloudflare/test/wasm-function-per-route.test.js41
-rw-r--r--packages/integrations/cloudflare/test/wasm.test.js85
-rw-r--r--packages/integrations/cloudflare/test/with-solid-js.test.js38
-rw-r--r--packages/integrations/cloudflare/test/wrangler.toml6
82 files changed, 0 insertions, 1636 deletions
diff --git a/packages/integrations/cloudflare/test/basics.test.js b/packages/integrations/cloudflare/test/basics.test.js
deleted file mode 100644
index eb4509da1..000000000
--- a/packages/integrations/cloudflare/test/basics.test.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import { loadFixture, runCLI } from './test-utils.js';
-import { expect } from 'chai';
-import * as cheerio from 'cheerio';
-
-describe('Basic app', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
- /** @type {import('./test-utils').WranglerCLI} */
- let cli;
-
- before(async function () {
- fixture = await loadFixture({
- root: './fixtures/basics/',
- });
- await fixture.build();
-
- cli = await runCLI('./fixtures/basics/', {
- silent: true,
- onTimeout: (ex) => {
- console.log(ex);
- // if fail to start, skip for now as it's very flaky
- this.skip();
- },
- });
- });
-
- after(async () => {
- await cli?.stop();
- });
-
- it('can render', async () => {
- let res = await fetch(`http://127.0.0.1:${cli.port}/`);
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('h1').text()).to.equal('Testing');
- expect($('#env').text()).to.equal('secret');
- });
-});
diff --git a/packages/integrations/cloudflare/test/cf.test.js b/packages/integrations/cloudflare/test/cf.test.js
deleted file mode 100644
index 0078f3024..000000000
--- a/packages/integrations/cloudflare/test/cf.test.js
+++ /dev/null
@@ -1,127 +0,0 @@
-import { loadFixture, runCLI } from './test-utils.js';
-import { expect } from 'chai';
-import * as cheerio from 'cheerio';
-import cloudflare from '../dist/index.js';
-
-describe('Wrangler Cloudflare Runtime', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
- /** @type {import('./test-utils').WranglerCLI} */
- let cli;
-
- before(async function () {
- fixture = await loadFixture({
- root: './fixtures/cf/',
- output: 'server',
- adapter: cloudflare(),
- });
- await fixture.build();
-
- cli = await runCLI('./fixtures/cf/', {
- silent: true,
- onTimeout: (ex) => {
- console.log(ex);
- // if fail to start, skip for now as it's very flaky
- this.skip();
- },
- });
- });
-
- after(async () => {
- await cli?.stop();
- });
-
- it('Load cf and caches API', async () => {
- let res = await fetch(`http://127.0.0.1:${cli.port}/`);
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
-
- expect($('#hasRuntime').text()).to.equal('true');
- expect($('#hasCache').text()).to.equal('true');
- });
-});
-
-describe('Astro Cloudflare Runtime', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
- let devServer;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/cf/',
- output: 'server',
- adapter: cloudflare({
- runtime: 'local',
- }),
- });
- process.chdir('./test/fixtures/cf');
- devServer = await fixture.startDevServer();
- });
-
- after(async () => {
- await devServer?.stop();
- });
-
- it('adds cf object', async () => {
- let res = await fixture.fetch('/');
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('#hasCF').text()).to.equal('true');
- });
-
- it('adds cache mocking', async () => {
- let res = await fixture.fetch('/caches');
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('#hasCACHE').text()).to.equal('true');
- });
-
- it('adds D1 mocking', async () => {
- expect(await fixture.pathExists('../.mf/d1')).to.be.true;
-
- let res = await fixture.fetch('/d1');
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('#hasDB').text()).to.equal('true');
- expect($('#hasPRODDB').text()).to.equal('true');
- expect($('#hasACCESS').text()).to.equal('true');
- });
-
- it('adds R2 mocking', async () => {
- expect(await fixture.pathExists('../.mf/r2')).to.be.true;
-
- let res = await fixture.fetch('/r2');
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('#hasBUCKET').text()).to.equal('true');
- expect($('#hasPRODBUCKET').text()).to.equal('true');
- expect($('#hasACCESS').text()).to.equal('true');
- });
-
- it('adds KV mocking', async () => {
- expect(await fixture.pathExists('../.mf/kv')).to.be.true;
-
- let res = await fixture.fetch('/kv');
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('#hasKV').text()).to.equal('true');
- expect($('#hasPRODKV').text()).to.equal('true');
- expect($('#hasACCESS').text()).to.equal('true');
- });
-
- it('adds DO mocking', async () => {
- expect(await fixture.pathExists('../.mf/do')).to.be.true;
-
- let res = await fixture.fetch('/do');
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('#hasDO').text()).to.equal('true');
- });
-});
diff --git a/packages/integrations/cloudflare/test/directory.test.js b/packages/integrations/cloudflare/test/directory.test.js
deleted file mode 100644
index 8390699e3..000000000
--- a/packages/integrations/cloudflare/test/directory.test.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { loadFixture } from './test-utils.js';
-import { expect } from 'chai';
-import cloudflare from '../dist/index.js';
-
-/** @type {import('./test-utils').Fixture} */
-describe('mode: "directory"', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/basics/',
- output: 'server',
- adapter: cloudflare({ mode: 'directory' }),
- redirects: {
- '/old': '/',
- },
- });
- await fixture.build();
- });
-
- it('generates functions folder inside the project root', async () => {
- expect(await fixture.pathExists('../functions')).to.be.true;
- expect(await fixture.pathExists('../functions/[[path]].js')).to.be.true;
- });
-
- it('generates a redirects file', async () => {
- try {
- let _redirects = await fixture.readFile('/_redirects');
- let parts = _redirects.split(/\s+/);
- expect(parts).to.deep.equal(['/old', '/', '301']);
- } catch {
- expect(false).to.equal(true);
- }
- });
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/basics/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/basics/astro.config.mjs
deleted file mode 100644
index 407dc4355..000000000
--- a/packages/integrations/cloudflare/test/fixtures/basics/astro.config.mjs
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-// test env var
-process.env.SECRET_STUFF = 'secret'
-
-export default defineConfig({
- adapter: cloudflare(),
- output: 'server'
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/basics/package.json b/packages/integrations/cloudflare/test/fixtures/basics/package.json
deleted file mode 100644
index c7cc97455..000000000
--- a/packages/integrations/cloudflare/test/fixtures/basics/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-basics",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/basics/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/basics/src/pages/index.astro
deleted file mode 100644
index 8d372399c..000000000
--- a/packages/integrations/cloudflare/test/fixtures/basics/src/pages/index.astro
+++ /dev/null
@@ -1,9 +0,0 @@
-<html>
- <head>
- <title>Testing</title>
- </head>
- <body>
- <h1>Testing</h1>
- <div id="env">{import.meta.env.SECRET_STUFF}</div>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/.dev.vars b/packages/integrations/cloudflare/test/fixtures/cf/.dev.vars
deleted file mode 100644
index 9296c384b..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/.dev.vars
+++ /dev/null
@@ -1 +0,0 @@
-DATABASE_URL="postgresql://lorem"
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/package.json b/packages/integrations/cloudflare/test/fixtures/cf/package.json
deleted file mode 100644
index cf8ae0082..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-cf",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/caches.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/caches.astro
deleted file mode 100644
index 743111721..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/caches.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>CACHES</title>
- </head>
- <body>
- <pre id="hasCACHE">{!!runtime.caches}</pre>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/d1.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/d1.astro
deleted file mode 100644
index a28940e9f..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/d1.astro
+++ /dev/null
@@ -1,21 +0,0 @@
----
-const runtime = Astro.locals.runtime;
-const db = runtime.env?.D1;
-await db.exec("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)");
-await db.exec("INSERT INTO test (name) VALUES ('true')");
-const result = await db.prepare("SELECT * FROM test").all();
----
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>D1</title>
-</head>
-<body>
- <pre id="hasDB">{!!runtime.env?.D1}</pre>
- <pre id="hasPRODDB">{!!runtime.env?.D1_PROD}</pre>
- <pre id="hasACCESS">{!!result.results[0].name}</pre>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/do.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/do.astro
deleted file mode 100644
index e338c8e8f..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/do.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>DO</title>
- </head>
- <body>
- <pre id="hasDO">{!!runtime.env.DO}</pre>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/index.astro
deleted file mode 100644
index 5ba11985f..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/index.astro
+++ /dev/null
@@ -1,12 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-<html>
- <head>
- <title>Testing</title>
- </head>
- <body>
- <h1>Testing</h1>
- <div id="hasCF">{!!runtime.cf?.colo}</div>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/kv.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/kv.astro
deleted file mode 100644
index d21f163a0..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/kv.astro
+++ /dev/null
@@ -1,20 +0,0 @@
----
-const runtime = Astro.locals.runtime;
-const kv = runtime.env?.KV;
-await kv.put("test", "true");
-const result = await kv.get("test")
----
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>KV</title>
-</head>
-<body>
- <pre id="hasKV">{!!runtime.env?.KV}</pre>
- <pre id="hasPRODKV">{!!runtime.env?.KV_PROD}</pre>
- <pre id="hasACCESS">{!!result}</pre>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/r2.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/r2.astro
deleted file mode 100644
index fbb9fc61b..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/r2.astro
+++ /dev/null
@@ -1,20 +0,0 @@
----
-const runtime = Astro.locals.runtime;
-const bucket = runtime.env?.R2;
-await bucket.put("test", "true");
-const result = await (await bucket.get("test")).text()
----
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>R2</title>
-</head>
-<body>
- <pre id="hasBUCKET">{!!runtime.env?.R2}</pre>
- <pre id="hasPRODBUCKET">{!!runtime.env?.R2_PROD}</pre>
- <pre id="hasACCESS">{!!result}</pre>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/cf/wrangler.toml b/packages/integrations/cloudflare/test/fixtures/cf/wrangler.toml
deleted file mode 100644
index 17fd88ea5..000000000
--- a/packages/integrations/cloudflare/test/fixtures/cf/wrangler.toml
+++ /dev/null
@@ -1,37 +0,0 @@
-name = "test"
-
-kv_namespaces = [
- { binding = "KV", id = "<YOUR_ID>", preview_id = "<YOUR_ID>" },
- { binding = "KV_PROD", id = "<YOUR_ID>", preview_id = "<YOUR_ID>" }
-]
-
-[vars]
-COOL = "ME"
-
-[[d1_databases]]
-binding = "D1" # Should match preview_database_id, i.e. available in your Worker on env.DB
-database_name = "<DATABASE_NAME>"
-database_id = "<unique-ID-for-your-database>"
-preview_database_id = "D1" # Required for Pages local development
-
-[[d1_databases]]
-binding = "D1_PROD" # Should match preview_database_id
-database_name = "<DATABASE_NAME>"
-database_id = "<unique-ID-for-your-database>"
-preview_database_id = "D1_PROD" # Required for Pages local development
-
-[[r2_buckets]]
-binding = 'R2' # <~ valid JavaScript variable name
-bucket_name = '<YOUR_BUCKET_NAME>'
-
-[[r2_buckets]]
-binding = 'R2_PROD' # <~ valid JavaScript variable name
-bucket_name = '<YOUR_BUCKET_NAME>'
-
-[[durable_objects.bindings]]
-name = "DO"
-class_name = "DurableObjectExample"
-
-[[durable_objects.bindings]]
-name = "DO_PROD"
-class_name = "DurableObjectProductionExample"
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs
deleted file mode 100644
index aa3f3dabc..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs
+++ /dev/null
@@ -1,15 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-export default defineConfig({
- adapter: cloudflare({
- mode: 'directory',
- functionPerRoute: true
- }),
- output: 'server',
- vite: {
- build: {
- minify: false,
- },
- },
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/package.json b/packages/integrations/cloudflare/test/fixtures/function-per-route/package.json
deleted file mode 100644
index 54dded9dd..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-function-per-route",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts
deleted file mode 100644
index a6ce640cb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineMiddleware } from "astro/middleware";
-
-export const onRequest = defineMiddleware(({ locals, request }, next) => {
- // intercept response data from a request
- // optionally, transform the response by modifying `locals`
- locals.title = "New title"
-
- // return a Response or the result of calling `next()`
- return next()
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro
deleted file mode 100644
index 84ad53228..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro
+++ /dev/null
@@ -1,37 +0,0 @@
----
-const files = [
- {
- slug: undefined,
- title: 'Root level',
- },
- {
- slug: 'test.png',
- title: "One level"
- },
- {
- slug: 'assets/test.png',
- title: "Two levels"
- },
- {
- slug: 'assets/images/test.png',
- title: 'Three levels',
- }
-];
-
-const { path } = Astro.params;
-const page = files.find((page) => page.slug === path);
-const { title } = page;
-
----
-<html>
- <body>
- <h1>Files / Rest Parameters / {title}</h1>
- <p>DEBUG: {path} </p>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: yellow;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro
deleted file mode 100644
index f4fda9dc5..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-const { person, car } = Astro.params;
----
-<html>
- <body>
- <h1> {person} / {car}</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: blue;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro
deleted file mode 100644
index 7b0e1e5b8..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-const { post } = Astro.params;
----
-<html>
- <body>
- <h1>Blog / {post}</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: pink;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro
deleted file mode 100644
index 7127282a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
- <body>
- <h1>Blog / Cool</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: orange;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro
deleted file mode 100644
index 84ad53228..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro
+++ /dev/null
@@ -1,37 +0,0 @@
----
-const files = [
- {
- slug: undefined,
- title: 'Root level',
- },
- {
- slug: 'test.png',
- title: "One level"
- },
- {
- slug: 'assets/test.png',
- title: "Two levels"
- },
- {
- slug: 'assets/images/test.png',
- title: 'Three levels',
- }
-];
-
-const { path } = Astro.params;
-const page = files.find((page) => page.slug === path);
-const { title } = page;
-
----
-<html>
- <body>
- <h1>Files / Rest Parameters / {title}</h1>
- <p>DEBUG: {path} </p>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: yellow;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro
deleted file mode 100644
index a7f564046..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro
+++ /dev/null
@@ -1,22 +0,0 @@
----
-const data = Astro.locals;
----
-<html>
- <body>
- <h1>Index</h1>
- <p>Middleware ({data.title})</p>
- <p><a href="/prerender/">prerender</a></p>
- <p><a href="/blog/cool/">sub-route</a></p>
- <p><a href="/blog/dynamic-post/">dynamic route in static sub-route</a></p>
- <p><a href="/mustermann/bmw/">dynamic route in dynamic sub-route</a></p>
- <p><a href="/files/">rest parameters root level</a></p>
- <p><a href="/files/test.png/">rest parameters one level</a></p>
- <p><a href="/files/assets/test.png/">rest parameters two level</a></p>
- <p><a href="/files/assets/images/test.png/">rest parameters three level</a></p>
- </body>
- <style>
- h1 {
- background-color: red;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js
deleted file mode 100644
index e69de29bb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js
+++ /dev/null
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro
deleted file mode 100644
index bdda9b12c..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-export const prerender = true;
----
-<html>
- <body>
- <h1>Prerender</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: yellow;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts
deleted file mode 100644
index e69de29bb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts
+++ /dev/null
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts
deleted file mode 100644
index e69de29bb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts
+++ /dev/null
diff --git a/packages/integrations/cloudflare/test/fixtures/no-output/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/no-output/astro.config.mjs
deleted file mode 100644
index b90fd5b24..000000000
--- a/packages/integrations/cloudflare/test/fixtures/no-output/astro.config.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-export default defineConfig({
- adapter: cloudflare()
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/no-output/package.json b/packages/integrations/cloudflare/test/fixtures/no-output/package.json
deleted file mode 100644
index 569c30890..000000000
--- a/packages/integrations/cloudflare/test/fixtures/no-output/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-no-output",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs
deleted file mode 100644
index bf47a0a33..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs
+++ /dev/null
@@ -1,7 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-export default defineConfig({
- adapter: cloudflare(),
- output: 'server',
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/package.json b/packages/integrations/cloudflare/test/fixtures/prerender/package.json
deleted file mode 100644
index 3b2c5fef5..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-prerender",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro
deleted file mode 100644
index dfd71c3de..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<head>
- <title>Testing</title>
-</head>
-<body>
- <h1>Testing</h1>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro b/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro
deleted file mode 100644
index e11de7add..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro
+++ /dev/null
@@ -1,11 +0,0 @@
----
-export const prerender = import.meta.env.PRERENDER;
----
-<html>
-<head>
- <title>Testing</title>
-</head>
-<body>
- <h1>Testing</h1>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
deleted file mode 100644
index 6e03bbc35..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
+++ /dev/null
@@ -1,9 +0,0 @@
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- // adapter will be set dynamically by the test
- output: 'hybrid',
- redirects: {
- '/a/redirect': '/',
- },
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/package.json b/packages/integrations/cloudflare/test/fixtures/routes-json/package.json
deleted file mode 100644
index 4ff746f02..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-routes-json",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/public/_redirects b/packages/integrations/cloudflare/test/fixtures/routes-json/public/_redirects
deleted file mode 100644
index 14e38c465..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/public/_redirects
+++ /dev/null
@@ -1 +0,0 @@
-/redirectme / 302
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/public/public.txt b/packages/integrations/cloudflare/test/fixtures/routes-json/public/public.txt
deleted file mode 100644
index 9766475a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/public/public.txt
+++ /dev/null
@@ -1 +0,0 @@
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic1.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic1.astro
deleted file mode 100644
index 9a2306b86..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic1.astro
+++ /dev/null
@@ -1,5 +0,0 @@
----
-export const prerender=false;
----
-
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic2.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic2.astro
deleted file mode 100644
index 9a2306b86..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic2.astro
+++ /dev/null
@@ -1,5 +0,0 @@
----
-export const prerender=false;
----
-
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic3.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic3.astro
deleted file mode 100644
index 9a2306b86..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic3.astro
+++ /dev/null
@@ -1,5 +0,0 @@
----
-export const prerender=false;
----
-
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/index.astro
deleted file mode 100644
index 9a2306b86..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/index.astro
+++ /dev/null
@@ -1,5 +0,0 @@
----
-export const prerender=false;
----
-
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[...rest].astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[...rest].astro
deleted file mode 100644
index 9a2306b86..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[...rest].astro
+++ /dev/null
@@ -1,5 +0,0 @@
----
-export const prerender=false;
----
-
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[id].astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[id].astro
deleted file mode 100644
index 9a2306b86..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[id].astro
+++ /dev/null
@@ -1,5 +0,0 @@
----
-export const prerender=false;
----
-
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/endpoint.ts b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/endpoint.ts
deleted file mode 100644
index d43d0cd2a..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/endpoint.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const prerender = false;
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/index.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/index.astro
deleted file mode 100644
index 9766475a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/index.astro
+++ /dev/null
@@ -1 +0,0 @@
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/b/index.html b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/b/index.html
deleted file mode 100644
index 9766475a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/b/index.html
+++ /dev/null
@@ -1 +0,0 @@
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/index.astro
deleted file mode 100644
index 9766475a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/index.astro
+++ /dev/null
@@ -1 +0,0 @@
-ok
diff --git a/packages/integrations/cloudflare/test/fixtures/runtime/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/runtime/astro.config.mjs
deleted file mode 100644
index f92829843..000000000
--- a/packages/integrations/cloudflare/test/fixtures/runtime/astro.config.mjs
+++ /dev/null
@@ -1,8 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-
-export default defineConfig({
- adapter: cloudflare(),
- output: 'server',
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/runtime/package.json b/packages/integrations/cloudflare/test/fixtures/runtime/package.json
deleted file mode 100644
index 71ac16647..000000000
--- a/packages/integrations/cloudflare/test/fixtures/runtime/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-runtime",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/runtime/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/runtime/src/pages/index.astro
deleted file mode 100644
index aa73ab8ea..000000000
--- a/packages/integrations/cloudflare/test/fixtures/runtime/src/pages/index.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-const runtime = Astro.locals.runtime;
-const env = runtime.env;
----
-<html>
- <head>
- <title>Testing</title>
- </head>
- <body>
- <h1>Testing</h1>
- <div id="env">{JSON.stringify(env)}</div>
- <div id="hasRuntime">{!!runtime.cf?.colo}</div>
- <div id="hasCache">{!!runtime.caches}</div>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs
deleted file mode 100644
index a30cd2086..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-export default defineConfig({
- adapter: cloudflare({
- mode: 'directory',
- wasmModuleImports: true
- }),
- output: 'server'
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json b/packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json
deleted file mode 100644
index 859aa4f40..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-wasm-function-per-route",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts b/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts
deleted file mode 100644
index 2c9ff6d44..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { type APIContext, type EndpointOutput } from 'astro';
-// @ts-ignore
-import mod from '../util/add.wasm?module';
-
-const addModule: any = new WebAssembly.Instance(mod);
-
-
-export async function GET(
- context: APIContext
-): Promise<EndpointOutput | Response> {
-
- return new Response(JSON.stringify({ answer: addModule.exports.add(40, 2) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasm b/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasm
deleted file mode 100644
index 357f72da7..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasm
+++ /dev/null
Binary files differ
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs
deleted file mode 100644
index 7f741d884..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs
+++ /dev/null
@@ -1,12 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-export default defineConfig({
- adapter: cloudflare({
- mode: 'directory',
- functionPerRoute: true,
- wasmModuleImports: true
- }),
- output: 'server',
- vite: { build: { minify: false } }
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json
deleted file mode 100644
index 238c1e313..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-wasm-directory",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts
deleted file mode 100644
index 20797c0c6..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { type APIContext, type EndpointOutput } from 'astro';
-import { add } from '../../../util/add';
-
-export async function GET(
- context: APIContext
-): Promise<EndpointOutput | Response> {
-
- return new Response(JSON.stringify({ answer: add(80, 4) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts
deleted file mode 100644
index b6417dde9..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { type APIContext, type EndpointOutput } from 'astro';
-import { add } from '../util/add';
-
-export async function GET(
- context: APIContext
-): Promise<EndpointOutput | Response> {
-
- return new Response(JSON.stringify({ answer: add(40, 2) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts
deleted file mode 100644
index ee336277b..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// extra layer of indirection to stress the esbuild
-import { addImpl } from "./indirection";
-
-export function add(a: number, b: number): number {
- return addImpl(a, b);
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasm b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasm
deleted file mode 100644
index 357f72da7..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasm
+++ /dev/null
Binary files differ
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts
deleted file mode 100644
index 6fbb04c49..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-// extra layer of indirection to stress the esbuild
-// @ts-ignore
-import mod from './add.wasm?module';
-
-const addModule: any = new WebAssembly.Instance(mod);
-
-export function addImpl(a: number, b: number): number {
- return addModule.exports.add(a, b);
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs
deleted file mode 100644
index b5e68667e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs
+++ /dev/null
@@ -1,9 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-
-export default defineConfig({
- adapter: cloudflare({
- wasmModuleImports: true
- }),
- output: 'server'
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/package.json b/packages/integrations/cloudflare/test/fixtures/wasm/package.json
deleted file mode 100644
index 4abd8513c..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-wasm",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "workspace:*"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/add/[a]/[b].ts b/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/add/[a]/[b].ts
deleted file mode 100644
index 130b2b2a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/add/[a]/[b].ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { type APIContext, type EndpointOutput } from 'astro';
-// @ts-ignore
-import mod from '../../../util/add.wasm?module';
-
-const addModule: any = new WebAssembly.Instance(mod);
-
-export const prerender = false;
-
-export async function GET(
- context: APIContext
-): Promise<EndpointOutput | Response> {
- const a = Number.parseInt(context.params.a!);
- const b = Number.parseInt(context.params.b!);
- return new Response(JSON.stringify({ answer: addModule.exports.add(a, b) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/hybrid.ts b/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/hybrid.ts
deleted file mode 100644
index 7bb470dff..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/hybrid.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { type APIContext, type EndpointOutput } from 'astro';
-// @ts-ignore
-import mod from '../util/add.wasm?module';
-
-const addModule: any = new WebAssembly.Instance(mod);
-
-export async function GET(
- context: APIContext
-): Promise<EndpointOutput | Response> {
- return new Response(JSON.stringify({ answer: addModule.exports.add(20, 1) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/src/util/add.wasm b/packages/integrations/cloudflare/test/fixtures/wasm/src/util/add.wasm
deleted file mode 100644
index 357f72da7..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm/src/util/add.wasm
+++ /dev/null
Binary files differ
diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/with-solid-js/astro.config.mjs
deleted file mode 100644
index 8987b7366..000000000
--- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/astro.config.mjs
+++ /dev/null
@@ -1,9 +0,0 @@
-import { defineConfig } from 'astro/config';
-import cloudflare from '@astrojs/cloudflare';
-import solidJs from "@astrojs/solid-js";
-
-export default defineConfig({
- integrations: [solidJs()],
- adapter: cloudflare(),
- output: 'server',
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json b/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json
deleted file mode 100644
index 55e344b21..000000000
--- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": "@test/astro-cloudflare-with-solid-js",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "@astrojs/solid-js": "workspace:*",
- "astro": "workspace:*",
- "solid-js": "^1.7.11"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/components/Component.tsx b/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/components/Component.tsx
deleted file mode 100644
index d223d4f1c..000000000
--- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/components/Component.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export const Component = () => <div class="solid">Solid Content</div>
diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/pages/index.astro
deleted file mode 100644
index f185a95d3..000000000
--- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/pages/index.astro
+++ /dev/null
@@ -1,13 +0,0 @@
----
-import {Component} from "../components/Component";
----
-
-<html>
-<head>
- <title>Testing</title>
-</head>
-<body>
-<h1>Testing</h1>
-<Component />
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/function-per-route.test.js b/packages/integrations/cloudflare/test/function-per-route.test.js
deleted file mode 100644
index f0287c717..000000000
--- a/packages/integrations/cloudflare/test/function-per-route.test.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { loadFixture } from './test-utils.js';
-import { expect } from 'chai';
-
-/** @type {import('./test-utils.js').Fixture} */
-describe('Cloudflare SSR functionPerRoute', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/function-per-route/',
- });
- await fixture.build();
- });
-
- after(() => {
- fixture?.clean();
- });
-
- it('generates functions folders inside the project root, and checks that each page is emitted by astro', async () => {
- expect(await fixture.pathExists('../functions')).to.be.true;
- expect(await fixture.pathExists('../functions/index.js')).to.be.true;
- expect(await fixture.pathExists('../functions/blog/cool.js')).to.be.true;
- expect(await fixture.pathExists('../functions/blog/[post].js')).to.be.true;
- expect(await fixture.pathExists('../functions/[person]/[car].js')).to.be.true;
- expect(await fixture.pathExists('../functions/files/[[path]].js')).to.be.true;
- expect(await fixture.pathExists('../functions/[language]/files/[[path]].js')).to.be.true;
- expect(await fixture.pathExists('../functions/trpc/[trpc].js')).to.be.true;
- expect(await fixture.pathExists('../functions/javascript.js')).to.be.true;
- expect(await fixture.pathExists('../functions/test.json.js')).to.be.true;
- });
-
- it('generates pre-rendered files', async () => {
- expect(await fixture.pathExists('./prerender/index.html')).to.be.true;
- });
-});
diff --git a/packages/integrations/cloudflare/test/no-output.test.js b/packages/integrations/cloudflare/test/no-output.test.js
deleted file mode 100644
index af4d9c2b6..000000000
--- a/packages/integrations/cloudflare/test/no-output.test.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import { loadFixture } from './test-utils.js';
-import { expect } from 'chai';
-
-describe('Missing output config', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/no-output/',
- });
- });
-
- it('throws during the build', async () => {
- let error = undefined;
- try {
- await fixture.build();
- } catch (err) {
- error = err;
- }
- expect(error).to.not.be.equal(undefined);
- expect(error.message).to.include(`output: "server"`);
- });
-});
diff --git a/packages/integrations/cloudflare/test/prerender.test.js b/packages/integrations/cloudflare/test/prerender.test.js
deleted file mode 100644
index 6c2b8c5bb..000000000
--- a/packages/integrations/cloudflare/test/prerender.test.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import { loadFixture } from './test-utils.js';
-import { expect } from 'chai';
-
-describe('Prerendering', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
-
- before(async () => {
- process.env.PRERENDER = true;
- fixture = await loadFixture({
- root: './fixtures/prerender/',
- });
- await fixture.build();
- });
-
- after(() => {
- delete process.env.PRERENDER;
- fixture.clean();
- });
-
- it('includes non prerendered routes in the routes.json config', async () => {
- const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json'));
-
- expect(foundRoutes).to.deep.equal({
- version: 1,
- include: ['/', '/_image'],
- exclude: [],
- });
- });
-});
-
-describe('Hybrid rendering', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
-
- before(async () => {
- process.env.PRERENDER = false;
- fixture = await loadFixture({
- root: './fixtures/prerender/',
- output: 'hybrid',
- });
- await fixture.build();
- });
-
- after(() => {
- delete process.env.PRERENDER;
- });
-
- it('includes non prerendered routes in the routes.json config', async () => {
- const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json'));
-
- expect(foundRoutes).to.deep.equal({
- version: 1,
- include: ['/one', '/_image'],
- exclude: [],
- });
- });
-});
diff --git a/packages/integrations/cloudflare/test/routes-json.test.js b/packages/integrations/cloudflare/test/routes-json.test.js
deleted file mode 100644
index 9c5cfad4a..000000000
--- a/packages/integrations/cloudflare/test/routes-json.test.js
+++ /dev/null
@@ -1,211 +0,0 @@
-import { expect } from 'chai';
-import { loadFixture } from './test-utils.js';
-import cloudflare from '../dist/index.js';
-
-/** @type {import('./test-utils.js').Fixture} */
-describe('_routes.json generation', () => {
- for (const mode of ['directory', 'advanced']) {
- for (const functionPerRoute of [false, true]) {
- describe(`with mode=${mode}, functionPerRoute=${functionPerRoute}`, () => {
- describe('of both functions and static files', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/routes-json/',
- srcDir: './src/mixed',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` for functions and `exclude` for static files where needed', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- expect(routes).to.deep.equal({
- version: 1,
- include: ['/a/*', '/_image'],
- exclude: ['/a/', '/a/redirect', '/a/index.html'],
- });
- });
- });
-
- describe('of only functions', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/routes-json/',
- srcDir: './src/dynamicOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- }),
- });
- await fixture.build();
- });
-
- it('creates a wildcard `include` and `exclude` only for static assets and redirects', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- expect(routes).to.deep.equal({
- version: 1,
- include: ['/*'],
- exclude: ['/public.txt', '/redirectme', '/a/redirect'],
- });
- });
- });
-
- describe('of only static files', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/routes-json/',
- srcDir: './src/staticOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- }),
- });
- await fixture.build();
- });
-
- it('create only one `include` and `exclude` that are supposed to match nothing', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- expect(routes).to.deep.equal({
- version: 1,
- include: ['/_image'],
- exclude: [],
- });
- });
- });
-
- describe('with strategy `"include"`', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/routes-json/',
- srcDir: './src/dynamicOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: { strategy: 'include' },
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` entries even though the `"exclude"` strategy would have produced less entries.', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- expect(routes).to.deep.equal({
- version: 1,
- include: ['/', '/_image', '/dynamic1', '/dynamic2', '/dynamic3'],
- exclude: [],
- });
- });
- });
-
- describe('with strategy `"exclude"`', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/routes-json/',
- srcDir: './src/staticOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: { strategy: 'exclude' },
- }),
- });
- await fixture.build();
- });
-
- it('creates `exclude` entries even though the `"include"` strategy would have produced less entries.', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- expect(routes).to.deep.equal({
- version: 1,
- include: ['/*'],
- exclude: ['/', '/index.html', '/public.txt', '/redirectme', '/a/redirect'],
- });
- });
- });
-
- describe('with additional `include` entries', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/routes-json/',
- srcDir: './src/mixed',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: {
- strategy: 'include',
- include: ['/another', '/a/redundant'],
- },
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` for functions and `exclude` for static files where needed', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- expect(routes).to.deep.equal({
- version: 1,
- include: ['/a/*', '/_image', '/another'],
- exclude: ['/a/', '/a/redirect', '/a/index.html'],
- });
- });
- });
-
- describe('with additional `exclude` entries', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/routes-json/',
- srcDir: './src/mixed',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: {
- strategy: 'include',
- exclude: ['/another', '/a/*', '/a/index.html'],
- },
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` for functions and `exclude` for static files where needed', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- expect(routes).to.deep.equal({
- version: 1,
- include: ['/a/*', '/_image'],
- exclude: ['/a/', '/a/*', '/another'],
- });
- });
- });
- });
- }
- }
-});
diff --git a/packages/integrations/cloudflare/test/runtime.test.js b/packages/integrations/cloudflare/test/runtime.test.js
deleted file mode 100644
index e0d77d5c6..000000000
--- a/packages/integrations/cloudflare/test/runtime.test.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import { loadFixture, runCLI } from './test-utils.js';
-import { expect } from 'chai';
-import * as cheerio from 'cheerio';
-import cloudflare from '../dist/index.js';
-
-describe('Runtime Locals', () => {
- /** @type {import('./test-utils.js').Fixture} */
- let fixture;
- /** @type {import('./test-utils.js').WranglerCLI} */
- let cli;
-
- before(async function () {
- fixture = await loadFixture({
- root: './fixtures/runtime/',
- output: 'server',
- adapter: cloudflare(),
- });
- await fixture.build();
-
- cli = await runCLI('./fixtures/runtime/', {
- silent: true,
- onTimeout: (ex) => {
- console.log(ex);
- // if fail to start, skip for now as it's very flaky
- this.skip();
- },
- });
- });
-
- after(async () => {
- await cli?.stop();
- });
-
- it('has CF and Caches', async () => {
- let res = await fetch(`http://127.0.0.1:${cli.port}/`);
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('#env').text()).to.contain('SECRET_STUFF');
- expect($('#env').text()).to.contain('secret');
- expect($('#hasRuntime').text()).to.contain('true');
- expect($('#hasCache').text()).to.equal('true');
- });
-});
diff --git a/packages/integrations/cloudflare/test/test-utils.js b/packages/integrations/cloudflare/test/test-utils.js
deleted file mode 100644
index 5e0c698f4..000000000
--- a/packages/integrations/cloudflare/test/test-utils.js
+++ /dev/null
@@ -1,169 +0,0 @@
-import { spawn } from 'node:child_process';
-import { fileURLToPath } from 'node:url';
-import { loadFixture as baseLoadFixture } from '../../../astro/test/test-utils.js';
-import * as net from 'node:net';
-export { fixLineEndings } from '../../../astro/test/test-utils.js';
-/**
- * @typedef {{ stop: Promise<void>, port: number }} WranglerCLI
- * @typedef {import('../../../astro/test/test-utils').Fixture} Fixture
- */
-
-export function loadFixture(config) {
- if (config?.root) {
- config.root = new URL(config.root, import.meta.url);
- }
- return baseLoadFixture(config);
-}
-
-const wranglerPath = fileURLToPath(
- new URL('../node_modules/wrangler/bin/wrangler.js', import.meta.url)
-);
-
-let lastPort = 8788;
-
-/**
- * @returns {Promise<WranglerCLI>}
- */
-export async function runCLI(
- basePath,
- {
- silent,
- maxAttempts = 3,
- timeoutMillis = 2500, // really short because it often seems to just hang on the first try, but work subsequently, no matter the wait
- backoffFactor = 2, // | - 2.5s -- 5s ---- 10s -> onTimeout
- onTimeout = (ex) => {
- new Error(`Timed out starting the wrangler CLI after ${maxAttempts} tries.`, { cause: ex });
- },
- }
-) {
- let triesRemaining = maxAttempts;
- let timeout = timeoutMillis;
- let cli;
- let lastErr;
- while (triesRemaining > 0) {
- cli = await tryRunCLI(basePath, {
- silent,
- timeout,
- forceRotatePort: triesRemaining !== maxAttempts,
- });
- try {
- await cli.ready;
- return cli;
- } catch (err) {
- lastErr = err;
- console.error((err.message || err.name || err) + ' after ' + timeout + 'ms');
- cli.stop();
- triesRemaining -= 1;
- timeout *= backoffFactor;
- }
- }
- onTimeout(lastErr);
- return cli;
-}
-
-async function tryRunCLI(basePath, { silent, timeout, forceRotatePort = false }) {
- const port = await getNextOpenPort(lastPort + (forceRotatePort ? 1 : 0));
- lastPort = port;
-
- const fixtureDir = fileURLToPath(new URL(`${basePath}`, import.meta.url));
- const p = spawn(
- 'node',
- [
- wranglerPath,
- 'pages',
- 'dev',
- 'dist',
- '--port',
- port,
- '--log-level',
- 'info',
- '--persist-to',
- '.wrangler/state',
- ],
- {
- cwd: fixtureDir,
- }
- );
-
- p.stderr.setEncoding('utf-8');
- p.stdout.setEncoding('utf-8');
-
- const ready = new Promise(async (resolve, reject) => {
- const failed = setTimeout(() => {
- p.kill('SIGKILL');
- reject(new Error(`Timed out starting the wrangler CLI`));
- }, timeout);
-
- const success = () => {
- clearTimeout(failed);
- resolve();
- };
-
- p.on('exit', (code) => reject(`wrangler terminated unexpectedly with exit code ${code}`));
-
- p.stderr.on('data', (data) => {
- if (!silent) {
- process.stdout.write(data);
- }
- });
- let allData = '';
- p.stdout.on('data', (data) => {
- if (!silent) {
- process.stdout.write(data);
- }
- allData += data;
- if (allData.includes(`[mf:inf] Ready on`)) {
- success();
- }
- });
- });
-
- return {
- port,
- ready,
- stop() {
- return new Promise((resolve, reject) => {
- const timer = setTimeout(() => {
- p.kill('SIGKILL');
- }, 1000);
- p.on('close', () => {
- clearTimeout(timer);
- resolve();
- });
- p.on('error', (err) => reject(err));
- p.kill();
- });
- },
- };
-}
-
-const isPortOpen = async (port) => {
- return new Promise((resolve, reject) => {
- let s = net.createServer();
- s.once('error', (err) => {
- s.close();
- if (err['code'] == 'EADDRINUSE') {
- resolve(false);
- } else {
- reject(err);
- }
- });
- s.once('listening', () => {
- resolve(true);
- s.close();
- });
- s.listen(port, '0.0.0.0');
- });
-};
-
-const getNextOpenPort = async (startFrom) => {
- let openPort = null;
- while (startFrom < 65535 || !!openPort) {
- if (await isPortOpen(startFrom)) {
- openPort = startFrom;
- break;
- }
- startFrom++;
- }
- return openPort;
-};
diff --git a/packages/integrations/cloudflare/test/wasm-directory.test.js b/packages/integrations/cloudflare/test/wasm-directory.test.js
deleted file mode 100644
index 0f387a660..000000000
--- a/packages/integrations/cloudflare/test/wasm-directory.test.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { loadFixture, runCLI } from './test-utils.js';
-import { expect } from 'chai';
-
-describe('Wasm directory mode import', () => {
- /** @type {import('./test-utils.js').Fixture} */
- let fixture;
- /** @type {import('./test-utils.js').WranglerCLI} */
- let cli;
-
- before(async function () {
- fixture = await loadFixture({
- root: './fixtures/wasm-directory/',
- });
- await fixture.build();
-
- cli = await runCLI('./fixtures/wasm-directory/', {
- silent: true,
- onTimeout: (ex) => {
- console.log(ex);
- // if fail to start, skip for now as it's very flaky
- this.skip();
- },
- });
- });
-
- after(async () => {
- await cli?.stop();
- });
-
- it('can render', async () => {
- let res = await fetch(`http://127.0.0.1:${cli.port}/`);
- expect(res.status).to.equal(200);
- const json = await res.json();
- expect(json).to.deep.equal({ answer: 42 });
- });
-});
diff --git a/packages/integrations/cloudflare/test/wasm-function-per-route.test.js b/packages/integrations/cloudflare/test/wasm-function-per-route.test.js
deleted file mode 100644
index f751f1ff4..000000000
--- a/packages/integrations/cloudflare/test/wasm-function-per-route.test.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import { loadFixture, runCLI } from './test-utils.js';
-import { expect } from 'chai';
-
-describe('Wasm function per route import', () => {
- /** @type {import('./test-utils.js').Fixture} */
- let fixture;
- /** @type {import('./test-utils.js').WranglerCLI} */
- let cli;
-
- before(async function () {
- fixture = await loadFixture({
- root: './fixtures/wasm-function-per-route/',
- });
- await fixture.build();
-
- cli = await runCLI('./fixtures/wasm-function-per-route/', {
- silent: true,
- onTimeout: (ex) => {
- console.log(ex);
- // if fail to start, skip for now as it's very flaky
- this.skip();
- },
- });
- });
-
- after(async () => {
- await cli?.stop();
- });
-
- it('can render', async () => {
- let res = await fetch(`http://127.0.0.1:${cli.port}/`);
- expect(res.status).to.equal(200);
- let json = await res.json();
- expect(json).to.deep.equal({ answer: 42 });
-
- res = await fetch(`http://127.0.0.1:${cli.port}/deeply/nested/route`);
- expect(res.status).to.equal(200);
- json = await res.json();
- expect(json).to.deep.equal({ answer: 84 });
- });
-});
diff --git a/packages/integrations/cloudflare/test/wasm.test.js b/packages/integrations/cloudflare/test/wasm.test.js
deleted file mode 100644
index 279a00cd1..000000000
--- a/packages/integrations/cloudflare/test/wasm.test.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import { loadFixture, runCLI } from './test-utils.js';
-import { expect } from 'chai';
-import cloudflare from '../dist/index.js';
-
-describe('Wasm import', () => {
- describe('in cloudflare workerd', () => {
- /** @type {import('./test-utils.js').Fixture} */
- let fixture;
- /** @type {import('./test-utils.js').WranglerCLI} */
- let cli;
-
- before(async function () {
- fixture = await loadFixture({
- root: './fixtures/wasm/',
- });
- await fixture.build();
-
- cli = await runCLI('./fixtures/wasm/', {
- silent: true,
- onTimeout: (ex) => {
- console.log(ex);
- // if fail to start, skip for now as it's very flaky
- this.skip();
- },
- });
- });
-
- after(async () => {
- await cli?.stop();
- });
-
- it('can render', async () => {
- let res = await fetch(`http://127.0.0.1:${cli.port}/add/40/2`);
- expect(res.status).to.equal(200);
- const json = await res.json();
- expect(json).to.deep.equal({ answer: 42 });
- });
- });
- describe('astro dev server', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
- let devServer;
-
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/wasm/',
- });
- devServer = undefined;
- });
-
- after(async () => {
- await devServer?.stop();
- });
-
- it('can serve wasm', async () => {
- devServer = await fixture.startDevServer();
- let res = await fetch(`http://localhost:${devServer.address.port}/add/60/3`);
- expect(res.status).to.equal(200);
- const json = await res.json();
- expect(json).to.deep.equal({ answer: 63 });
- });
-
- it('fails to build intelligently when wasm is disabled', async () => {
- let ex;
- try {
- await fixture.build({
- adapter: cloudflare({
- wasmModuleImports: false,
- }),
- });
- } catch (err) {
- ex = err;
- }
- expect(ex?.message).to.have.string('add `wasmModuleImports: true` to your astro config');
- });
-
- it('can import wasm in both SSR and SSG pages', async () => {
- await fixture.build({ output: 'hybrid' });
- const staticContents = await fixture.readFile('./hybrid');
- expect(staticContents).to.be.equal('{"answer":21}');
- const assets = await fixture.readdir('./_astro');
- expect(assets.map((x) => x.slice(x.lastIndexOf('.')))).to.contain('.wasm');
- });
- });
-});
diff --git a/packages/integrations/cloudflare/test/with-solid-js.test.js b/packages/integrations/cloudflare/test/with-solid-js.test.js
deleted file mode 100644
index 501a947d0..000000000
--- a/packages/integrations/cloudflare/test/with-solid-js.test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import { loadFixture, runCLI } from './test-utils.js';
-import { expect } from 'chai';
-import * as cheerio from 'cheerio';
-
-describe('With SolidJS', () => {
- /** @type {import('./test-utils').Fixture} */
- let fixture;
- /** @type {import('./test-utils').WranglerCLI} */
- let cli;
-
- before(async function () {
- fixture = await loadFixture({
- root: './fixtures/with-solid-js/',
- });
- await fixture.build();
-
- cli = await runCLI('./fixtures/with-solid-js/', {
- silent: true,
- onTimeout: (ex) => {
- console.log(ex);
- // if fail to start, skip for now as it's very flaky
- this.skip();
- },
- });
- });
-
- after(async () => {
- await cli?.stop();
- });
-
- it('renders the solid component', async () => {
- let res = await fetch(`http://127.0.0.1:${cli.port}/`);
- expect(res.status).to.equal(200);
- let html = await res.text();
- let $ = cheerio.load(html);
- expect($('.solid').text()).to.equal('Solid Content');
- });
-});
diff --git a/packages/integrations/cloudflare/test/wrangler.toml b/packages/integrations/cloudflare/test/wrangler.toml
deleted file mode 100644
index 2c1acb55a..000000000
--- a/packages/integrations/cloudflare/test/wrangler.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-# for tests only
-
-send_metrics = false
-
-[vars]
-SECRET_STUFF = "secret"