@@ -55,156 +55,138 @@ final class AsyncIntegrationTests: GRPCTestCase {
55
55
super. tearDown ( )
56
56
}
57
57
58
- func testUnary( ) {
59
- XCTAsyncTest {
60
- let get = self . echo. makeGetCall ( . with { $0. text = " hello " } )
58
+ func testUnary( ) async throws {
59
+ let get = self . echo. makeGetCall ( . with { $0. text = " hello " } )
61
60
62
- let initialMetadata = try await get. initialMetadata
63
- initialMetadata. assertFirst ( " 200 " , forName: " :status " )
61
+ let initialMetadata = try await get. initialMetadata
62
+ initialMetadata. assertFirst ( " 200 " , forName: " :status " )
64
63
65
- let response = try await get. response
66
- XCTAssertEqual ( response. text, " Swift echo get: hello " )
64
+ let response = try await get. response
65
+ XCTAssertEqual ( response. text, " Swift echo get: hello " )
67
66
68
- let trailingMetadata = try await get. trailingMetadata
69
- trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
67
+ let trailingMetadata = try await get. trailingMetadata
68
+ trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
70
69
71
- let status = await get. status
72
- XCTAssertTrue ( status. isOk)
73
- }
70
+ let status = await get. status
71
+ XCTAssertTrue ( status. isOk)
74
72
}
75
73
76
- func testUnaryWrapper( ) {
77
- XCTAsyncTest {
78
- let response = try await self . echo. get ( . with { $0. text = " hello " } )
79
- XCTAssertEqual ( response. text, " Swift echo get: hello " )
80
- }
74
+ func testUnaryWrapper( ) async throws {
75
+ let response = try await self . echo. get ( . with { $0. text = " hello " } )
76
+ XCTAssertEqual ( response. text, " Swift echo get: hello " )
81
77
}
82
78
83
- func testClientStreaming( ) {
84
- XCTAsyncTest {
85
- let collect = self . echo. makeCollectCall ( )
79
+ func testClientStreaming( ) async throws {
80
+ let collect = self . echo. makeCollectCall ( )
86
81
87
- try await collect. requestStream. send ( . with { $0. text = " boyle " } )
88
- try await collect. requestStream. send ( . with { $0. text = " jeffers " } )
89
- try await collect. requestStream. send ( . with { $0. text = " holt " } )
90
- try await collect. requestStream. finish ( )
82
+ try await collect. requestStream. send ( . with { $0. text = " boyle " } )
83
+ try await collect. requestStream. send ( . with { $0. text = " jeffers " } )
84
+ try await collect. requestStream. send ( . with { $0. text = " holt " } )
85
+ try await collect. requestStream. finish ( )
91
86
92
- let initialMetadata = try await collect. initialMetadata
93
- initialMetadata. assertFirst ( " 200 " , forName: " :status " )
87
+ let initialMetadata = try await collect. initialMetadata
88
+ initialMetadata. assertFirst ( " 200 " , forName: " :status " )
94
89
95
- let response = try await collect. response
96
- XCTAssertEqual ( response. text, " Swift echo collect: boyle jeffers holt " )
90
+ let response = try await collect. response
91
+ XCTAssertEqual ( response. text, " Swift echo collect: boyle jeffers holt " )
97
92
98
- let trailingMetadata = try await collect. trailingMetadata
99
- trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
93
+ let trailingMetadata = try await collect. trailingMetadata
94
+ trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
100
95
101
- let status = await collect. status
102
- XCTAssertTrue ( status. isOk)
103
- }
96
+ let status = await collect. status
97
+ XCTAssertTrue ( status. isOk)
104
98
}
105
99
106
- func testClientStreamingWrapper( ) {
107
- XCTAsyncTest {
108
- let requests : [ Echo_EchoRequest ] = [
109
- . with { $0. text = " boyle " } ,
110
- . with { $0. text = " jeffers " } ,
111
- . with { $0. text = " holt " } ,
112
- ]
100
+ func testClientStreamingWrapper( ) async throws {
101
+ let requests : [ Echo_EchoRequest ] = [
102
+ . with { $0. text = " boyle " } ,
103
+ . with { $0. text = " jeffers " } ,
104
+ . with { $0. text = " holt " } ,
105
+ ]
113
106
114
- let response = try await self . echo. collect ( requests)
115
- XCTAssertEqual ( response. text, " Swift echo collect: boyle jeffers holt " )
116
- }
107
+ let response = try await self . echo. collect ( requests)
108
+ XCTAssertEqual ( response. text, " Swift echo collect: boyle jeffers holt " )
117
109
}
118
110
119
- func testServerStreaming( ) {
120
- XCTAsyncTest {
121
- let expand = self . echo. makeExpandCall ( . with { $0. text = " boyle jeffers holt " } )
111
+ func testServerStreaming( ) async throws {
112
+ let expand = self . echo. makeExpandCall ( . with { $0. text = " boyle jeffers holt " } )
122
113
123
- let initialMetadata = try await expand. initialMetadata
124
- initialMetadata. assertFirst ( " 200 " , forName: " :status " )
114
+ let initialMetadata = try await expand. initialMetadata
115
+ initialMetadata. assertFirst ( " 200 " , forName: " :status " )
125
116
126
- let responses = try await expand. responseStream. map { $0. text } . collect ( )
127
- XCTAssertEqual ( responses, [
128
- " Swift echo expand (0): boyle " ,
129
- " Swift echo expand (1): jeffers " ,
130
- " Swift echo expand (2): holt " ,
131
- ] )
117
+ let responses = try await expand. responseStream. map { $0. text } . collect ( )
118
+ XCTAssertEqual ( responses, [
119
+ " Swift echo expand (0): boyle " ,
120
+ " Swift echo expand (1): jeffers " ,
121
+ " Swift echo expand (2): holt " ,
122
+ ] )
132
123
133
- let trailingMetadata = try await expand. trailingMetadata
134
- trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
124
+ let trailingMetadata = try await expand. trailingMetadata
125
+ trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
135
126
136
- let status = await expand. status
137
- XCTAssertTrue ( status. isOk)
138
- }
127
+ let status = await expand. status
128
+ XCTAssertTrue ( status. isOk)
139
129
}
140
130
141
- func testServerStreamingWrapper( ) {
142
- XCTAsyncTest {
143
- let responseStream = self . echo. expand ( . with { $0. text = " boyle jeffers holt " } )
144
- let responses = try await responseStream. map { $0. text } . collect ( )
145
- XCTAssertEqual ( responses, [
146
- " Swift echo expand (0): boyle " ,
147
- " Swift echo expand (1): jeffers " ,
148
- " Swift echo expand (2): holt " ,
149
- ] )
150
- }
131
+ func testServerStreamingWrapper( ) async throws {
132
+ let responseStream = self . echo. expand ( . with { $0. text = " boyle jeffers holt " } )
133
+ let responses = try await responseStream. map { $0. text } . collect ( )
134
+ XCTAssertEqual ( responses, [
135
+ " Swift echo expand (0): boyle " ,
136
+ " Swift echo expand (1): jeffers " ,
137
+ " Swift echo expand (2): holt " ,
138
+ ] )
151
139
}
152
140
153
- func testBidirectionalStreaming( ) {
154
- XCTAsyncTest {
155
- let update = self . echo. makeUpdateCall ( )
141
+ func testBidirectionalStreaming( ) async throws {
142
+ let update = self . echo. makeUpdateCall ( )
156
143
157
- var responseIterator = update. responseStream. map { $0. text } . makeAsyncIterator ( )
144
+ var responseIterator = update. responseStream. map { $0. text } . makeAsyncIterator ( )
158
145
159
- for (i, name) in [ " boyle " , " jeffers " , " holt " ] . enumerated ( ) {
160
- try await update. requestStream. send ( . with { $0. text = name } )
161
- let response = try await responseIterator. next ( )
162
- XCTAssertEqual ( response, " Swift echo update ( \( i) ): \( name) " )
163
- }
146
+ for (i, name) in [ " boyle " , " jeffers " , " holt " ] . enumerated ( ) {
147
+ try await update. requestStream. send ( . with { $0. text = name } )
148
+ let response = try await responseIterator. next ( )
149
+ XCTAssertEqual ( response, " Swift echo update ( \( i) ): \( name) " )
150
+ }
164
151
165
- try await update. requestStream. finish ( )
152
+ try await update. requestStream. finish ( )
166
153
167
- // This isn't right after we make the call as servers are not guaranteed to send metadata back
168
- // immediately. Concretely, we don't send initial metadata back until the first response
169
- // message is sent by the server.
170
- let initialMetadata = try await update. initialMetadata
171
- initialMetadata. assertFirst ( " 200 " , forName: " :status " )
154
+ // This isn't right after we make the call as servers are not guaranteed to send metadata back
155
+ // immediately. Concretely, we don't send initial metadata back until the first response
156
+ // message is sent by the server.
157
+ let initialMetadata = try await update. initialMetadata
158
+ initialMetadata. assertFirst ( " 200 " , forName: " :status " )
172
159
173
- let trailingMetadata = try await update. trailingMetadata
174
- trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
160
+ let trailingMetadata = try await update. trailingMetadata
161
+ trailingMetadata. assertFirst ( " 0 " , forName: " grpc-status " )
175
162
176
- let status = await update. status
177
- XCTAssertTrue ( status. isOk)
178
- }
163
+ let status = await update. status
164
+ XCTAssertTrue ( status. isOk)
179
165
}
180
166
181
- func testBidirectionalStreamingWrapper( ) {
182
- XCTAsyncTest {
183
- let requests : [ Echo_EchoRequest ] = [
184
- . with { $0. text = " boyle " } ,
185
- . with { $0. text = " jeffers " } ,
186
- . with { $0. text = " holt " } ,
187
- ]
188
-
189
- let responseStream = self . echo. update ( requests)
190
- let responses = try await responseStream. map { $0. text } . collect ( )
191
- XCTAssertEqual ( responses, [
192
- " Swift echo update (0): boyle " ,
193
- " Swift echo update (1): jeffers " ,
194
- " Swift echo update (2): holt " ,
195
- ] )
196
- }
167
+ func testBidirectionalStreamingWrapper( ) async throws {
168
+ let requests : [ Echo_EchoRequest ] = [
169
+ . with { $0. text = " boyle " } ,
170
+ . with { $0. text = " jeffers " } ,
171
+ . with { $0. text = " holt " } ,
172
+ ]
173
+
174
+ let responseStream = self . echo. update ( requests)
175
+ let responses = try await responseStream. map { $0. text } . collect ( )
176
+ XCTAssertEqual ( responses, [
177
+ " Swift echo update (0): boyle " ,
178
+ " Swift echo update (1): jeffers " ,
179
+ " Swift echo update (2): holt " ,
180
+ ] )
197
181
}
198
182
199
- func testServerCloseAfterMessage( ) {
200
- XCTAsyncTest {
201
- let update = self . echo. makeUpdateCall ( )
202
- try await update. requestStream. send ( . with { $0. text = " hello " } )
203
- _ = try await update. responseStream. first ( where: { _ in true } )
204
- XCTAssertNoThrow ( try self . server. close ( ) . wait ( ) )
205
- self . server = nil // So that tearDown() does not call close() again.
206
- try await update. requestStream. finish ( )
207
- }
183
+ func testServerCloseAfterMessage( ) async throws {
184
+ let update = self . echo. makeUpdateCall ( )
185
+ try await update. requestStream. send ( . with { $0. text = " hello " } )
186
+ _ = try await update. responseStream. first ( where: { _ in true } )
187
+ XCTAssertNoThrow ( try self . server. close ( ) . wait ( ) )
188
+ self . server = nil // So that tearDown() does not call close() again.
189
+ try await update. requestStream. finish ( )
208
190
}
209
191
}
210
192
0 commit comments