mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
fix: rdf convertors should not read or write plain JSON
This commit is contained in:
parent
dacd6d0006
commit
9ecb769e09
@ -13,7 +13,10 @@ import type { RepresentationConverterArgs } from './RepresentationConverter';
|
||||
*/
|
||||
export class RdfToQuadConverter extends BaseTypedRepresentationConverter {
|
||||
public constructor() {
|
||||
super(rdfParser.getContentTypes(), INTERNAL_QUADS);
|
||||
const inputTypes = rdfParser.getContentTypes()
|
||||
// ContentType application/json MAY NOT be converted to Quad.
|
||||
.then((types): string[] => types.filter((type): boolean => type !== 'application/json'));
|
||||
super(inputTypes, INTERNAL_QUADS);
|
||||
}
|
||||
|
||||
public async handle({ representation, identifier }: RepresentationConverterArgs): Promise<Representation> {
|
||||
|
@ -18,12 +18,17 @@ describe('A RdfToQuadConverter', (): void => {
|
||||
const identifier: ResourceIdentifier = { path: 'path' };
|
||||
|
||||
it('supports serializing as quads.', async(): Promise<void> => {
|
||||
const types = await rdfParser.getContentTypes();
|
||||
for (const type of types) {
|
||||
const types = rdfParser.getContentTypes()
|
||||
.then((inputTypes): string[] => inputTypes.filter((type): boolean => type !== 'application/json'));
|
||||
for (const type of await types) {
|
||||
await expect(converter.getOutputTypes(type)).resolves.toEqual({ [INTERNAL_QUADS]: 1 });
|
||||
}
|
||||
});
|
||||
|
||||
it('may not handle application/json to quad conversion.', async(): Promise<void> => {
|
||||
await expect(converter.getOutputTypes('application/json')).resolves.toEqual({ });
|
||||
});
|
||||
|
||||
it('can handle turtle to quad conversions.', async(): Promise<void> => {
|
||||
const metadata = new RepresentationMetadata('text/turtle');
|
||||
const representation = { metadata } as Representation;
|
||||
|
Loading…
x
Reference in New Issue
Block a user