backend-common: lock down UrlReader to only read from allowed URLs

This commit is contained in:
Patrik Oldsberg
2021-01-18 13:17:50 +01:00
parent a669e2dd0f
commit 5345a1f983
9 changed files with 163 additions and 41 deletions
@@ -27,13 +27,18 @@ import {
} from './types';
describe('UrlReaderProcessor', () => {
const mockApiOrigin = 'http://localhost:23000';
const mockApiOrigin = 'http://localhost';
const server = setupServer();
msw.setupDefaultHandlers(server);
it('should load from url', async () => {
const logger = getVoidLogger();
const reader = UrlReaders.default({ logger, config: new ConfigReader({}) });
const reader = UrlReaders.default({
logger,
config: new ConfigReader({
backend: { reading: { allow: [{ host: 'localhost' }] } },
}),
});
const processor = new UrlReaderProcessor({ reader, logger });
const spec = {
type: 'url',
@@ -57,7 +62,12 @@ describe('UrlReaderProcessor', () => {
it('should fail load from url with error', async () => {
const logger = getVoidLogger();
const reader = UrlReaders.default({ logger, config: new ConfigReader({}) });
const reader = UrlReaders.default({
logger,
config: new ConfigReader({
backend: { reading: { allow: [{ host: 'localhost' }] } },
}),
});
const processor = new UrlReaderProcessor({ reader, logger });
const spec = {
type: 'url',