From 99a035086b05502da31497cf110e44c08e379483 Mon Sep 17 00:00:00 2001 From: Rajesh Date: Mon, 14 Sep 2026 20:00:53 +0530 Subject: [PATCH 1/3] HDDS-12869. Add S3 create-bucket naming corner cases to bucketcreate robot tests --- .../src/main/smoketest/s3/bucketcreate.robot | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot b/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot index 3b86e610f3d1..5817de50eeec 100644 --- a/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot +++ b/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot @@ -42,6 +42,35 @@ Create bucket with invalid bucket name ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket invalid_bucket_${randStr} 255 Should contain ${result} InvalidBucketName +Create bucket with name too short + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket ab 255 + Should contain ${result} InvalidBucketName + +Create bucket with name too long + ${bucket} = Evaluate 'a' * 64 + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket ${bucket} 255 + Should contain ${result} InvalidBucketName + +Create bucket with all uppercase characters in bucket name + ${randStr} = Generate Random String 8 [UPPER] + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket BUCKET${randStr} 255 + Should contain ${result} InvalidBucketName + +Create bucket with mixed uppercase characters in bucket name + ${randStr} = Generate Random String 8 [LOWER] + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket BuCkEt-${randStr} 255 + Should contain ${result} InvalidBucketName + +Create bucket with trailing dash in bucket name + ${randStr} = Generate Random String 8 [LOWER] + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket bucket-${randStr}- 255 + Should contain ${result} InvalidBucketName + +Create bucket with maximum valid name length + ${randStr} = Generate Random String 62 [LOWER] + ${bucket} = Set Variable b${randStr} + Create bucket with name ${bucket} + Create new bucket and check default group ACL [tags] aws-skip ${bucket} = Create bucket From be5d50bb477c14f8af462e5968d9a506da58ad9a Mon Sep 17 00:00:00 2001 From: Rajesh Date: Tue, 15 Sep 2026 20:02:15 +0530 Subject: [PATCH 2/3] addition of the new test scenarios as per review comments --- .../src/main/smoketest/s3/bucketcreate.robot | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot b/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot index 5817de50eeec..e1c829108f57 100644 --- a/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot +++ b/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot @@ -32,6 +32,11 @@ ${BUCKET} generated Create new bucket Create bucket +Create bucket with maximum valid name length + ${randStr} = Generate Random String 62 [LOWER] + ${bucket} = Set Variable b${randStr} + Create bucket with name ${bucket} + Create bucket which already exists ${bucket} = Create bucket ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket ${bucket} 255 @@ -61,15 +66,39 @@ Create bucket with mixed uppercase characters in bucket name ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket BuCkEt-${randStr} 255 Should contain ${result} InvalidBucketName -Create bucket with trailing dash in bucket name +Create bucket validate names can consist only of lowercase letters, numbers, periods (.), and hyphens (-). + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket test#12-$ 255 + Should contain ${result} Invalid bucket name + +Create bucket validate names must begin and end with a letter or number. ${randStr} = Generate Random String 8 [LOWER] ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket bucket-${randStr}- 255 Should contain ${result} InvalidBucketName -Create bucket with maximum valid name length - ${randStr} = Generate Random String 62 [LOWER] - ${bucket} = Set Variable b${randStr} - Create bucket with name ${bucket} +Create bucket validate names must not contain two adjacent periods. + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket test..bucket 255 + Should contain ${result} InvalidBucketName + +Create bucket validate names must not be formatted as an IP address (for example, 192.168.5.4). + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket 192.168.5.4 255 + Should contain ${result} InvalidBucketName + +Create bucket validate names must not contain leading dash + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket=-test 255 + Should contain ${result} InvalidBucketName + +Create bucket validate names must not contain leading period + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket .test 255 + Should contain ${result} InvalidBucketName + +Create bucket validate names must not contain Trailing period + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket test. 255 + Should contain ${result} InvalidBucketName + +Create bucket validate names must not contain all numeric + ${randStr} = Generate Random String 8 [NUMBERS] + ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket ${randStr} 255 + Should contain ${result} InvalidBucketName Create new bucket and check default group ACL [tags] aws-skip From 1e94ca8fb11ef4dcf487cbe81edc9cb1e639179e Mon Sep 17 00:00:00 2001 From: Rajesh Date: Wed, 16 Sep 2026 11:45:13 +0530 Subject: [PATCH 3/3] addressing the review comments --- hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot b/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot index e1c829108f57..a121df502b69 100644 --- a/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot +++ b/hadoop-ozone/dist/src/main/smoketest/s3/bucketcreate.robot @@ -66,9 +66,6 @@ Create bucket with mixed uppercase characters in bucket name ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket BuCkEt-${randStr} 255 Should contain ${result} InvalidBucketName -Create bucket validate names can consist only of lowercase letters, numbers, periods (.), and hyphens (-). - ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket test#12-$ 255 - Should contain ${result} Invalid bucket name Create bucket validate names must begin and end with a letter or number. ${randStr} = Generate Random String 8 [LOWER] @@ -91,7 +88,7 @@ Create bucket validate names must not contain leading period ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket .test 255 Should contain ${result} InvalidBucketName -Create bucket validate names must not contain Trailing period +Create bucket validate names must not contain trailing period ${result} = Execute AWSS3APICli and checkrc create-bucket --bucket test. 255 Should contain ${result} InvalidBucketName