@@ -6,18 +6,21 @@ import software.amazon.smithy.model.shapes.ShapeId
6
6
import software.amazon.smithy.model.traits.RequiredTrait
7
7
import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter
8
8
import software.amazon.smithy.rust.codegen.core.rustlang.Writable
9
+ import software.amazon.smithy.rust.codegen.core.smithy.DirectedWalker
9
10
import software.amazon.smithy.rust.codegen.core.testutil.asSmithyModel
10
11
import software.amazon.smithy.rust.codegen.server.smithy.transformers.ConstrainedMemberTransform
11
12
import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig
12
13
import software.amazon.smithy.rust.codegen.core.smithy.RuntimeCrateLocation
13
14
import software.amazon.smithy.rust.codegen.core.smithy.RustCrate
14
15
import software.amazon.smithy.rust.codegen.core.smithy.transformers.OperationNormalizer
16
+ import software.amazon.smithy.rust.codegen.core.testutil.TestWorkspace
15
17
import software.amazon.smithy.rust.codegen.core.testutil.generatePluginContext
16
18
import software.amazon.smithy.rust.codegen.core.testutil.unitTest
17
19
import software.amazon.smithy.rust.codegen.core.util.runCommand
18
20
import software.amazon.smithy.rust.codegen.core.util.toPascalCase
19
21
import software.amazon.smithy.rust.codegen.server.smithy.customize.CombinedServerCodegenDecorator
20
22
import software.amazon.smithy.rust.codegen.server.smithy.testutil.serverTestCodegenContext
23
+ import software.amazon.smithy.rust.codegen.server.smithy.testutil.serverTestSymbolProvider
21
24
import java.io.File
22
25
import java.nio.file.Path
23
26
@@ -267,14 +270,29 @@ class ConstraintsMemberShapeTest {
267
270
)
268
271
val codegenDecorator: CombinedServerCodegenDecorator =
269
272
CombinedServerCodegenDecorator .fromClasspath(context)
270
- ServerCodegenVisitor (context, codegenDecorator)
271
- .execute()
272
273
274
+ val transformed = model
275
+ .let (OperationNormalizer ::transform)
276
+ .let (ConstrainedMemberTransform ::transform)
277
+
278
+ val testProject = TestWorkspace .testProject(serverTestSymbolProvider(transformed))
273
279
val codegenContext = serverTestCodegenContext(model)
280
+
281
+ testProject.initializeInlineModuleWriter(codegenContext)
282
+ val settings = ServerRustSettings .from(context.model, context.settings)
283
+ val service = settings.getService(model)
284
+ val serviceShapes = DirectedWalker (model).walkShapes(service)
285
+
286
+ serviceShapes.forEach { it.accept(this ) }
287
+ codegenDecorator.extras(codegenContext, rustCrate)
288
+
289
+ rustCrate.getInlineModuleWriter().render()
290
+
291
+
274
292
RustCrate (
275
293
context.fileManifest,
276
294
codegenContext.symbolProvider,
277
- ServerRustSettings .from(context.model, context.settings).codegenConfig
295
+ ServerRustSettings .from(context.model, context.settings).codegenConfig,
278
296
)
279
297
.lib { writable(this ) }
280
298
0 commit comments