From feefd13b6821f108e8bfae0d760c28a6354191ff Mon Sep 17 00:00:00 2001 From: Maha Benzekri Date: Tue, 12 Sep 2023 22:51:04 +0200 Subject: [PATCH 1/4] CLDSRV-444: unit test with Id and arsenal version --- package.json | 2 +- .../test/bucket/putBucketPolicy.js | 31 +++++++++++++++++++ yarn.lock | 14 +++++++-- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index cf99313f35..c385998de4 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "homepage": "https://github.com/scality/S3#readme", "dependencies": { "@hapi/joi": "^17.1.0", - "arsenal": "git+https://github.com/scality/arsenal#7.10.47", + "arsenal": "git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3", "async": "~2.5.0", "aws-sdk": "2.905.0", "azure-storage": "^2.1.0", diff --git a/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js b/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js index 4cc009a6f3..e02b7d4ebf 100644 --- a/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js +++ b/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js @@ -30,6 +30,23 @@ function getPolicyParams(paramToChange) { }; } +function getPolicyParamsWithId(paramToChange, policyId) { + const newParam = {}; + const bucketPolicy = { + Version: '2012-10-17', + Id: policyId, + Statement: [basicStatement], + }; + if (paramToChange) { + newParam[paramToChange.key] = paramToChange.value; + bucketPolicy.Statement[0] = Object.assign({}, basicStatement, newParam); + } + return { + Bucket: bucket, + Policy: JSON.stringify(bucketPolicy), + }; +} + // Check for the expected error response code and status code. function assertError(err, expectedErr, cb) { if (expectedErr === null) { @@ -102,5 +119,19 @@ describe('aws-sdk test put bucket policy', () => { s3.putBucketPolicy(params, err => assertError(err, 'MalformedPolicy', done)); }); + + it('should return MalformedPolicy because Id is not a string', + done => { + const params = getPolicyParamsWithId(null, 59); + s3.putBucketPolicy(params, err => + assertError(err, 'MalformedPolicy', done)); + }); + + it('should put a bucket policy on bucket since Id is a string', + done => { + const params = getPolicyParamsWithId(null, 'cd3ad3d9-2776-4ef1-a904-4c229d1642e'); + s3.putBucketPolicy(params, err => + assertError(err, null, done)); + }); }); }); diff --git a/yarn.lock b/yarn.lock index cb135a5930..ee207aa4f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -488,9 +488,9 @@ arraybuffer.slice@~0.0.7: optionalDependencies: ioctl "^2.0.2" -"arsenal@git+https://github.com/scality/arsenal#7.10.47": +"arsenal@git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3": version "7.10.47" - resolved "git+https://github.com/scality/arsenal#3f24336b83581d121f52146b8003e0a68d9ce876" + resolved "git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3" dependencies: "@types/async" "^3.2.12" "@types/utf8" "^3.0.1" @@ -506,7 +506,7 @@ arraybuffer.slice@~0.0.7: bson "4.0.0" debug "~2.6.9" diskusage "^1.1.1" - fcntl "github:scality/node-fcntl#0.2.0" + fcntl "github:scality/node-fcntl#0.2.2" hdclient scality/hdclient#1.1.0 https-proxy-agent "^2.2.0" ioredis "^4.28.5" @@ -1918,6 +1918,14 @@ fast-levenshtein@~2.0.6: nan "^2.3.2" node-gyp "^8.0.0" +"fcntl@github:scality/node-fcntl#0.2.2": + version "0.2.1" + resolved "https://codeload.github.com/scality/node-fcntl/tar.gz/b1335ca204c6265cedc50c26020c4d63aabe920e" + dependencies: + bindings "^1.1.1" + nan "^2.3.2" + node-gyp "^8.0.0" + fecha@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" From 80458323594cfa6f3a58faea88da27b3da90ecad Mon Sep 17 00:00:00 2001 From: Maha Benzekri Date: Fri, 15 Sep 2023 12:19:21 +0200 Subject: [PATCH 2/4] CLDSRV-447:Test add for principal && arsn bump (cherry picked from commit 294f70d1fbe27e6e4e60cb1861dbfe274da7c5d1) --- package.json | 2 +- .../functional/aws-node-sdk/test/bucket/putBucketPolicy.js | 6 ++++++ yarn.lock | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c385998de4..83d958f8fb 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "homepage": "https://github.com/scality/S3#readme", "dependencies": { "@hapi/joi": "^17.1.0", - "arsenal": "git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3", + "arsenal": "git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5", "async": "~2.5.0", "aws-sdk": "2.905.0", "azure-storage": "^2.1.0", diff --git a/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js b/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js index e02b7d4ebf..191409f8ab 100644 --- a/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js +++ b/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js @@ -133,5 +133,11 @@ describe('aws-sdk test put bucket policy', () => { s3.putBucketPolicy(params, err => assertError(err, null, done)); }); + + it('should allow bucket policy with pincipal arn less than 2048', done => { + const params = getPolicyParams({ key: 'Principal', value: { AWS: 'arn:aws:iam::767707094035:user/user2/TENANT_USER/null/5417be27-8709-48bd-adfb-865ebc58b9f0/1a464be02ea631bdaf2a9ee884434233374a457460e925bf10d9e4665f8fa796/c1d83067-a3f3-41a4-bd45-d6bf47270bd0' } }); // eslint-disable-line max-len + s3.putBucketPolicy(params, err => + assertError(err, null, done)); + }); }); }); diff --git a/yarn.lock b/yarn.lock index ee207aa4f1..40cf066e81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -488,9 +488,15 @@ arraybuffer.slice@~0.0.7: optionalDependencies: ioctl "^2.0.2" +<<<<<<< HEAD "arsenal@git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3": version "7.10.47" resolved "git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3" +======= +"arsenal@git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5": + version "7.10.47" + resolved "git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5" +>>>>>>> 294f70d1 (CLDSRV-447:Test add for principal && arsn bump) dependencies: "@types/async" "^3.2.12" "@types/utf8" "^3.0.1" From fbe0100afc6dbc3619ca925d325987ab726af1c4 Mon Sep 17 00:00:00 2001 From: Maha Benzekri Date: Fri, 15 Sep 2023 12:19:21 +0200 Subject: [PATCH 3/4] CLDSRV-447:Test add for principal && arsn bump (cherry picked from commit 294f70d1fbe27e6e4e60cb1861dbfe274da7c5d1) --- package.json | 2 +- .../functional/aws-node-sdk/test/bucket/putBucketPolicy.js | 6 ++++++ yarn.lock | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index c385998de4..83d958f8fb 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "homepage": "https://github.com/scality/S3#readme", "dependencies": { "@hapi/joi": "^17.1.0", - "arsenal": "git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3", + "arsenal": "git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5", "async": "~2.5.0", "aws-sdk": "2.905.0", "azure-storage": "^2.1.0", diff --git a/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js b/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js index e02b7d4ebf..191409f8ab 100644 --- a/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js +++ b/tests/functional/aws-node-sdk/test/bucket/putBucketPolicy.js @@ -133,5 +133,11 @@ describe('aws-sdk test put bucket policy', () => { s3.putBucketPolicy(params, err => assertError(err, null, done)); }); + + it('should allow bucket policy with pincipal arn less than 2048', done => { + const params = getPolicyParams({ key: 'Principal', value: { AWS: 'arn:aws:iam::767707094035:user/user2/TENANT_USER/null/5417be27-8709-48bd-adfb-865ebc58b9f0/1a464be02ea631bdaf2a9ee884434233374a457460e925bf10d9e4665f8fa796/c1d83067-a3f3-41a4-bd45-d6bf47270bd0' } }); // eslint-disable-line max-len + s3.putBucketPolicy(params, err => + assertError(err, null, done)); + }); }); }); diff --git a/yarn.lock b/yarn.lock index ee207aa4f1..043a0254c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -488,9 +488,9 @@ arraybuffer.slice@~0.0.7: optionalDependencies: ioctl "^2.0.2" -"arsenal@git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3": +"arsenal@git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5": version "7.10.47" - resolved "git+https://github.com/scality/arsenal#9ea39c6ed9a06949eedce38868c48772639f5ee3" + resolved "git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5" dependencies: "@types/async" "^3.2.12" "@types/utf8" "^3.0.1" From 16b63452e43596e7220fb07266ea2afc1d740d4a Mon Sep 17 00:00:00 2001 From: Maha Benzekri Date: Mon, 25 Sep 2023 14:27:20 +0200 Subject: [PATCH 4/4] fix on space --- yarn.lock | 1 - 1 file changed, 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 895abeb98d..043a0254c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -488,7 +488,6 @@ arraybuffer.slice@~0.0.7: optionalDependencies: ioctl "^2.0.2" - "arsenal@git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5": version "7.10.47" resolved "git+https://github.com/scality/arsenal#73c6f41fa3bf52947e2f9a33ac2cb40233309ab5"