local-prod.test.js — astro Source File
Architecture documentation for local-prod.test.js, a javascript file in the astro codebase. 7 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3["local-prod.test.js"] be670a78_841c_46e5_0af5_c5c328869ecb["test-adapter.js"] 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 --> be670a78_841c_46e5_0af5_c5c328869ecb 0a624eac_945e_c9e8_c9de_3feb9de2dd15["test-utils.js"] 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 --> 0a624eac_945e_c9e8_c9de_3feb9de2dd15 dd4f09ce_3fd7_8295_f616_8876cda4555c["loadFixture"] 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 --> dd4f09ce_3fd7_8295_f616_8876cda4555c e1e2fac7_5a95_7a88_cb1e_0a3b91c4e607["strict"] 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 --> e1e2fac7_5a95_7a88_cb1e_0a3b91c4e607 c52a5f83_66e3_37d7_9ebb_767f7129bc62["node:path"] 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 --> c52a5f83_66e3_37d7_9ebb_767f7129bc62 6b0635f9_51ea_77aa_767b_7857878e98a6["node:test"] 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 --> 6b0635f9_51ea_77aa_767b_7857878e98a6 d9a92db9_c95e_9165_13ac_24b3d859d946["node:url"] 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 --> d9a92db9_c95e_9165_13ac_24b3d859d946 style 4f40e0d5_d00c_81a1_1c7d_b5f979d227d3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import assert from 'node:assert/strict';
import { relative } from 'node:path';
import { after, before, describe, it } from 'node:test';
import { fileURLToPath } from 'node:url';
import testAdapter from '../../astro/test/test-adapter.js';
import { loadFixture } from '../../astro/test/test-utils.js';
describe('astro:db local database', () => {
describe('build (not remote) with DATABASE_FILE env (file URL)', () => {
let fixture;
const prodDbPath = new URL('./fixtures/basics/dist/astro.db', import.meta.url).toString();
before(async () => {
process.env.ASTRO_DATABASE_FILE = prodDbPath;
const root = new URL('./fixtures/local-prod/', import.meta.url);
fixture = await loadFixture({
root,
outDir: fileURLToPath(new URL('./dist/file-url/', root)),
output: 'server',
adapter: testAdapter(),
});
await fixture.build();
});
after(async () => {
delete process.env.ASTRO_DATABASE_FILE;
});
it('Can render page', async () => {
const app = await fixture.loadTestAdapterApp();
const request = new Request('http://example.com/');
const response = await app.render(request);
assert.equal(response.status, 200);
});
});
describe('build (not remote) with DATABASE_FILE env (relative file path)', () => {
let fixture;
const absoluteFileUrl = new URL('./fixtures/basics/dist/astro.db', import.meta.url);
const prodDbPath = relative(process.cwd(), fileURLToPath(absoluteFileUrl));
before(async () => {
process.env.ASTRO_DATABASE_FILE = prodDbPath;
const root = new URL('./fixtures/local-prod/', import.meta.url);
fixture = await loadFixture({
root,
outDir: fileURLToPath(new URL('./dist/relative/', root)),
output: 'server',
adapter: testAdapter(),
});
await fixture.build();
});
after(async () => {
delete process.env.ASTRO_DATABASE_FILE;
});
it('Can render page', async () => {
const app = await fixture.loadTestAdapterApp();
const request = new Request('http://example.com/');
const response = await app.render(request);
assert.equal(response.status, 200);
});
});
describe('build (not remote)', () => {
it('should throw during the build for server output', async () => {
delete process.env.ASTRO_DATABASE_FILE;
const root = new URL('./fixtures/local-prod/', import.meta.url);
const fixture = await loadFixture({
root,
outDir: fileURLToPath(new URL('./dist/not-remote/', root)),
output: 'server',
adapter: testAdapter(),
});
let buildError = null;
try {
await fixture.build();
} catch (err) {
buildError = err;
}
assert.equal(buildError instanceof Error, true);
});
it('should throw during the build for hybrid output', async () => {
let root = new URL('./fixtures/local-prod/', import.meta.url);
const fixture2 = await loadFixture({
root,
outDir: fileURLToPath(new URL('./dist/hybrid-output/', root)),
output: 'static',
adapter: testAdapter(),
});
delete process.env.ASTRO_DATABASE_FILE;
let buildError = null;
try {
await fixture2.build();
} catch (err) {
buildError = err;
}
assert.equal(buildError instanceof Error, true);
});
});
});
Domain
Dependencies
- loadFixture
- node:path
- node:test
- node:url
- strict
- test-adapter.js
- test-utils.js
Source
Frequently Asked Questions
What does local-prod.test.js do?
local-prod.test.js is a source file in the astro codebase, written in javascript. It belongs to the IntegrationAdapters domain.
What does local-prod.test.js depend on?
local-prod.test.js imports 7 module(s): loadFixture, node:path, node:test, node:url, strict, test-adapter.js, test-utils.js.
Where is local-prod.test.js in the architecture?
local-prod.test.js is located at packages/db/test/local-prod.test.js (domain: IntegrationAdapters, directory: packages/db/test).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free