Skip to content

Commit 038c6cc

Browse files
committed
Make enum eventHeader tests client only
1 parent 8d810d2 commit 038c6cc

File tree

2 files changed

+30
-14
lines changed

2 files changed

+30
-14
lines changed

codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/smithy/protocols/eventstream/ClientEventStreamMarshallerGeneratorTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,11 @@ class ClientEventStreamMarshallerGeneratorTest {
155155
.is_some());
156156
assert_eq!(
157157
msg.payload(),
158-
&bytes::Bytes::from_static(${testCase.generateRustPayloadInitializer(rpcEventStreamTestCase.expectedInInitialRequest)})
158+
&bytes::Bytes::from_static(${
159+
testCase.generateRustPayloadInitializer(
160+
rpcEventStreamTestCase.expectedInInitialRequest,
161+
)
162+
})
159163
);
160164
""",
161165
)
@@ -178,7 +182,7 @@ class ClientEventStreamMarshallerGeneratorTest {
178182

179183
class TestCasesProvider : ArgumentsProvider {
180184
override fun provideArguments(context: ExtensionContext?): Stream<out Arguments> =
181-
EventStreamTestModels.TEST_CASES.map { Arguments.of(it) }.stream()
185+
EventStreamTestModels.TEST_CASES.map { Arguments.of(it.withEnumMembers()) }.stream()
182186
}
183187

184188
/**

codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/testutil/EventStreamTestModels.kt

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ private fun fillInBaseModel(
2121
namespacedProtocolName: String,
2222
extraServiceAnnotations: String = "",
2323
nonEventStreamMembers: String = "",
24+
extraEventHeaderMembers: String = "",
25+
extraShapes: String = "",
2426
): String =
2527
"""
2628
${"\$version: \"2\""}
@@ -43,16 +45,7 @@ private fun fillInBaseModel(
4345
Message: String,
4446
}
4547
46-
enum TheEnum {
47-
FOO
48-
BAR
49-
}
50-
51-
intEnum FaceCard {
52-
JACK = 1
53-
QUEEN = 2
54-
KING = 3
55-
}
48+
$extraShapes
5649
5750
structure MessageWithBlob { @eventPayload data: Blob }
5851
structure MessageWithString { @eventPayload data: String }
@@ -67,8 +60,7 @@ private fun fillInBaseModel(
6760
@eventHeader short: Short,
6861
@eventHeader string: String,
6962
@eventHeader timestamp: Timestamp,
70-
@eventHeader enum: TheEnum,
71-
@eventHeader intEnum: FaceCard,
63+
$extraEventHeaderMembers
7264
}
7365
structure MessageWithHeaderAndPayload {
7466
@eventHeader header: String,
@@ -143,6 +135,26 @@ object EventStreamTestModels {
143135

144136
fun withNonEventStreamMembers(nonEventStreamMembers: String): TestCase =
145137
this.copy(model = fillInBaseModel(this.protocolShapeId, "", nonEventStreamMembers).asSmithyModel())
138+
139+
// Server doesn't support enum members in event streams, so this util allows Clients to test with those shapes
140+
fun withEnumMembers(): TestCase =
141+
this.copy(
142+
model =
143+
fillInBaseModel(
144+
this.protocolShapeId,
145+
extraEventHeaderMembers = "@eventHeader enum: TheEnum,\n@eventHeader intEnum: FaceCard,",
146+
extraShapes = """ enum TheEnum {
147+
FOO
148+
BAR
149+
}
150+
151+
intEnum FaceCard {
152+
JACK = 1
153+
QUEEN = 2
154+
KING = 3
155+
}""",
156+
).asSmithyModel(),
157+
)
146158
}
147159

148160
private fun base64Encode(input: ByteArray): String {

0 commit comments

Comments
 (0)