aboutsummaryrefslogtreecommitdiff
path: root/packages/db/test/ssr-no-apptoken.test.js
blob: a78d7bf585c873fe490308a27b499eb77082b008 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import assert from 'node:assert/strict';
import { after, before, describe, it } from 'node:test';
import testAdapter from '../../astro/test/test-adapter.js';
import { loadFixture } from '../../astro/test/test-utils.js';
import { setupRemoteDbServer } from './test-utils.js';

describe('missing app token', () => {
	let fixture;
	let remoteDbServer;
	before(async () => {
		fixture = await loadFixture({
			root: new URL('./fixtures/no-apptoken/', import.meta.url),
			output: 'server',
			adapter: testAdapter(),
		});

		remoteDbServer = await setupRemoteDbServer(fixture.config);
		await fixture.build();
		// Ensure there's no token at runtime
		delete process.env.ASTRO_DB_APP_TOKEN;
	});

	after(async () => {
		await remoteDbServer?.stop();
	});

	it('Errors as runtime', async () => {
		const app = await fixture.loadTestAdapterApp();
		const request = new Request('http://example.com/');
		const response = await app.render(request);
		try {
			await response.text();
		} catch {
			assert.equal(response.status, 501);
		}
	});
});