This commit is contained in:
@@ -326,6 +326,25 @@ test('upload inspection handles JSON, GPX, binary validation and cleanup paths',
|
||||
assert.equal(validGpxReq.file.detectedExtension, 'gpx');
|
||||
storage.removeUpload(validGpxReq.file);
|
||||
|
||||
const namespacedGpx = '<?xml version="1.0"?><!-- route --><!DOCTYPE gpx><ns_1-foo.gpx:gpx></ns_1-foo.gpx:gpx>';
|
||||
const namespacedGpxReq = { body: {}, file: uploadedFile('namespaced.xml', namespacedGpx) };
|
||||
assert.equal(await invokeUpload(inspectUpload('gpx', 'gpx'), namespacedGpxReq), undefined);
|
||||
storage.removeUpload(namespacedGpxReq.file);
|
||||
|
||||
for (const malformed of [
|
||||
'plain text',
|
||||
'<!-- missing end',
|
||||
'<?xml version="1.0"',
|
||||
'<!DOCTYPE gpx',
|
||||
'</gpx>',
|
||||
'< gpx>'
|
||||
]) {
|
||||
const request = { body: {}, file: uploadedFile('malformed.xml', malformed) };
|
||||
const error = await invokeUpload(inspectUpload('gpx', 'gpx'), request);
|
||||
assert.equal(error.status, 415);
|
||||
assert.equal(request.file, undefined);
|
||||
}
|
||||
|
||||
const invalidGpxReq = { body: {}, file: uploadedFile('route.xml', '<xml/>') };
|
||||
const invalidGpx = await invokeUpload(inspectUpload('gpx', 'gpx'), invalidGpxReq);
|
||||
assert.equal(invalidGpx.status, 415);
|
||||
|
||||
Reference in New Issue
Block a user