Add test to set and read headers. Flaky!!

pull/2051/head
Jorge Canizales 10 years ago
parent d666fd068b
commit d7981253de
  1. 31
      src/objective-c/tests/GRPCClientTests.m

@ -144,4 +144,35 @@ static GRPCMethodName *kUnaryCallMethod;
[self waitForExpectationsWithTimeout:2. handler:nil];
}
- (void)testMetadata {
__weak XCTestExpectation *expectation = [self expectationWithDescription:@"RPC unauthorized."];
RMTSimpleRequest *request = [RMTSimpleRequest message];
request.fillUsername = YES;
request.fillOauthScope = YES;
id<GRXWriter> requestsWriter = [GRXWriter writerWithValue:[request data]];
GRPCCall *call = [[GRPCCall alloc] initWithHost:kHostAddress
method:kUnaryCallMethod
requestsWriter:requestsWriter];
call.requestMetadata = [NSMutableDictionary dictionaryWithDictionary:
@{@"Authorization": @"Bearer bogusToken"}];
id<GRXWriteable> responsesWriteable = [[GRXWriteable alloc] initWithValueHandler:^(NSData *value) {
XCTFail(@"Received unexpected response: %@", value);
} completionHandler:^(NSError *errorOrNil) {
XCTAssertNotNil(errorOrNil, @"Finished without error!");
XCTAssertEqual(errorOrNil.code, 16, @"Finished with unexpected error: %@", errorOrNil);
NSString *challengeHeader = call.responseMetadata[@"www-authenticate"][0];
XCTAssertGreaterThan(challengeHeader.length, 0,
@"No challenge in response headers %@", call.responseMetadata);
[expectation fulfill];
}];
[call startWithWriteable:responsesWriteable];
[self waitForExpectationsWithTimeout:2. handler:nil];
}
@end

Loading…
Cancel
Save