Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,8 @@ public void requestTest(DataStream expected, DataStream actual) {
@HttpClientResponseTests
@ProtocolTestFilter(
skipTests = {
"RestJsonDateTimeWithFractionalSeconds",
"RestJsonInputAndOutputWithQuotedStringHeaders",
"HttpPrefixHeadersResponse",
"RestJsonHttpPayloadTraitsWithBlob",
"RestJsonHttpPayloadTraitsWithMediaTypeWithBlob",
"RestJsonEnumPayloadResponse",
"RestJsonStringPayloadResponse",
"RestJsonHttpPayloadWithUnion",
"RestJsonInputAndOutputWithQuotedStringHeaders",
"DocumentTypeAsPayloadOutput",
"DocumentTypeAsPayloadOutputString",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,6 @@ public void requestTest(DataStream expected, DataStream actual) {
}

@HttpClientResponseTests
@ProtocolTestFilter(
skipTests = {
"RestXmlDateTimeWithFractionalSeconds",
})
public void responseTest(Runnable test) {
test.run();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ public void requestTest(DataStream expected, DataStream actual) {
@HttpClientResponseTests
@ProtocolTestFilter(
skipTests = {
"RpcV2CborDateTimeWithFractionalSeconds",
"RpcV2CborClientPopulatesDefaultsValuesWhenMissingInResponse",
//Errors are not yet implemented properly
"RpcV2CborInvalidGreetingError",
Expand Down
1 change: 1 addition & 0 deletions protocol-tests/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ dependencies {
implementation(project(":server-api"))
implementation(project(":server-core"))
implementation(project(":client-http"))
implementation(project(":json-codec"))
implementation(libs.assertj.core)

api(libs.junit.jupiter.api)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,17 @@
import software.amazon.smithy.java.core.serde.SerializationException;
import software.amazon.smithy.java.core.serde.ShapeDeserializer;
import software.amazon.smithy.java.core.serde.ShapeSerializer;
import software.amazon.smithy.java.core.serde.TimestampFormatter;
import software.amazon.smithy.java.core.serde.document.Document;
import software.amazon.smithy.java.core.serde.document.DocumentDeserializer;
import software.amazon.smithy.java.io.datastream.DataStream;
import software.amazon.smithy.java.json.TimestampResolver;
import software.amazon.smithy.model.node.BooleanNode;
import software.amazon.smithy.model.node.Node;
import software.amazon.smithy.model.node.NumberNode;
import software.amazon.smithy.model.node.StringNode;
import software.amazon.smithy.model.shapes.ShapeType;
import software.amazon.smithy.model.traits.TimestampFormatTrait;

/**
* This is a document format used in smithy protocol tests to model expected modeled values.
Expand Down Expand Up @@ -186,11 +189,17 @@ public Instant asTimestamp() {
}
return node.asNumberNode()
.map(NumberNode::getValue)
.map(Number::longValue)
.map(Instant::ofEpochSecond)
.map(ProtocolTestDocument::readNumberTimestamp)
.orElseGet(Document.super::asTimestamp);
}

private static Instant readNumberTimestamp(Number number) {
// Numbers can come as integral or decimal epoch second values in test params,
// use the TimestampResolver to properly handle either case.
return TimestampResolver.readTimestamp(number,
TimestampFormatter.of(TimestampFormatTrait.Format.EPOCH_SECONDS));
}

@Override
public List<Document> asList() {
if (node.isNullNode()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ public void requestTest(Runnable test) {
"RestJsonDeserializeIgnoreType",
"RestJsonDateTimeWithNegativeOffset",
"RestJsonDateTimeWithPositiveOffset",
"RestJsonDateTimeWithFractionalSeconds",
"RestJsonClientPopulatesDefaultsValuesWhenMissingInResponse",
"RestJsonClientIgnoresDefaultValuesIfMemberValuesArePresentInResponse",
"RestJsonClientPopulatesNestedDefaultsWhenMissingInResponseBody",
Expand Down
Loading