aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/test
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2022-04-22 10:03:25 -0400
committerGravatar GitHub <noreply@github.com> 2022-04-22 10:03:25 -0400
commit19667c45f318ec13cdc2b51016f3fa3487b2a32d (patch)
tree7092f20c31d95fd74c412d188cbc02eab67402de /packages/integrations/netlify/test
parente632c090494b70d563eebc9f961e76cd9c28551b (diff)
downloadastro-19667c45f318ec13cdc2b51016f3fa3487b2a32d.tar.gz
astro-19667c45f318ec13cdc2b51016f3fa3487b2a32d.tar.zst
astro-19667c45f318ec13cdc2b51016f3fa3487b2a32d.zip
Netlify Edge: forward requests for static assets (#3170)
* Netlify Edge: forward requests for static assets * Adds a changeset * Don't run edge tests, yet
Diffstat (limited to 'packages/integrations/netlify/test')
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/astro.config.mjs11
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/package.json9
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/public/styles.css3
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/src/pages/[...all].astro9
-rw-r--r--packages/integrations/netlify/test/edge-functions/root-dynamic.test.ts16
5 files changed, 48 insertions, 0 deletions
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/astro.config.mjs b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/astro.config.mjs
new file mode 100644
index 000000000..c55135e43
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/astro.config.mjs
@@ -0,0 +1,11 @@
+import { defineConfig } from 'astro/config';
+import { netlifyEdgeFunctions } from '@astrojs/netlify';
+
+export default defineConfig({
+ adapter: netlifyEdgeFunctions({
+ dist: new URL('./dist/', import.meta.url),
+ }),
+ experimental: {
+ ssr: true
+ }
+})
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/package.json b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/package.json
new file mode 100644
index 000000000..6e548c151
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "@test/netlify-edge-root-dynamic",
+ "version": "0.0.0",
+ "private": true,
+ "dependencies": {
+ "astro": "workspace:*",
+ "@astrojs/netlify": "workspace:*"
+ }
+}
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/public/styles.css b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/public/styles.css
new file mode 100644
index 000000000..eedeb9d0f
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/public/styles.css
@@ -0,0 +1,3 @@
+body {
+ background: blue;
+}
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/src/pages/[...all].astro b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/src/pages/[...all].astro
new file mode 100644
index 000000000..b61f6fc44
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/root-dynamic/src/pages/[...all].astro
@@ -0,0 +1,9 @@
+<html>
+<head>
+ <title>Testing</title>
+ <link rel="stylesheet" href="/styles.css">
+</head>
+<body>
+ <h1>Testing</h1>
+</body>
+</html>
diff --git a/packages/integrations/netlify/test/edge-functions/root-dynamic.test.ts b/packages/integrations/netlify/test/edge-functions/root-dynamic.test.ts
new file mode 100644
index 000000000..c6504e188
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/root-dynamic.test.ts
@@ -0,0 +1,16 @@
+// @ts-ignore
+import { runBuild } from './test-utils.ts';
+// @ts-ignore
+import { assertEquals, assert, DOMParser } from './deps.ts';
+
+// @ts-ignore
+Deno.test({
+ name: 'Assets are preferred over HTML routes',
+ async fn() {
+ let close = await runBuild('./fixtures/root-dynamic/');
+ const { default: handler } = await import('./fixtures/root-dynamic/dist/edge-functions/entry.js');
+ const response = await handler(new Request('http://example.com/styles.css'));
+ assertEquals(response, undefined, 'No response because this is an asset');
+ await close();
+ },
+});