summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/test/functions/cookies.test.js
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2022-04-19 11:22:15 -0400
committerGravatar GitHub <noreply@github.com> 2022-04-19 11:22:15 -0400
commitee3577933703799580d463755aab2951d20e2f82 (patch)
treec80148832d2d6724dcec9f957b0c660328bae034 /packages/integrations/netlify/test/functions/cookies.test.js
parentf21d97fb4cba5bb82b4de9c07633823e12b15931 (diff)
downloadastro-ee3577933703799580d463755aab2951d20e2f82.tar.gz
astro-ee3577933703799580d463755aab2951d20e2f82.tar.zst
astro-ee3577933703799580d463755aab2951d20e2f82.zip
Netlify Edge function support (#3148)
* Netlify Edge function support * Update readme with edge function information * Adds a changeset * Disable running edge function test in CI for now
Diffstat (limited to 'packages/integrations/netlify/test/functions/cookies.test.js')
-rw-r--r--packages/integrations/netlify/test/functions/cookies.test.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/integrations/netlify/test/functions/cookies.test.js b/packages/integrations/netlify/test/functions/cookies.test.js
new file mode 100644
index 000000000..93cc05229
--- /dev/null
+++ b/packages/integrations/netlify/test/functions/cookies.test.js
@@ -0,0 +1,42 @@
+import { expect } from 'chai';
+import { load as cheerioLoad } from 'cheerio';
+import { loadFixture, testIntegration } from './test-utils.js';
+import netlifyAdapter from '../../dist/index.js';
+import { fileURLToPath } from 'url';
+
+describe('Cookies', () => {
+ /** @type {import('../../../astro/test/test-utils').Fixture} */
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: new URL('./fixtures/cookies/', import.meta.url).toString(),
+ experimental: {
+ ssr: true,
+ },
+ adapter: netlifyAdapter({
+ dist: new URL('./fixtures/cookies/dist/', import.meta.url),
+ }),
+ site: `http://example.com`,
+ integrations: [ testIntegration() ]
+ });
+ await fixture.build();
+ });
+
+ it('Can set multiple', async () => {
+ const entryURL = new URL('./fixtures/cookies/dist/functions/entry.mjs', import.meta.url);
+ const { handler } = await import(entryURL);
+ const resp = await handler({
+ httpMethod: 'POST',
+ headers: {},
+ rawUrl: 'http://example.com/login',
+ body: '{}',
+ isBase64Encoded: false,
+ });
+ expect(resp.statusCode).to.equal(301);
+ expect(resp.headers.location).to.equal('/');
+ expect(resp.multiValueHeaders).to.be.deep.equal({
+ 'set-cookie': ['foo=foo; HttpOnly', 'bar=bar; HttpOnly'],
+ });
+ });
+});