Skip to content

Commit 5b7ec50

Browse files
Madrigalcenedhryn
andauthored
Modify ARN toString to print a valid ARN when there's no region or acountId (#4944)
* Modify ARN toString to print a valid ARN when there's no region or accountId Fixes #2416 * Run script --------- Co-authored-by: Luis Madrigal 🐧 <[email protected]> Co-authored-by: Anna-Karin Salander <[email protected]>
1 parent 23bc04a commit 5b7ec50

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "bugfix",
3+
"category": "AWS SDK for Java v2",
4+
"contributor": "Madrigal",
5+
"description": "Modify ARN toString to print a valid ARN when there's no region or acountId"
6+
}

core/arns/src/main/java/software/amazon/awssdk/arns/Arn.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,9 @@ public String toString() {
198198
+ ":"
199199
+ this.service
200200
+ ":"
201-
+ region
201+
+ (region == null ? "" : region)
202202
+ ":"
203-
+ this.accountId
203+
+ (this.accountId == null ? "" : this.accountId)
204204
+ ":"
205205
+ this.resource;
206206
}

core/arns/src/test/java/software/amazon/awssdk/arns/ArnTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,22 @@ public void arnWithQualifiedResource_ParsesBackToString() {
5757
assertThat(arn.resourceAsString()).isEqualTo("myresource:foobar:1");
5858
}
5959

60+
@Test
61+
public void arnWithMinimalResources_ParsesBackToString() {
62+
String arnString = "arn:aws:s3:::bucket";
63+
Arn arn = Arn.fromString(arnString);
64+
assertThat(arn.toString()).isEqualTo(arnString);
65+
assertThat(arn.resourceAsString()).isEqualTo("bucket");
66+
}
67+
68+
@Test
69+
public void arnWithoutRegion_ParsesBackToString() {
70+
String arnString = "arn:aws:iam::123456789012:root";
71+
Arn arn = Arn.fromString(arnString);
72+
assertThat(arn.toString()).isEqualTo(arnString);
73+
assertThat(arn.resourceAsString()).isEqualTo("root");
74+
}
75+
6076
@Test
6177
public void arnWithResourceTypeAndResource_ParsesCorrectly() {
6278
String arnString = "arn:aws:s3:us-east-1:12345678910:bucket:foobar";

0 commit comments

Comments
 (0)