Home | History | Annotate | Download | only in GRPCClient
      1 /*
      2  *
      3  * Copyright 2015-2016 gRPC authors.
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  *
     17  */
     18 
     19 #import "GRPCCall+Tests.h"
     20 
     21 #import "private/GRPCHost.h"
     22 
     23 @implementation GRPCCall (Tests)
     24 
     25 + (void)useTestCertsPath:(NSString *)certsPath
     26                 testName:(NSString *)testName
     27                  forHost:(NSString *)host {
     28   if (!host || !certsPath || !testName) {
     29     [NSException raise:NSInvalidArgumentException format:@"host, path and name must be provided."];
     30   }
     31   NSError *error = nil;
     32   NSString *certs =
     33       [NSString stringWithContentsOfFile:certsPath encoding:NSUTF8StringEncoding error:&error];
     34   if (error != nil) {
     35     [NSException raise:[error localizedDescription] format:@"failed to load certs"];
     36   }
     37 
     38   GRPCHost *hostConfig = [GRPCHost hostWithAddress:host];
     39   [hostConfig setTLSPEMRootCerts:certs withPrivateKey:nil withCertChain:nil error:nil];
     40   hostConfig.hostNameOverride = testName;
     41 }
     42 
     43 + (void)useInsecureConnectionsForHost:(NSString *)host {
     44   GRPCHost *hostConfig = [GRPCHost hostWithAddress:host];
     45   hostConfig.secure = NO;
     46 }
     47 
     48 + (void)resetHostSettings {
     49   [GRPCHost resetAllHostSettings];
     50 }
     51 @end
     52