feat: Remove podTemplateFolder as a variable.

This is now possible due to TemplatedResourcesGenerator
accepting path strings relative to the module root.
This commit is contained in:
Joachim Van Herwegen
2021-04-15 11:55:06 +02:00
parent e9917322e3
commit 1d9b027a57
16 changed files with 21 additions and 33 deletions

View File

@@ -34,12 +34,11 @@ describe.each(configs)('A dynamic pod server with template config %s', (template
'urn:solid-server:default:variable:baseUrl': baseUrl,
'urn:solid-server:default:variable:port': port,
'urn:solid-server:default:variable:rootFilePath': rootFilePath,
'urn:solid-server:default:variable:podTemplateFolder': joinFilePath(__dirname, '../assets/templates'),
'urn:solid-server:default:variable:podConfigJson': podConfigJson,
};
// Need to make sure the temp folder exists so the podConfigJson can be written to it
mkdirSync(rootFilePath);
mkdirSync(rootFilePath, { recursive: true });
// Create and initialize the HTTP handler and related components
const instances = await instantiateFromConfig(

View File

@@ -1,7 +1,6 @@
import type { Server } from 'http';
import fetch from 'cross-fetch';
import type { HttpServerFactory } from '../../src/server/HttpServerFactory';
import { joinFilePath } from '../../src/util/PathUtil';
import { readableToString } from '../../src/util/StreamUtil';
import { instantiateFromConfig } from './Config';
@@ -17,7 +16,6 @@ describe('A server with a pod handler', (): void => {
'urn:solid-server:default:ServerFactory', 'server-without-auth.json', {
'urn:solid-server:default:variable:port': port,
'urn:solid-server:default:variable:baseUrl': baseUrl,
'urn:solid-server:default:variable:podTemplateFolder': joinFilePath(__dirname, '../assets/templates'),
},
) as HttpServerFactory;
server = factory.startServer(port);

View File

@@ -2,7 +2,6 @@ import type { Server } from 'http';
import fetch from 'cross-fetch';
import type { Initializer } from '../../src/init/Initializer';
import type { HttpServerFactory } from '../../src/server/HttpServerFactory';
import { joinFilePath } from '../../src/util/PathUtil';
import { instantiateFromConfig } from './Config';
const port = 6004;
@@ -19,7 +18,6 @@ describe('A Solid server', (): void => {
'urn:solid-server:test:Instances', 'server-memory.json', {
'urn:solid-server:default:variable:port': port,
'urn:solid-server:default:variable:baseUrl': baseUrl,
'urn:solid-server:default:variable:podTemplateFolder': joinFilePath(__dirname, '../assets/templates'),
},
) as Record<string, any>;
({ factory, initializer } = instances);

View File

@@ -3,7 +3,6 @@ import fetch from 'cross-fetch';
import type { Initializer } from '../../src/init/Initializer';
import type { HttpServerFactory } from '../../src/server/HttpServerFactory';
import type { ResourceStore } from '../../src/storage/ResourceStore';
import { joinFilePath } from '../../src/util/PathUtil';
import { getTestFolder, instantiateFromConfig, removeFolder } from './Config';
const port = 6005;
@@ -35,7 +34,6 @@ describe.each(stores)('A subdomain server with %s', (name, { storeUrn, teardown
'urn:solid-server:default:variable:baseUrl': baseUrl,
'urn:solid-server:default:variable:port': port,
'urn:solid-server:default:variable:rootFilePath': rootFilePath,
'urn:solid-server:default:variable:podTemplateFolder': joinFilePath(__dirname, '../assets/templates'),
};
const internalStore = await instantiateFromConfig(
storeUrn,

View File

@@ -16,7 +16,6 @@ describe('A server with the Solid WebSockets API behind a proxy', (): void => {
'urn:solid-server:default:ServerFactory', 'server-without-auth.json', {
'urn:solid-server:default:variable:port': port,
'urn:solid-server:default:variable:baseUrl': 'https://example.pod/',
'urn:solid-server:default:variable:podTemplateFolder': 'templates/pod',
},
) as HttpServerFactory;
server = factory.startServer(port);

View File

@@ -76,6 +76,10 @@
"BaseUrlRouterRule:_baseStore": {
"@id": "urn:solid-server:default:MemoryResourceStore"
}
},
{
"@id": "urn:solid-server:default:ResourcesGenerator",
"TemplatedResourcesGenerator:_templateFolder": "$PACKAGE_ROOT/test/assets/templates"
}
]
}

View File

@@ -79,6 +79,10 @@
"@id": "urn:solid-server:default:variable:store"
}
},
{
"@id": "urn:solid-server:default:ResourcesGenerator",
"TemplatedResourcesGenerator:_templateFolder": "$PACKAGE_ROOT/test/assets/templates"
},
{
"@id": "urn:solid-server:default:variable:store",
"@type": "Variable"

View File

@@ -48,6 +48,10 @@
"PassthroughStore:_source": {
"@id": "urn:solid-server:default:MemoryResourceStore"
}
},
{
"@id": "urn:solid-server:default:ResourcesGenerator",
"TemplatedResourcesGenerator:_templateFolder": "$PACKAGE_ROOT/test/assets/templates"
}
]
}

View File

@@ -60,7 +60,6 @@ describe('CliRunner', (): void => {
'urn:solid-server:default:variable:rootFilePath': '/var/cwd/',
'urn:solid-server:default:variable:sparqlEndpoint': undefined,
'urn:solid-server:default:variable:loggingLevel': 'info',
'urn:solid-server:default:variable:podTemplateFolder': joinFilePath(__dirname, '../../../templates/pod'),
'urn:solid-server:default:variable:podConfigJson': '/var/cwd/pod-config.json',
},
},
@@ -80,7 +79,6 @@ describe('CliRunner', (): void => {
'-m', 'module/path',
'-p', '4000',
'-s', 'http://localhost:5000/sparql',
'-t', 'templates',
'--podConfigJson', '/different-path.json',
],
});
@@ -104,7 +102,6 @@ describe('CliRunner', (): void => {
variables: {
'urn:solid-server:default:variable:baseUrl': 'http://pod.example/',
'urn:solid-server:default:variable:loggingLevel': 'debug',
'urn:solid-server:default:variable:podTemplateFolder': '/var/cwd/templates',
'urn:solid-server:default:variable:port': 4000,
'urn:solid-server:default:variable:rootFilePath': '/root',
'urn:solid-server:default:variable:sparqlEndpoint': 'http://localhost:5000/sparql',
@@ -122,7 +119,6 @@ describe('CliRunner', (): void => {
'--config', 'myconfig.json',
'--loggingLevel', 'debug',
'--mainModulePath', 'module/path',
'--podTemplateFolder', 'templates',
'--port', '4000',
'--rootFilePath', 'root',
'--sparqlEndpoint', 'http://localhost:5000/sparql',
@@ -149,7 +145,6 @@ describe('CliRunner', (): void => {
variables: {
'urn:solid-server:default:variable:baseUrl': 'http://pod.example/',
'urn:solid-server:default:variable:loggingLevel': 'debug',
'urn:solid-server:default:variable:podTemplateFolder': '/var/cwd/templates',
'urn:solid-server:default:variable:port': 4000,
'urn:solid-server:default:variable:rootFilePath': '/var/cwd/root',
'urn:solid-server:default:variable:sparqlEndpoint': 'http://localhost:5000/sparql',
@@ -170,7 +165,6 @@ describe('CliRunner', (): void => {
'-m', 'module/path',
'-p', '4000',
'-s', 'http://localhost:5000/sparql',
'-t', 'templates',
'--podConfigJson', '/different-path.json',
];
@@ -195,7 +189,6 @@ describe('CliRunner', (): void => {
variables: {
'urn:solid-server:default:variable:baseUrl': 'http://pod.example/',
'urn:solid-server:default:variable:loggingLevel': 'debug',
'urn:solid-server:default:variable:podTemplateFolder': '/var/cwd/templates',
'urn:solid-server:default:variable:port': 4000,
'urn:solid-server:default:variable:rootFilePath': '/root',
'urn:solid-server:default:variable:sparqlEndpoint': 'http://localhost:5000/sparql',

View File

@@ -38,7 +38,7 @@ async function genToArray<T>(iterable: AsyncIterable<T>): Promise<T[]> {
}
describe('A TemplatedResourcesGenerator', (): void => {
const rootFilePath = 'templates/pod';
const rootFilePath = '/templates/pod';
// Using handlebars engine since it's smaller than any possible dummy
const generator = new TemplatedResourcesGenerator(rootFilePath, new DummyFactory(), new HandlebarsTemplateEngine());
let cache: { data: any };