| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- * Copyright 2018, gRPC Authors All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- import Dispatch
- import Foundation
- @testable import SwiftGRPC
- import XCTest
- extension Echo_EchoRequest {
- init(text: String) {
- self.text = text
- }
- }
- extension Echo_EchoResponse {
- init(text: String) {
- self.text = text
- }
- }
- class BasicEchoTestCase: XCTestCase {
- enum Security {
- case none
- case ssl
- case tlsMutualAuth
- }
- func makeProvider() -> Echo_EchoProvider { return EchoProvider() }
- var provider: Echo_EchoProvider!
- var server: Echo_EchoServer!
- var client: Echo_EchoServiceClient!
-
- var defaultTimeout: TimeInterval { return 1.0 }
- var security: Security { return .none }
- var address: String { return "localhost:5050" }
- override func setUp() {
- super.setUp()
-
- provider = makeProvider()
- let certificateString = String(data: certificateForTests, encoding: .utf8)!
- let keyString = String(data: keyForTests, encoding: .utf8)!
- let rootCerts = String(data: trustCollectionCertificateForTests, encoding: .utf8)!
- let clientCertificateString = String(data: clientCertificateForTests, encoding: .utf8)!
- let clientKeyString = String(data: clientKeyForTests, encoding: .utf8)!
- switch security {
- case .ssl:
- server = Echo_EchoServer(address: address,
- certificateString: certificateString,
- keyString: keyString,
- provider: provider)
- server.start()
- client = Echo_EchoServiceClient(address: address, certificates: rootCerts, arguments: [.sslTargetNameOverride("example.com")])
- client.host = "example.com"
- case .tlsMutualAuth:
- server = Echo_EchoServer(address: address, certificateString: certificateString, keyString: keyString, rootCerts: rootCerts, provider: provider)
- server.start()
- client = Echo_EchoServiceClient(address: address, certificates: rootCerts, clientCertificates: clientCertificateString, clientKey: clientKeyString, arguments: [.sslTargetNameOverride("example.com")])
- client.host = "example.com"
- case .none:
- server = Echo_EchoServer(address: address, provider: provider)
- server.start()
- client = Echo_EchoServiceClient(address: address, secure: false)
- }
- client.timeout = defaultTimeout
- }
-
- override func tearDown() {
- client = nil
-
- server.server.stop()
- server = nil
-
- super.tearDown()
- }
- }
|