mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
chore: Update dependencies
This commit is contained in:
@@ -37,7 +37,6 @@ export class IdentityTestState {
|
||||
* @param body - Body to send along.
|
||||
* @param contentType - Content-Type of the body.
|
||||
*/
|
||||
// eslint-disable-next-line default-param-last
|
||||
public async fetchIdp(url: string, method = 'GET', body?: string, contentType?: string): Promise<Response> {
|
||||
const options = { method, headers: { cookie: this.cookie }, body, redirect: 'manual' } as any;
|
||||
if (contentType) {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import { createResponse } from 'node-mocks-http';
|
||||
import { ConstantMetadataWriter } from '../../../../../src/ldp/http/metadata/ConstantMetadataWriter';
|
||||
import type { HttpResponse } from '../../../../../src/server/HttpResponse';
|
||||
|
||||
describe('A ConstantMetadataWriter', (): void => {
|
||||
const writer = new ConstantMetadataWriter({ 'custom-Header': 'X', other: 'Y' });
|
||||
|
||||
it('adds new headers.', async(): Promise<void> => {
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
|
||||
await expect(writer.handle({ response })).resolves.toBeUndefined();
|
||||
|
||||
@@ -13,7 +14,7 @@ describe('A ConstantMetadataWriter', (): void => {
|
||||
});
|
||||
|
||||
it('extends existing headers.', async(): Promise<void> => {
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
response.setHeader('Other', 'A');
|
||||
|
||||
await expect(writer.handle({ response })).resolves.toBeUndefined();
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
import { createResponse } from 'node-mocks-http';
|
||||
import { LinkRelMetadataWriter } from '../../../../../src/ldp/http/metadata/LinkRelMetadataWriter';
|
||||
import { RepresentationMetadata } from '../../../../../src/ldp/representation/RepresentationMetadata';
|
||||
import type { HttpResponse } from '../../../../../src/server/HttpResponse';
|
||||
import { LDP, RDF } from '../../../../../src/util/Vocabularies';
|
||||
|
||||
describe('A LinkRelMetadataWriter', (): void => {
|
||||
const writer = new LinkRelMetadataWriter({ [RDF.type]: 'type', dummy: 'dummy' });
|
||||
|
||||
it('adds the correct link headers.', async(): Promise<void> => {
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
const metadata = new RepresentationMetadata({ [RDF.type]: LDP.terms.Resource, unused: 'text' });
|
||||
await expect(writer.handle({ response, metadata })).resolves.toBeUndefined();
|
||||
expect(response.getHeaders()).toEqual({ link: `<${LDP.Resource}>; rel="type"` });
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
import { createResponse } from 'node-mocks-http';
|
||||
import { MappedMetadataWriter } from '../../../../../src/ldp/http/metadata/MappedMetadataWriter';
|
||||
import { RepresentationMetadata } from '../../../../../src/ldp/representation/RepresentationMetadata';
|
||||
import type { HttpResponse } from '../../../../../src/server/HttpResponse';
|
||||
import { CONTENT_TYPE } from '../../../../../src/util/Vocabularies';
|
||||
|
||||
describe('A MappedMetadataWriter', (): void => {
|
||||
const writer = new MappedMetadataWriter({ [CONTENT_TYPE]: 'content-type', dummy: 'dummy' });
|
||||
|
||||
it('adds metadata to the corresponding header.', async(): Promise<void> => {
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
const metadata = new RepresentationMetadata({ [CONTENT_TYPE]: 'text/turtle', unused: 'text' });
|
||||
await expect(writer.handle({ response, metadata })).resolves.toBeUndefined();
|
||||
expect(response.getHeaders()).toEqual({ 'content-type': 'text/turtle' });
|
||||
|
||||
@@ -9,7 +9,7 @@ describe('A WacAllowMetadataWriter', (): void => {
|
||||
let response: HttpResponse;
|
||||
|
||||
beforeEach(async(): Promise<void> => {
|
||||
response = createResponse();
|
||||
response = createResponse() as HttpResponse;
|
||||
});
|
||||
|
||||
it('adds no header if there is no relevant metadata.', async(): Promise<void> => {
|
||||
|
||||
@@ -10,7 +10,7 @@ describe('A WwwAuthMetadataWriter', (): void => {
|
||||
let response: HttpResponse;
|
||||
|
||||
beforeEach(async(): Promise<void> => {
|
||||
response = createResponse();
|
||||
response = createResponse() as HttpResponse;
|
||||
});
|
||||
|
||||
it('adds no header if there is no relevant metadata.', async(): Promise<void> => {
|
||||
|
||||
@@ -112,8 +112,8 @@ describe('A RepresentationMetadata', (): void => {
|
||||
metadata.setMetadata(other);
|
||||
|
||||
expect(metadata.identifier).toEqual(other.identifier);
|
||||
expect(metadata.quads()).toBeRdfIsomorphic(inputQuads.concat([
|
||||
quad(identifier, namedNode('test:pred'), literal('objVal')) ]));
|
||||
expect(metadata.quads()).toBeRdfIsomorphic([ ...inputQuads,
|
||||
quad(identifier, namedNode('test:pred'), literal('objVal')) ]);
|
||||
});
|
||||
|
||||
it('updates its identifier when copying metadata.', async(): Promise<void> => {
|
||||
@@ -134,7 +134,7 @@ describe('A RepresentationMetadata', (): void => {
|
||||
quad(namedNode('random'), namedNode('new'), namedNode('triple')),
|
||||
];
|
||||
metadata.addQuads(newQuads);
|
||||
expect(metadata.quads()).toBeRdfIsomorphic(newQuads.concat(inputQuads));
|
||||
expect(metadata.quads()).toBeRdfIsomorphic([ ...newQuads, ...inputQuads ]);
|
||||
});
|
||||
|
||||
it('can remove quads.', async(): Promise<void> => {
|
||||
@@ -145,13 +145,13 @@ describe('A RepresentationMetadata', (): void => {
|
||||
it('can add a single value for a predicate.', async(): Promise<void> => {
|
||||
const newQuad = quad(identifier, namedNode('new'), namedNode('triple'));
|
||||
metadata.add(newQuad.predicate as NamedNode, newQuad.object as NamedNode);
|
||||
expect(metadata.quads()).toBeRdfIsomorphic([ newQuad ].concat(inputQuads));
|
||||
expect(metadata.quads()).toBeRdfIsomorphic([ newQuad, ...inputQuads ]);
|
||||
});
|
||||
|
||||
it('can add single values as string.', async(): Promise<void> => {
|
||||
const newQuad = quad(identifier, namedNode('new'), literal('triple'));
|
||||
metadata.add(newQuad.predicate as NamedNode, newQuad.object.value);
|
||||
expect(metadata.quads()).toBeRdfIsomorphic([ newQuad ].concat(inputQuads));
|
||||
expect(metadata.quads()).toBeRdfIsomorphic([ newQuad, ...inputQuads ]);
|
||||
});
|
||||
|
||||
it('can add multiple values for a predicate.', async(): Promise<void> => {
|
||||
@@ -160,7 +160,7 @@ describe('A RepresentationMetadata', (): void => {
|
||||
quad(identifier, namedNode('new'), namedNode('triple2')),
|
||||
];
|
||||
metadata.add(namedNode('new'), [ namedNode('triple'), namedNode('triple2') ]);
|
||||
expect(metadata.quads()).toBeRdfIsomorphic(newQuads.concat(inputQuads));
|
||||
expect(metadata.quads()).toBeRdfIsomorphic([ ...newQuads, ...inputQuads ]);
|
||||
});
|
||||
|
||||
it('can remove a single value for a predicate.', async(): Promise<void> => {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { createRequest, createResponse } from 'node-mocks-http';
|
||||
import type { HttpResponse } from '../../../../src/server/HttpResponse';
|
||||
import { CorsHandler } from '../../../../src/server/middleware/CorsHandler';
|
||||
import { guardStream } from '../../../../src/util/GuardedStream';
|
||||
|
||||
@@ -7,7 +8,7 @@ describe('a CorsHandler', (): void => {
|
||||
const handler = new CorsHandler();
|
||||
|
||||
const request = guardStream(createRequest());
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await handler.handleSafe({ request, response });
|
||||
|
||||
expect(response.getHeaders()).toEqual(expect.objectContaining({
|
||||
@@ -23,7 +24,7 @@ describe('a CorsHandler', (): void => {
|
||||
origin: 'example.org',
|
||||
},
|
||||
}));
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await handler.handleSafe({ request, response });
|
||||
|
||||
expect(response.getHeaders()).toEqual(expect.objectContaining({
|
||||
@@ -37,7 +38,7 @@ describe('a CorsHandler', (): void => {
|
||||
});
|
||||
|
||||
const request = guardStream(createRequest());
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await handler.handleSafe({ request, response });
|
||||
|
||||
expect(response.getHeaders()).toEqual(expect.objectContaining({
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { createRequest, createResponse } from 'node-mocks-http';
|
||||
import type { HttpResponse } from '../../../../src/server/HttpResponse';
|
||||
import { HeaderHandler } from '../../../../src/server/middleware/HeaderHandler';
|
||||
import { guardStream } from '../../../../src/util/GuardedStream';
|
||||
|
||||
@@ -8,7 +9,7 @@ describe('a HeaderHandler', (): void => {
|
||||
const handler = new HeaderHandler(headers);
|
||||
|
||||
const request = guardStream(createRequest());
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await handler.handleSafe({ request, response });
|
||||
|
||||
expect(response.getHeaders()).toEqual(expect.objectContaining(headers));
|
||||
|
||||
@@ -122,7 +122,7 @@ describe('A StaticAssetHandler', (): void => {
|
||||
it('throws a 404 when the asset does not exist.', async(): Promise<void> => {
|
||||
const request = { method: 'GET', url: '/foo/bar/main' };
|
||||
const response = createResponse({ eventEmitter: EventEmitter });
|
||||
const error = new Error() as SystemError;
|
||||
const error = new Error('no file') as SystemError;
|
||||
error.code = 'ENOENT';
|
||||
const stream = new PassThrough();
|
||||
stream._read = (): any => stream.emit('error', error);
|
||||
@@ -135,7 +135,7 @@ describe('A StaticAssetHandler', (): void => {
|
||||
it('throws a 404 when the asset is folder.', async(): Promise<void> => {
|
||||
const request = { method: 'GET', url: '/foo/bar/main' };
|
||||
const response = createResponse({ eventEmitter: EventEmitter });
|
||||
const error = new Error() as SystemError;
|
||||
const error = new Error('is directory') as SystemError;
|
||||
error.code = 'EISDIR';
|
||||
const stream = new PassThrough();
|
||||
stream._read = (): any => stream.emit('error', error);
|
||||
@@ -149,7 +149,7 @@ describe('A StaticAssetHandler', (): void => {
|
||||
const request = { method: 'GET', url: '/foo/bar/main' };
|
||||
const response = createResponse({ eventEmitter: EventEmitter });
|
||||
const responseEnd = new Promise((resolve): any => response.on('end', resolve));
|
||||
const error = new Error();
|
||||
const error = new Error('random error');
|
||||
const stream = new PassThrough();
|
||||
stream._read = (): any => stream.emit('error', error);
|
||||
createReadStream.mockReturnValueOnce(stream as any);
|
||||
|
||||
@@ -1,31 +1,32 @@
|
||||
import { createResponse } from 'node-mocks-http';
|
||||
import type { HttpResponse } from '../../../../src/server/HttpResponse';
|
||||
import { WebSocketAdvertiser } from '../../../../src/server/middleware/WebSocketAdvertiser';
|
||||
|
||||
describe('A WebSocketAdvertiser', (): void => {
|
||||
it('writes a ws: socket when given an http: URL.', async(): Promise<void> => {
|
||||
const writer = new WebSocketAdvertiser('http://test.example/');
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await writer.handle({ response } as any);
|
||||
expect(response.getHeaders()).toEqual({ 'updates-via': 'ws://test.example/' });
|
||||
});
|
||||
|
||||
it('writes a ws: socket when given a ws: URL.', async(): Promise<void> => {
|
||||
const writer = new WebSocketAdvertiser('ws://test.example/');
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await writer.handle({ response } as any);
|
||||
expect(response.getHeaders()).toEqual({ 'updates-via': 'ws://test.example/' });
|
||||
});
|
||||
|
||||
it('writes a wss: socket when given an https: URL.', async(): Promise<void> => {
|
||||
const writer = new WebSocketAdvertiser('https://test.example/');
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await writer.handle({ response } as any);
|
||||
expect(response.getHeaders()).toEqual({ 'updates-via': 'wss://test.example/' });
|
||||
});
|
||||
|
||||
it('writes a wss: socket when given a wss: URL.', async(): Promise<void> => {
|
||||
const writer = new WebSocketAdvertiser('wss://test.example/');
|
||||
const response = createResponse();
|
||||
const response = createResponse() as HttpResponse;
|
||||
await writer.handle({ response } as any);
|
||||
expect(response.getHeaders()).toEqual({ 'updates-via': 'wss://test.example/' });
|
||||
});
|
||||
|
||||
@@ -9,7 +9,7 @@ describe('RenderEjsHandler', (): void => {
|
||||
let templateFile: string;
|
||||
|
||||
beforeEach((): void => {
|
||||
response = createResponse();
|
||||
response = createResponse() as HttpResponse;
|
||||
templatePath = joinFilePath(__dirname, '../../../assets/idp');
|
||||
templateFile = 'testHtml.ejs';
|
||||
});
|
||||
|
||||
@@ -15,7 +15,7 @@ describe('RouterHandler', (): void => {
|
||||
genericRequest = guardStream(createRequest({
|
||||
url: '/test',
|
||||
}));
|
||||
genericResponse = createResponse();
|
||||
genericResponse = createResponse() as HttpResponse;
|
||||
genericInput = {
|
||||
request: genericRequest,
|
||||
response: genericResponse,
|
||||
|
||||
@@ -265,7 +265,7 @@ describe('A SparqlDataAccessor', (): void => {
|
||||
fetchError = 'error';
|
||||
await expect(accessor.getMetadata({ path: 'http://identifier' })).rejects.toBe(fetchError);
|
||||
|
||||
fetchError = new Error();
|
||||
fetchError = new Error('read error');
|
||||
await expect(accessor.getMetadata({ path: 'http://identifier' })).rejects.toThrow(fetchError);
|
||||
|
||||
fetchError = undefined;
|
||||
@@ -278,7 +278,7 @@ describe('A SparqlDataAccessor', (): void => {
|
||||
updateError = 'error';
|
||||
await expect(accessor.writeContainer(identifier, metadata)).rejects.toBe(updateError);
|
||||
|
||||
updateError = new Error();
|
||||
updateError = new Error('write error');
|
||||
await expect(accessor.writeContainer(identifier, metadata)).rejects.toThrow(updateError);
|
||||
|
||||
updateError = undefined;
|
||||
|
||||
@@ -19,7 +19,7 @@ describe('An ErrorToQuadConverter', (): void => {
|
||||
});
|
||||
|
||||
it('does not support multiple errors.', async(): Promise<void> => {
|
||||
const representation = new BasicRepresentation([ new Error(), new Error() ], 'internal/error', false);
|
||||
const representation = new BasicRepresentation([ new Error('a'), new Error('b') ], 'internal/error', false);
|
||||
const prom = converter.handle({ identifier, representation, preferences });
|
||||
await expect(prom).rejects.toThrow('Only single errors are supported.');
|
||||
await expect(prom).rejects.toThrow(InternalServerError);
|
||||
|
||||
@@ -32,7 +32,7 @@ describe('An ErrorToTemplateConverter', (): void => {
|
||||
});
|
||||
|
||||
it('does not support multiple errors.', async(): Promise<void> => {
|
||||
const representation = new BasicRepresentation([ new Error(), new Error() ], 'internal/error', false);
|
||||
const representation = new BasicRepresentation([ new Error('a'), new Error('b') ], 'internal/error', false);
|
||||
const prom = converter.handle({ identifier, representation, preferences });
|
||||
await expect(prom).rejects.toThrow('Only single errors are supported.');
|
||||
await expect(prom).rejects.toThrow(InternalServerError);
|
||||
|
||||
@@ -105,10 +105,10 @@ describe('A SparqlUpdatePatchHandler', (): void => {
|
||||
|
||||
it('handles INSERT DATA updates.', async(): Promise<void> => {
|
||||
await handle(fulfilledDataInsert);
|
||||
expect(await basicChecks(startQuads.concat(
|
||||
[ quad(namedNode('http://test.com/s1'), namedNode('http://test.com/p1'), namedNode('http://test.com/o1')),
|
||||
quad(namedNode('http://test.com/s2'), namedNode('http://test.com/p2'), namedNode('http://test.com/o2')) ],
|
||||
))).toBe(true);
|
||||
expect(await basicChecks([ ...startQuads,
|
||||
quad(namedNode('http://test.com/s1'), namedNode('http://test.com/p1'), namedNode('http://test.com/o1')),
|
||||
quad(namedNode('http://test.com/s2'), namedNode('http://test.com/p2'), namedNode('http://test.com/o2')),
|
||||
])).toBe(true);
|
||||
});
|
||||
|
||||
it('handles DELETE DATA updates.', async(): Promise<void> => {
|
||||
|
||||
@@ -4,7 +4,6 @@ import { PassThrough } from 'stream';
|
||||
import streamifyArray from 'streamify-array';
|
||||
import type { SystemError } from '../../src/util/errors/SystemError';
|
||||
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
const portNames = [
|
||||
// Integration
|
||||
'DynamicPods',
|
||||
|
||||
Reference in New Issue
Block a user