mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
refactor: Remove Setup.
This commit is contained in:
parent
04a91858c2
commit
badbe0032b
@ -3,6 +3,7 @@
|
||||
"import": [
|
||||
"files-scs:config/presets/acl.json",
|
||||
"files-scs:config/presets/http.json",
|
||||
"files-scs:config/presets/init.json",
|
||||
"files-scs:config/presets/ldp.json",
|
||||
"files-scs:config/presets/ldp/credentials-extractor.json",
|
||||
"files-scs:config/presets/ldp/metadata-handler.json",
|
||||
@ -15,7 +16,6 @@
|
||||
"files-scs:config/presets/middleware.json",
|
||||
"files-scs:config/presets/pod-management.json",
|
||||
"files-scs:config/presets/representation-conversion.json",
|
||||
"files-scs:config/presets/setup.json",
|
||||
"files-scs:config/presets/storage/backend/storage-memory.json",
|
||||
"files-scs:config/presets/storage/routing/no-routing.json",
|
||||
"files-scs:config/presets/storage-wrapper.json",
|
||||
|
@ -3,6 +3,7 @@
|
||||
"import": [
|
||||
"files-scs:config/presets/acl.json",
|
||||
"files-scs:config/presets/http.json",
|
||||
"files-scs:config/presets/init.json",
|
||||
"files-scs:config/presets/ldp.json",
|
||||
"files-scs:config/presets/ldp/credentials-extractor.json",
|
||||
"files-scs:config/presets/ldp/metadata-handler.json",
|
||||
@ -15,7 +16,6 @@
|
||||
"files-scs:config/presets/middleware.json",
|
||||
"files-scs:config/presets/pod-management.json",
|
||||
"files-scs:config/presets/representation-conversion.json",
|
||||
"files-scs:config/presets/setup.json",
|
||||
"files-scs:config/presets/storage/backend/storage-filesystem.json",
|
||||
"files-scs:config/presets/storage/routing/no-routing.json",
|
||||
"files-scs:config/presets/storage-wrapper.json",
|
||||
|
@ -3,6 +3,7 @@
|
||||
"import": [
|
||||
"files-scs:config/presets/acl.json",
|
||||
"files-scs:config/presets/http.json",
|
||||
"files-scs:config/presets/init.json",
|
||||
"files-scs:config/presets/ldp.json",
|
||||
"files-scs:config/presets/ldp/credentials-extractor.json",
|
||||
"files-scs:config/presets/ldp/metadata-handler.json",
|
||||
@ -15,7 +16,6 @@
|
||||
"files-scs:config/presets/middleware.json",
|
||||
"files-scs:config/presets/pod-management.json",
|
||||
"files-scs:config/presets/representation-conversion.json",
|
||||
"files-scs:config/presets/setup.json",
|
||||
"files-scs:config/presets/storage/backend/storage-filesystem.json",
|
||||
"files-scs:config/presets/storage/backend/storage-memory.json",
|
||||
"files-scs:config/presets/storage/backend/storage-sparql-endpoint.json",
|
||||
|
@ -3,6 +3,7 @@
|
||||
"import": [
|
||||
"files-scs:config/presets/acl.json",
|
||||
"files-scs:config/presets/http.json",
|
||||
"files-scs:config/presets/init.json",
|
||||
"files-scs:config/presets/ldp.json",
|
||||
"files-scs:config/presets/ldp/credentials-extractor.json",
|
||||
"files-scs:config/presets/ldp/metadata-handler.json",
|
||||
@ -15,7 +16,6 @@
|
||||
"files-scs:config/presets/middleware.json",
|
||||
"files-scs:config/presets/pod-management.json",
|
||||
"files-scs:config/presets/representation-conversion.json",
|
||||
"files-scs:config/presets/setup.json",
|
||||
"files-scs:config/presets/storage/backend/storage-filesystem.json",
|
||||
"files-scs:config/presets/storage/backend/storage-sparql-endpoint.json",
|
||||
"files-scs:config/presets/storage/routing/quad-type-routing.json",
|
||||
|
@ -3,6 +3,7 @@
|
||||
"import": [
|
||||
"files-scs:config/presets/acl.json",
|
||||
"files-scs:config/presets/http.json",
|
||||
"files-scs:config/presets/init.json",
|
||||
"files-scs:config/presets/ldp.json",
|
||||
"files-scs:config/presets/ldp/credentials-extractor.json",
|
||||
"files-scs:config/presets/ldp/metadata-handler.json",
|
||||
@ -15,7 +16,6 @@
|
||||
"files-scs:config/presets/middleware.json",
|
||||
"files-scs:config/presets/pod-management.json",
|
||||
"files-scs:config/presets/representation-conversion.json",
|
||||
"files-scs:config/presets/setup.json",
|
||||
"files-scs:config/presets/storage/backend/storage-sparql-endpoint.json",
|
||||
"files-scs:config/presets/storage/routing/no-routing.json",
|
||||
"files-scs:config/presets/storage-wrapper.json",
|
||||
|
@ -1,13 +1,6 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"@id": "urn:solid-server:default",
|
||||
"@type": "Setup",
|
||||
"Setup:_initializer": {
|
||||
"@id": "urn:solid-server:default:Initializer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@id": "urn:solid-server:default:Initializer",
|
||||
"@type": "AllVoidCompositeHandler",
|
@ -54,7 +54,7 @@
|
||||
"test:deploy": "test/deploy/validate-package.sh",
|
||||
"test:integration": "jest --coverageThreshold '{}' test/integration",
|
||||
"test:unit": "jest test/unit",
|
||||
"validate": "componentsjs-compile-config urn:solid-server:default -c config/config-default.json -f > /dev/null",
|
||||
"validate": "componentsjs-compile-config urn:solid-server:default:Initializer -c config/config-default.json -f > /dev/null",
|
||||
"version": "manual-git-changelog onversion",
|
||||
"watch": "nodemon --watch \"dist/**/*.js\" --exec npm start"
|
||||
},
|
||||
|
@ -18,7 +18,6 @@ export * from './init/CliRunner';
|
||||
export * from './init/Initializer';
|
||||
export * from './init/LoggerInitializer';
|
||||
export * from './init/ServerInitializer';
|
||||
export * from './init/Setup';
|
||||
|
||||
// LDP/HTTP/Metadata
|
||||
export * from './ldp/http/metadata/BasicMetadataExtractor';
|
||||
|
@ -4,7 +4,7 @@ import type { LoaderProperties } from 'componentsjs';
|
||||
import { Loader } from 'componentsjs';
|
||||
import yargs from 'yargs';
|
||||
import { ensureTrailingSlash } from '../util/PathUtil';
|
||||
import type { Setup } from './Setup';
|
||||
import type { Initializer } from './Initializer';
|
||||
|
||||
/**
|
||||
* Generic run function for starting the server from a given config
|
||||
@ -47,8 +47,8 @@ export const runCli = function({
|
||||
// Setup from config file
|
||||
const loader = new Loader(properties);
|
||||
await loader.registerAvailableModuleResources();
|
||||
const setup: Setup = await loader
|
||||
.instantiateFromUrl('urn:solid-server:default', configPath, undefined, {
|
||||
const initializer: Initializer = await loader
|
||||
.instantiateFromUrl('urn:solid-server:default:Initializer', configPath, undefined, {
|
||||
variables: {
|
||||
'urn:solid-server:default:variable:baseUrl':
|
||||
params.baseUrl ? ensureTrailingSlash(params.baseUrl) : `http://localhost:${params.port}/`,
|
||||
@ -59,8 +59,8 @@ export const runCli = function({
|
||||
'urn:solid-server:default:variable:podTemplateFolder':
|
||||
params.podTemplateFolder ?? path.join(__dirname, '../../templates'),
|
||||
},
|
||||
}) as Setup;
|
||||
await setup.setup();
|
||||
}) as Initializer;
|
||||
await initializer.handleSafe();
|
||||
})().catch((error): void => {
|
||||
// This is the only time we can *not* use the logger to print error messages, as dependency injection has failed.
|
||||
stderr.write(`${error}\n`);
|
||||
|
@ -1,13 +0,0 @@
|
||||
import type { Initializer } from './Initializer';
|
||||
|
||||
export class Setup {
|
||||
private readonly initializer: Initializer;
|
||||
|
||||
public constructor(initializer: Initializer) {
|
||||
this.initializer = initializer;
|
||||
}
|
||||
|
||||
public async setup(): Promise<void> {
|
||||
await this.initializer.handleSafe();
|
||||
}
|
||||
}
|
@ -1,19 +1,19 @@
|
||||
import * as path from 'path';
|
||||
import { Loader } from 'componentsjs';
|
||||
import { runCli } from '../../../src/init/CliRunner';
|
||||
import type { Setup } from '../../../src/init/Setup';
|
||||
import type { Initializer } from '../../../src/init/Initializer';
|
||||
|
||||
const mainModulePath = path.join(__dirname, '../../../');
|
||||
|
||||
const mockSetup: jest.Mocked<Setup> = {
|
||||
setup: jest.fn(async(): Promise<any> => null),
|
||||
} as any;
|
||||
const loader: jest.Mocked<Loader> = {
|
||||
instantiateFromUrl: jest.fn(async(): Promise<any> => mockSetup),
|
||||
registerAvailableModuleResources: jest.fn(async(): Promise<any> => mockSetup),
|
||||
const initializer: jest.Mocked<Initializer> = {
|
||||
handleSafe: jest.fn(),
|
||||
} as any;
|
||||
|
||||
const loader: jest.Mocked<Loader> = {
|
||||
instantiateFromUrl: jest.fn(async(): Promise<any> => initializer),
|
||||
registerAvailableModuleResources: jest.fn(),
|
||||
} as any;
|
||||
|
||||
// Mock the Loader class.
|
||||
jest.mock('componentsjs', (): any => ({
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
Loader: jest.fn((): Loader => loader),
|
||||
@ -28,13 +28,13 @@ describe('CliRunner', (): void => {
|
||||
runCli({
|
||||
argv: [ 'node', 'script' ],
|
||||
});
|
||||
await mockSetup.setup();
|
||||
await initializer.handleSafe();
|
||||
|
||||
expect(Loader).toHaveBeenCalledTimes(1);
|
||||
expect(Loader).toHaveBeenCalledWith({ mainModulePath });
|
||||
expect(loader.instantiateFromUrl).toHaveBeenCalledTimes(1);
|
||||
expect(loader.instantiateFromUrl).toHaveBeenCalledWith(
|
||||
'urn:solid-server:default',
|
||||
'urn:solid-server:default:Initializer',
|
||||
path.join(__dirname, '/../../../config/config-default.json'),
|
||||
undefined,
|
||||
{
|
||||
@ -50,8 +50,8 @@ describe('CliRunner', (): void => {
|
||||
);
|
||||
expect(loader.registerAvailableModuleResources).toHaveBeenCalledTimes(1);
|
||||
expect(loader.registerAvailableModuleResources).toHaveBeenCalledWith();
|
||||
expect(mockSetup.setup).toHaveBeenCalledTimes(1);
|
||||
expect(mockSetup.setup).toHaveBeenCalledWith();
|
||||
expect(initializer.handleSafe).toHaveBeenCalledTimes(1);
|
||||
expect(initializer.handleSafe).toHaveBeenCalledWith();
|
||||
});
|
||||
|
||||
it('accepts abbreviated flags.', async(): Promise<void> => {
|
||||
@ -67,10 +67,10 @@ describe('CliRunner', (): void => {
|
||||
'-t', 'templates',
|
||||
],
|
||||
});
|
||||
await mockSetup.setup();
|
||||
await initializer.handleSafe();
|
||||
|
||||
expect(loader.instantiateFromUrl).toHaveBeenCalledWith(
|
||||
'urn:solid-server:default',
|
||||
'urn:solid-server:default:Initializer',
|
||||
path.join(process.cwd(), 'myconfig.json'),
|
||||
undefined,
|
||||
{
|
||||
@ -99,10 +99,10 @@ describe('CliRunner', (): void => {
|
||||
'--podTemplateFolder', 'templates',
|
||||
],
|
||||
});
|
||||
await mockSetup.setup();
|
||||
await initializer.handleSafe();
|
||||
|
||||
expect(loader.instantiateFromUrl).toHaveBeenCalledWith(
|
||||
'urn:solid-server:default',
|
||||
'urn:solid-server:default:Initializer',
|
||||
path.join(process.cwd(), 'myconfig.json'),
|
||||
undefined,
|
||||
{
|
||||
|
@ -1,17 +0,0 @@
|
||||
import type { Initializer } from '../../../src/init/Initializer';
|
||||
import { Setup } from '../../../src/init/Setup';
|
||||
|
||||
describe('Setup', (): void => {
|
||||
const initializer: jest.Mocked<Initializer> = {
|
||||
handleSafe: jest.fn(),
|
||||
} as any;
|
||||
|
||||
beforeAll(async(): Promise<void> => {
|
||||
const setup = new Setup(initializer);
|
||||
await setup.setup();
|
||||
});
|
||||
|
||||
it('calls the initializer.', async(): Promise<void> => {
|
||||
expect(initializer.handleSafe).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user