Skip to content

Commit e776be7

Browse files
authored
Merge pull request #8924 from shirady/api-mock-get-bucket-request-payment
Return Mock on `GetBucketRequestPayment`
2 parents 9a3f83a + e0f0922 commit e776be7

7 files changed

+26
-10
lines changed

Diff for: src/endpoint/s3/ops/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ exports.get_bucket_object_lock = require('./s3_get_bucket_object_lock');
3232
exports.get_bucket_policy = require('./s3_get_bucket_policy');
3333
exports.get_bucket_policy_status = require('./s3_get_bucket_policy_status');
3434
exports.get_bucket_replication = require('./s3_get_bucket_replication');
35-
exports.get_bucket_requestPayment = require('./s3_get_bucket_requestPayment');
35+
exports.get_bucket_request_payment = require('./s3_get_bucket_request_payment');
3636
exports.get_bucket_tagging = require('./s3_get_bucket_tagging');
3737
exports.get_bucket_uploads = require('./s3_get_bucket_uploads');
3838
exports.get_bucket_versioning = require('./s3_get_bucket_versioning');
@@ -69,7 +69,7 @@ exports.put_bucket_notification = require('./s3_put_bucket_notification');
6969
exports.put_bucket_object_lock = require('./s3_put_bucket_object_lock');
7070
exports.put_bucket_policy = require('./s3_put_bucket_policy');
7171
exports.put_bucket_replication = require('./s3_put_bucket_replication');
72-
exports.put_bucket_requestPayment = require('./s3_put_bucket_requestPayment');
72+
exports.put_bucket_request_payment = require('./s3_put_bucket_request_payment');
7373
exports.put_bucket_tagging = require('./s3_put_bucket_tagging');
7474
exports.put_bucket_versioning = require('./s3_put_bucket_versioning');
7575
exports.put_bucket_website = require('./s3_put_bucket_website');

Diff for: src/endpoint/s3/ops/s3_get_bucket_requestPayment.js renamed to src/endpoint/s3/ops/s3_get_bucket_request_payment.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
/* Copyright (C) 2016 NooBaa */
22
'use strict';
33

4+
const dbg = require('../../../util/debug_module')(__filename);
5+
46
/**
57
* http://docs.aws.amazon.com/AmazonS3/latest/API/RESTrequestPaymentGET.html
68
*/
7-
async function get_bucket_requestPayment(req) {
9+
async function get_bucket_request_payment(req) {
810
await req.object_sdk.read_bucket({ name: req.params.bucket });
11+
const payer = 'BucketOwner';
12+
dbg.log1(`s3_get_bucket_request_payment (returns ${payer} on every request)`);
913
return {
1014
RequestPaymentConfiguration: {
11-
Payer: 'BucketOwner'
15+
Payer: payer
1216
}
1317
};
1418
}
1519

1620
module.exports = {
17-
handler: get_bucket_requestPayment,
21+
handler: get_bucket_request_payment,
1822
body: {
1923
type: 'empty',
2024
},

Diff for: src/endpoint/s3/ops/s3_put_bucket_requestPayment.js renamed to src/endpoint/s3/ops/s3_put_bucket_request_payment.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ const S3Error = require('../s3_errors').S3Error;
66
/**
77
* http://docs.aws.amazon.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html
88
*/
9-
async function put_bucket_requestPayment(req) {
9+
async function put_bucket_request_payment(req) {
1010
await req.object_sdk.read_bucket({ name: req.params.bucket });
1111
// TODO S3 put_bucket_requestPayment not implemented
1212
throw new S3Error(S3Error.NotImplemented);
1313
}
1414

1515
module.exports = {
16-
handler: put_bucket_requestPayment,
16+
handler: put_bucket_request_payment,
1717
body: {
1818
type: 'xml',
1919
},

Diff for: src/endpoint/s3/s3_bucket_policy_utils.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ const OP_NAME_TO_ACTION = Object.freeze({
3737
get_bucket_policy: { regular: "s3:GetBucketPolicy" },
3838
get_bucket_policy_status: { regular: "s3:GetBucketPolicyStatus" },
3939
get_bucket_replication: { regular: "s3:GetReplicationConfiguration" },
40-
get_bucket_requestpayment: { regular: "s3:GetBucketRequestPayment" },
40+
get_bucket_request_payment: { regular: "s3:GetBucketRequestPayment" },
4141
get_bucket_tagging: { regular: "s3:GetBucketTagging" },
4242
get_bucket_uploads: { regular: "s3:ListBucketMultipartUploads" },
4343
get_bucket_versioning: { regular: "s3:GetBucketVersioning" },
@@ -77,7 +77,7 @@ const OP_NAME_TO_ACTION = Object.freeze({
7777
put_bucket_notification: { regular: "s3:PutBucketNotification" },
7878
put_bucket_policy: { regular: "s3:PutBucketPolicy" },
7979
put_bucket_replication: { regular: "s3:PutReplicationConfiguration" },
80-
put_bucket_requestpayment: { regular: "s3:PutBucketRequestPayment" },
80+
put_bucket_request_payment: { regular: "s3:PutBucketRequestPayment" },
8181
put_bucket_tagging: { regular: "s3:PutBucketTagging" },
8282
put_bucket_versioning: { regular: "s3:PutBucketVersioning" },
8383
put_bucket_website: { regular: "s3:PutBucketWebsite" },

Diff for: src/endpoint/s3/s3_rest.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const BUCKET_SUB_RESOURCES = Object.freeze({
3636
'policy': 'policy',
3737
'policyStatus': 'policy_status',
3838
'replication': 'replication',
39-
'requestPayment': 'requestPayment',
39+
'requestPayment': 'request_payment',
4040
'tagging': 'tagging',
4141
'uploads': 'uploads',
4242
'versioning': 'versioning',

Diff for: src/test/unit_tests/test_nsfs_integration.js

+6
Original file line numberDiff line numberDiff line change
@@ -789,6 +789,12 @@ mocha.describe('bucket operations - namespace_fs', function() {
789789
const res_without_metadata = _.omit(res, '$metadata');
790790
assert.deepEqual(res_without_metadata, {});
791791
});
792+
mocha.it('get bucket request payment (currently returns a mock) without failing', async function() {
793+
const res = await s3_correct_uid_default_nsr.getBucketRequestPayment({ Bucket: bucket_name});
794+
assert.equal(res.$metadata.httpStatusCode, 200);
795+
const expected_payer = 'BucketOwner'; // this is the mock that we use
796+
assert.equal(res.Payer, expected_payer);
797+
});
792798

793799
mocha.it('delete multiple non existing objects without failing', async function() {
794800
const keys_to_delete = [

Diff for: src/test/unit_tests/test_s3_ops.js

+6
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ mocha.describe('s3_ops', function() {
110110
const res = await s3.listBuckets({});
111111
assert(res.Buckets.find(bucket => bucket.Name === BKT1));
112112
});
113+
mocha.it('should not fail request of get bucket request payment (currently returns a mock)', async function() {
114+
const res = await s3.getBucketRequestPayment({ Bucket: BKT1 });
115+
assert.equal(res.$metadata.httpStatusCode, 200);
116+
const expected_payer = 'BucketOwner'; // this is the mock that we use
117+
assert.equal(res.Payer, expected_payer);
118+
});
113119
mocha.it('should enable bucket logging', async function() {
114120
await s3.createBucket({ Bucket: BKT2 });
115121
await s3.putBucketLogging({

0 commit comments

Comments
 (0)