Skip to content

Commit

Permalink
Merge 0.100.x back into main (#3216)
Browse files Browse the repository at this point in the history
  • Loading branch information
aws-sdk-rust-ci authored Nov 16, 2023
2 parents e636950 + 2415f0f commit faf0648
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 7 deletions.
17 changes: 11 additions & 6 deletions buildSrc/src/main/kotlin/CodegenTestCommon.kt
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,11 @@ private fun codegenTests(properties: PropertyRetriever, allTests: List<CodegenTe
allTests
}
require(ret.isNotEmpty()) {
"None of the provided module overrides (`$modulesOverride`) are valid test services (`${allTests.map {
it.module
}}`)"
"None of the provided module overrides (`$modulesOverride`) are valid test services (`${
allTests.map {
it.module
}
}`)"
}
return ret
}
Expand Down Expand Up @@ -121,9 +123,11 @@ fun cargoCommands(properties: PropertyRetriever): List<Cargo> {
AllCargoCommands
}
require(ret.isNotEmpty()) {
"None of the provided cargo commands (`$cargoCommandsOverride`) are valid cargo commands (`${AllCargoCommands.map {
it.toString
}}`)"
"None of the provided cargo commands (`$cargoCommandsOverride`) are valid cargo commands (`${
AllCargoCommands.map {
it.toString
}
}`)"
}
return ret
}
Expand All @@ -137,6 +141,7 @@ fun Project.registerGenerateSmithyBuildTask(
this.tasks.register("generateSmithyBuild") {
description = "generate smithy-build.json"
outputs.file(project.projectDir.resolve("smithy-build.json"))
// NOTE: This is not working.
allCodegenTests.flatMap { it.imports }.forEach { inputs.file(project.projectDir.resolve(it)) }

doFirst {
Expand Down
9 changes: 8 additions & 1 deletion codegen-client-test/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@ val allCodegenTests = listOf(
ClientTest("aws.protocoltests.restxml#RestXml", "rest_xml", addMessageToErrors = false),
ClientTest("aws.protocoltests.query#AwsQuery", "aws_query", addMessageToErrors = false),
ClientTest("aws.protocoltests.ec2#AwsEc2", "ec2_query", addMessageToErrors = false),
ClientTest("aws.protocoltests.restxml.xmlns#RestXmlWithNamespace", "rest_xml_namespace", addMessageToErrors = false),
ClientTest(
"aws.protocoltests.restxml.xmlns#RestXmlWithNamespace",
"rest_xml_namespace",
addMessageToErrors = false,
),
ClientTest("aws.protocoltests.restxml#RestXmlExtras", "rest_xml_extras", addMessageToErrors = false),
ClientTest(
"aws.protocoltests.restxmlunwrapped#RestXmlExtrasUnwrappedErrors",
Expand Down Expand Up @@ -108,7 +112,10 @@ val allCodegenTests = listOf(
"pokemon-service-awsjson-client",
dependsOn = listOf("pokemon-awsjson.smithy", "pokemon-common.smithy"),
),
ClientTest("aws.protocoltests.misc#QueryCompatService", "query-compat-test", dependsOn = listOf("aws-json-query-compat.smithy")),
).map(ClientTest::toCodegenTest)
// use this line to run just one test
// .filter { it.module == "query-compat-test" }

project.registerGenerateSmithyBuildTask(rootProject, pluginName, allCodegenTests)
project.registerGenerateCargoWorkspaceTask(rootProject, pluginName, allCodegenTests, workingDirUnderBuildDir)
Expand Down
38 changes: 38 additions & 0 deletions codegen-core/common-test-models/aws-json-query-compat.smithy
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
$version: "1.0"

namespace aws.protocoltests.misc

use aws.protocols#awsQueryCompatible
use aws.protocols#awsJson1_0
use aws.protocols#awsQueryError
use smithy.test#httpRequestTests
@awsQueryCompatible
@awsJson1_0
service QueryCompatService {
operations: [
Operation
]
}

@httpRequestTests([{
id: "BasicQueryCompatTest"
protocol: awsJson1_0,
method: "POST",
uri: "/",
body: "{\"message\":\"hello!\"}",
bodyMedaType: "application/json",
params: {
message: "hello!"
},
headers: { "x-amz-target": "QueryCompatService.Operation"}

}
])
operation Operation {
input: OperationInputOutput
output: OperationInputOutput
}

structure OperationInputOutput {
message: String
}
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,7 @@ class AwsQueryCompatible(

override fun parseEventStreamErrorMetadata(operationShape: OperationShape): RuntimeType =
awsJson.parseEventStreamErrorMetadata(operationShape)

override fun additionalRequestHeaders(operationShape: OperationShape): List<Pair<String, String>> =
listOf("x-amz-target" to "${codegenContext.serviceShape.id.name}.${operationShape.id.name}")
}

0 comments on commit faf0648

Please sign in to comment.