From 6dceacec94725c6b1c58d0cfe1b7a247a749092d Mon Sep 17 00:00:00 2001 From: Jose Vitor Schneid Date: Tue, 25 Jul 2023 10:59:46 -0300 Subject: [PATCH] Fix ServiceTrait serialization This commit fixes the serialization of the target property of ServiceTrait by serializing the ShapeId with it's namespace qualifier. --- .../java/software/amazon/smithy/aws/traits/ServiceTrait.java | 2 +- .../software/amazon/smithy/aws/traits/ServiceTraitTest.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/ServiceTrait.java b/smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/ServiceTrait.java index dc539c69a11..bc8cdcd3bb5 100644 --- a/smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/ServiceTrait.java +++ b/smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/ServiceTrait.java @@ -206,7 +206,7 @@ public Builder toBuilder() { protected Node createNode() { return Node.objectNodeBuilder() .sourceLocation(getSourceLocation()) - .withMember("target", Node.from(target.getName())) + .withMember("target", Node.from(target.toString())) .withMember("sdkId", Node.from(sdkId)) .withMember("arnNamespace", Node.from(getArnNamespace())) .withMember("cloudFormationName", Node.from(getCloudFormationName())) diff --git a/smithy-aws-traits/src/test/java/software/amazon/smithy/aws/traits/ServiceTraitTest.java b/smithy-aws-traits/src/test/java/software/amazon/smithy/aws/traits/ServiceTraitTest.java index 2765bc170d5..21bff845d31 100644 --- a/smithy-aws-traits/src/test/java/software/amazon/smithy/aws/traits/ServiceTraitTest.java +++ b/smithy-aws-traits/src/test/java/software/amazon/smithy/aws/traits/ServiceTraitTest.java @@ -16,6 +16,7 @@ package software.amazon.smithy.aws.traits; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -49,6 +50,8 @@ public void loadsTraitWithString() { assertThat(serviceTrait.getEndpointPrefix(), equalTo("foo")); assertThat(serviceTrait.toBuilder().build(), equalTo(serviceTrait)); assertFalse(serviceTrait.getDocId().isPresent()); + assertThat(Node.prettyPrintJson(serviceTrait.createNode()), + containsString("\"target\": \"ns.foo#Foo\",")); } @Test