Merge pull request #13890 from pedronastasi/Search-less-restrictive-V2

[Search] Be less restrictive with unknown keys on query endpoint
This commit is contained in:
Eric Peterson
2022-09-28 17:01:59 +02:00
committed by GitHub
3 changed files with 25 additions and 1 deletions
@@ -148,6 +148,25 @@ describe('createRouter', () => {
});
});
it('is less restrictive with unknown keys on query endpoint', async () => {
const queryString =
'term=test&%5BdocType%5D%5B0%5D=Service&filters%5BdocType%5D%5B0%5D=filter1&unknownKey1%5B2%5D=unknownValue1&unknownKey1%5B3%5D=unknownValue2&unknownKey2=unknownValue1&pageCursor';
const response = await request(app).get(`/query?${queryString}`);
const firstArg: Object = {
docType: ['Service'],
filters: { docType: ['filter1'] },
pageCursor: '',
term: 'test',
unknownKey1: ['unknownValue1', 'unknownValue2'],
unknownKey2: 'unknownValue1',
};
const secondArg = {
token: undefined,
};
expect(response.status).toEqual(200);
expect(mockSearchEngine.query).toHaveBeenCalledWith(firstArg, secondArg);
});
describe('search result filtering', () => {
beforeAll(async () => {
const logger = getVoidLogger();
+1 -1
View File
@@ -133,7 +133,7 @@ export async function createRouter(
req: express.Request,
res: express.Response<SearchResultSet | ErrorResponseBody>,
) => {
const parseResult = requestSchema.safeParse(req.query);
const parseResult = requestSchema.passthrough().safeParse(req.query);
if (!parseResult.success) {
throw new InputError(`Invalid query string: ${parseResult.error}`);