Fix false positive in server streaming test

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

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

Loading…
Cancel
Save