BasicEchoTestCase.swift 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * Copyright 2018, gRPC Authors All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. import Dispatch
  17. import Foundation
  18. @testable import SwiftGRPC
  19. import XCTest
  20. extension Echo_EchoRequest {
  21. init(text: String) {
  22. self.text = text
  23. }
  24. }
  25. extension Echo_EchoResponse {
  26. init(text: String) {
  27. self.text = text
  28. }
  29. }
  30. class BasicEchoTestCase: XCTestCase {
  31. func makeProvider() -> Echo_EchoProvider { return EchoProvider() }
  32. var provider: Echo_EchoProvider!
  33. var server: Echo_EchoServer!
  34. var client: Echo_EchoServiceClient!
  35. var defaultTimeout: TimeInterval { return 1.0 }
  36. var secure: Bool { return false }
  37. var address: String { return "localhost:5050" }
  38. override func setUp() {
  39. super.setUp()
  40. provider = makeProvider()
  41. if secure {
  42. let certificateString = String(data: certificateForTests, encoding: .utf8)!
  43. server = Echo_EchoServer(address: address,
  44. certificateString: certificateString,
  45. keyString: String(data: keyForTests, encoding: .utf8)!,
  46. provider: provider)
  47. server.start()
  48. client = Echo_EchoServiceClient(address: address, certificates: certificateString, arguments: [.sslTargetNameOverride("example.com")])
  49. client.host = "example.com"
  50. } else {
  51. server = Echo_EchoServer(address: address, provider: provider)
  52. server.start()
  53. client = Echo_EchoServiceClient(address: address, secure: false)
  54. }
  55. client.timeout = defaultTimeout
  56. }
  57. override func tearDown() {
  58. client = nil
  59. server.server.stop()
  60. server = nil
  61. super.tearDown()
  62. }
  63. }