Skip to content

Commit 7cdb373

Browse files
author
Will Toozs
committed
fixup: bug fixes post fct tests
1 parent ce04e83 commit 7cdb373

File tree

1 file changed

+19
-8
lines changed
  • tests/functional/aws-node-sdk/test/object

1 file changed

+19
-8
lines changed

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

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ const calculateFields = (ak, sk, bucketName, additionalConditions) => {
3737

3838
const now = new Date();
3939
const formattedDate = now.toISOString().replace(/[:-]|\.\d{3}/g, '');
40-
const shortFormattedDate = formatDate(now);
40+
let shortFormattedDate = formatDate(now);
4141

4242
const credential = `${ak}/${shortFormattedDate}/${region}/${service}/aws4_request`;
4343
const conditionsFields = [
@@ -54,6 +54,9 @@ const calculateFields = (ak, sk, bucketName, additionalConditions) => {
5454
const index = conditionsFields.findIndex(condition => condition.hasOwnProperty(key));
5555
if (index !== -1) {
5656
conditionsFields[index][key] = value;
57+
if (key === 'x-amz-date') {
58+
shortFormattedDate = value.split('T')[0];
59+
}
5760
} else {
5861
conditionsFields.push({ [key]: value });
5962
}
@@ -69,11 +72,11 @@ const calculateFields = (ak, sk, bucketName, additionalConditions) => {
6972
const signature = crypto.createHmac('sha256', signingKey).update(policyBase64).digest('hex');
7073

7174
const returnFields = [
72-
{ name: 'X-Amz-Credential', value: credential },
73-
{ name: 'X-Amz-Algorithm', value: 'AWS4-HMAC-SHA256' },
74-
{ name: 'X-Amz-Signature', value: signature },
75-
{ name: 'X-Amz-Date', value: formattedDate },
76-
{ name: 'Policy', value: policyBase64 },
75+
{ name: 'x-amz-credential', value: credential },
76+
{ name: 'x-amz-algorithm', value: 'AWS4-HMAC-SHA256' },
77+
{ name: 'x-amz-signature', value: signature },
78+
{ name: 'x-amz-date', value: formattedDate },
79+
{ name: 'policy', value: policyBase64 },
7780
{ name: 'bucket', value: bucketName },
7881
{ name: 'key', value: filename },
7982
];
@@ -95,7 +98,6 @@ const calculateFields = (ak, sk, bucketName, additionalConditions) => {
9598
return returnFields;
9699
};
97100

98-
99101
describe('POST object', () => {
100102
let bucketUtil;
101103
let config;
@@ -372,7 +374,16 @@ describe('POST object', () => {
372374
})
373375
.catch(err => {
374376
assert.equal(err.response.status, 400);
375-
done();
377+
xml2js.parseString(err.response.data, (parseErr, result) => {
378+
if (parseErr) {
379+
return done(parseErr);
380+
}
381+
382+
const error = result.Error;
383+
assert.equal(error.Code[0], 'InvalidArgument');
384+
assert.equal(error.Message[0], 'POST requires exactly one file upload per request.');
385+
done();
386+
});
376387
});
377388
});
378389
});

0 commit comments

Comments
 (0)