Unverified Commit 1b5ed926 authored by david-perez's avatar david-perez Committed by GitHub
Browse files

Refactor some tests that use `testCodegenContext` and `testSymbolProvider` (#1898)

Tests that use `testCodegenContext` should rely on the symbol provider
hosted within instead of calling `testSymbolProvider`.
`testCodegenContext` depends on `testSymbolProvider`, but this is an
implementation detail that tests should not rely on.
parent c35f0f1c
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import software.amazon.smithy.rust.codegen.core.testutil.asSmithyModel
import software.amazon.smithy.rust.codegen.core.testutil.compileAndTest
import software.amazon.smithy.rust.codegen.core.testutil.renderWithModelBuilder
import software.amazon.smithy.rust.codegen.core.testutil.testCodegenContext
import software.amazon.smithy.rust.codegen.core.testutil.testSymbolProvider
import software.amazon.smithy.rust.codegen.core.testutil.unitTest
import software.amazon.smithy.rust.codegen.core.util.outputShape

@@ -68,8 +67,8 @@ class ResponseBindingGeneratorTest {
    """.asSmithyModel()
    private val model = OperationNormalizer.transform(baseModel)
    private val operationShape = model.expectShape(ShapeId.from("smithy.example#PutObject"), OperationShape::class.java)
    private val symbolProvider = testSymbolProvider(model)
    private val testCodegenContext: CodegenContext = testCodegenContext(model)
    private val codegenContext: CodegenContext = testCodegenContext(model)
    private val symbolProvider = codegenContext.symbolProvider

    private fun RustWriter.renderOperation() {
        operationShape.outputShape(model).renderWithModelBuilder(model, symbolProvider, this)
@@ -79,8 +78,8 @@ class ResponseBindingGeneratorTest {
                .filter { it.location == HttpLocation.HEADER }
            bindings.forEach { binding ->
                val runtimeType = ResponseBindingGenerator(
                    RestJson(testCodegenContext),
                    testCodegenContext,
                    RestJson(codegenContext),
                    codegenContext,
                    operationShape,
                ).generateDeserializeHeaderFn(binding)
                // little hack to force these functions to be generated
+3 −5
Original line number Diff line number Diff line
@@ -43,11 +43,9 @@ class AwsQueryParserGeneratorTest {
    @Test
    fun `it modifies operation parsing to include Response and Result tags`() {
        val model = RecursiveShapeBoxer.transform(OperationNormalizer.transform(baseModel))
        val symbolProvider = testSymbolProvider(model)
        val parserGenerator = AwsQueryParserGenerator(
            testCodegenContext(model),
            RuntimeType.wrappedXmlErrors(TestRuntimeConfig),
        )
        val codegenContext = testCodegenContext(model)
        val symbolProvider = codegenContext.symbolProvider
        val parserGenerator = AwsQueryParserGenerator(codegenContext, RuntimeType.wrappedXmlErrors(TestRuntimeConfig))
        val operationParser = parserGenerator.operationParser(model.lookup("test#SomeOperation"))!!
        val project = TestWorkspace.testProject(testSymbolProvider(model))

+3 −5
Original line number Diff line number Diff line
@@ -43,11 +43,9 @@ class Ec2QueryParserGeneratorTest {
    @Test
    fun `it modifies operation parsing to include Response and Result tags`() {
        val model = RecursiveShapeBoxer.transform(OperationNormalizer.transform(baseModel))
        val symbolProvider = testSymbolProvider(model)
        val parserGenerator = Ec2QueryParserGenerator(
            testCodegenContext(model),
            RuntimeType.wrappedXmlErrors(TestRuntimeConfig),
        )
        val codegenContext = testCodegenContext(model)
        val symbolProvider = codegenContext.symbolProvider
        val parserGenerator = Ec2QueryParserGenerator(codegenContext, RuntimeType.wrappedXmlErrors(TestRuntimeConfig))
        val operationParser = parserGenerator.operationParser(model.lookup("test#SomeOperation"))!!
        val project = TestWorkspace.testProject(testSymbolProvider(model))

+3 −2
Original line number Diff line number Diff line
@@ -113,9 +113,10 @@ class JsonParserGeneratorTest {
    @Test
    fun `generates valid deserializers`() {
        val model = RecursiveShapeBoxer.transform(OperationNormalizer.transform(baseModel))
        val symbolProvider = testSymbolProvider(model)
        val codegenContext = testCodegenContext(model)
        val symbolProvider = codegenContext.symbolProvider
        val parserGenerator = JsonParserGenerator(
            testCodegenContext(model),
            codegenContext,
            HttpTraitHttpBindingResolver(model, ProtocolContentTypes.consistent("application/json")),
            ::restJsonFieldName,
        )
+3 −2
Original line number Diff line number Diff line
@@ -91,9 +91,10 @@ internal class XmlBindingTraitParserGeneratorTest {
    @Test
    fun `generates valid parsers`() {
        val model = RecursiveShapeBoxer.transform(OperationNormalizer.transform(baseModel))
        val symbolProvider = testSymbolProvider(model)
        val codegenContext = testCodegenContext(model)
        val symbolProvider = codegenContext.symbolProvider
        val parserGenerator = XmlBindingTraitParserGenerator(
            testCodegenContext(model),
            codegenContext,
            RuntimeType.wrappedXmlErrors(TestRuntimeConfig),
        ) { _, inner -> inner("decoder") }
        val operationParser = parserGenerator.operationParser(model.lookup("test#Op"))!!
Loading