Skip to content

Commit 0d40c42

Browse files
author
Will Toozs
committed
fixup: additional fn test for querry in url
1 parent 3443d71 commit 0d40c42

File tree

1 file changed

+45
-0
lines changed
  • tests/functional/aws-node-sdk/test/object

1 file changed

+45
-0
lines changed

tests/functional/aws-node-sdk/test/object/post.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,51 @@ describe('POST object', () => {
852852
});
853853
});
854854

855+
it('should return an error if a query parameter is present in the URL', done => {
856+
const { url } = testContext;
857+
const queryParam = '?invalidParam=true';
858+
const invalidUrl = `${url}${queryParam}`;
859+
const fields = calculateFields(ak, sk);
860+
861+
const formData = new FormData();
862+
863+
fields.forEach(field => {
864+
formData.append(field.name, field.value);
865+
});
866+
867+
formData.append('file', fileBuffer, filename);
868+
869+
return formData.getLength((err, length) => {
870+
if (err) {
871+
return done(err);
872+
}
873+
874+
return axios.post(invalidUrl, formData, {
875+
headers: {
876+
...formData.getHeaders(),
877+
'Content-Length': length,
878+
},
879+
})
880+
.then(() => {
881+
done(new Error('Request should not succeed with an invalid query parameter'));
882+
})
883+
.catch(err => {
884+
assert.ok(err.response, 'Error should be returned by axios');
885+
886+
xml2js.parseString(err.response.data, (err, result) => {
887+
if (err) {
888+
return done(err);
889+
}
890+
891+
const error = result.Error;
892+
assert.equal(error.Code[0], 'InvalidArgument');
893+
assert.equal(error.Message[0], 'Query String Parameters not allowed on POST requests.');
894+
return done();
895+
});
896+
});
897+
});
898+
});
899+
855900
it('should successfully upload an object with bucket versioning enabled and verify version ID', done => {
856901
const { url } = testContext;
857902

0 commit comments

Comments
 (0)