1/* 2 * 3 * Copyright 2019 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 <XCTest/XCTest.h> 20 21#import <GRPCClient/GRPCCall+Cronet.h> 22#import <GRPCClient/GRPCTransport.h> 23#import "src/objective-c/GRPCClient/private/GRPCTransport+Private.h" 24 25@interface TransportRegistryTests : XCTestCase 26 27@end 28 29@implementation TransportRegistryTests 30 31- (void)testDefaultImplementationsExist { 32 id<GRPCTransportFactory> secureTransportFactory = [[GRPCTransportRegistry sharedInstance] 33 getTransportFactoryWithID:GRPCDefaultTransportImplList.core_secure]; 34 id<GRPCTransportFactory> insecureTransportFactory = [[GRPCTransportRegistry sharedInstance] 35 getTransportFactoryWithID:GRPCDefaultTransportImplList.core_insecure]; 36 XCTAssertNotNil(secureTransportFactory); 37 XCTAssertNotNil(insecureTransportFactory); 38 XCTAssertNotEqual(secureTransportFactory, insecureTransportFactory); 39} 40 41- (void)testCronetImplementationNotExistAndFallBack { 42 id<GRPCTransportFactory> secureTransportFactory = [[GRPCTransportRegistry sharedInstance] 43 getTransportFactoryWithID:GRPCDefaultTransportImplList.core_secure]; 44 id<GRPCTransportFactory> cronetTransportFactory = 45 [[GRPCTransportRegistry sharedInstance] getTransportFactoryWithID:gGRPCCoreCronetID]; 46 XCTAssertNotNil(secureTransportFactory); 47 XCTAssertNotNil(cronetTransportFactory); 48 XCTAssertEqual(secureTransportFactory, cronetTransportFactory); 49} 50 51@end 52