Fix false positive in server streaming test

pull/1643/head
Jorge Canizales 10 years ago
parent 05456f81c5
commit e454f4afe3
  1. 18
      src/objective-c/examples/Sample/SampleTests/RemoteProtoTests.m

@ -129,6 +129,7 @@
- (void)testServerStreamingRPC { - (void)testServerStreamingRPC {
__weak XCTestExpectation *expectation = [self expectationWithDescription:@"ServerStreaming"]; __weak XCTestExpectation *expectation = [self expectationWithDescription:@"ServerStreaming"];
NSArray *expectedSizes = @[@31415, @9, @2653, @58979]; NSArray *expectedSizes = @[@31415, @9, @2653, @58979];
RMTStreamingOutputCallRequest *request = [RMTStreamingOutputCallRequest message]; RMTStreamingOutputCallRequest *request = [RMTStreamingOutputCallRequest message];
@ -144,15 +145,22 @@
RMTStreamingOutputCallResponse *response, RMTStreamingOutputCallResponse *response,
NSError *error){ NSError *error){
XCTAssertNil(error, @"Finished with unexpected error: %@", error); XCTAssertNil(error, @"Finished with unexpected error: %@", error);
XCTAssertTrue(done || response, @"Event handler called without an event.");
RMTStreamingOutputCallResponse *expectedResponse = [RMTStreamingOutputCallResponse message]; if (response) {
expectedResponse.payload.type = RMTPayloadType_Compressable; XCTAssertLessThan(index, 4, @"More than 4 responses received.");
RMTStreamingOutputCallResponse * expected = [RMTStreamingOutputCallResponse message];
expected.payload.type = RMTPayloadType_Compressable;
int expectedSize = [expectedSizes[index] unsignedIntegerValue]; int expectedSize = [expectedSizes[index] unsignedIntegerValue];
expectedResponse.payload.body = [NSMutableData dataWithLength:expectedSize]; expected.payload.body = [NSMutableData dataWithLength:expectedSize];
XCTAssertEqualObjects(response, expectedResponse); XCTAssertEqualObjects(response, expected);
index += 1;
}
if (done) {
XCTAssertEqual(index, 4, @"Received %i responses instead of 4.", index);
[expectation fulfill]; [expectation fulfill];
index += 1; }
}]; }];
[self waitForExpectationsWithTimeout:4 handler:nil]; [self waitForExpectationsWithTimeout:4 handler:nil];

Loading…
Cancel
Save