InteropTestsLocalSSL.m 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. *
  3. * Copyright 2015 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. #import <GRPCClient/GRPCCall+Tests.h>
  19. #import <GRPCClient/internal_testing/GRPCCall+InternalTests.h>
  20. #import "InteropTests.h"
  21. // The server address is derived from preprocessor macro, which is
  22. // in turn derived from environment variable of the same name.
  23. #define NSStringize_helper(x) #x
  24. #define NSStringize(x) @NSStringize_helper(x)
  25. static NSString * const kLocalSSLHost = NSStringize(HOST_PORT_LOCALSSL);
  26. // The Protocol Buffers encoding overhead of local interop server. Acquired
  27. // by experiment. Adjust this when server's proto file changes.
  28. static int32_t kLocalInteropServerOverhead = 10;
  29. /** Tests in InteropTests.m, sending the RPCs to a local SSL server. */
  30. @interface InteropTestsLocalSSL : InteropTests
  31. @end
  32. @implementation InteropTestsLocalSSL
  33. + (NSString *)host {
  34. return kLocalSSLHost;
  35. }
  36. - (int32_t)encodingOverhead {
  37. return kLocalInteropServerOverhead; // bytes
  38. }
  39. - (void)setUp {
  40. [super setUp];
  41. // Register test server certificates and name.
  42. NSBundle *bundle = [NSBundle bundleForClass:self.class];
  43. NSString *certsPath = [bundle pathForResource:@"TestCertificates.bundle/test-certificates"
  44. ofType:@"pem"];
  45. [GRPCCall useTestCertsPath:certsPath testName:@"foo.test.google.fr" forHost:kLocalSSLHost];
  46. }
  47. - (void)testExceptions {
  48. // Try to set userAgentPrefix for host that is nil. This should cause
  49. // an exception.
  50. @try {
  51. [GRPCCall useTestCertsPath:nil testName:nil forHost:nil];
  52. XCTFail(@"Did not receive an exception when parameters are nil");
  53. } @catch(NSException *theException) {
  54. NSLog(@"Received exception as expected: %@", theException.name);
  55. }
  56. }
  57. @end