mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2024-10-07 01:32:08 +08:00
101 lines
3.0 KiB
Swift
101 lines
3.0 KiB
Swift
//
|
|
// OpenVPNConfigurationTests.swift
|
|
// OpenVPN Adapter
|
|
//
|
|
// Created by Sergey Abramchuk on 21.04.17.
|
|
//
|
|
//
|
|
|
|
import XCTest
|
|
@testable import OpenVPNAdapter
|
|
|
|
class OpenVPNConfigurationTests: XCTestCase {
|
|
|
|
override func setUp() {
|
|
super.setUp()
|
|
// Put setup code here. This method is called before the invocation of each test method in the class.
|
|
}
|
|
|
|
override func tearDown() {
|
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
|
super.tearDown()
|
|
}
|
|
|
|
func testGetSetProfile() {
|
|
let originalProfile = ProfileLoader.getVPNProfile(type: .localKeyAuthentication)
|
|
|
|
let configuration = OpenVPNConfiguration()
|
|
|
|
guard configuration.fileContent == nil else {
|
|
XCTFail("Empty file content should return nil")
|
|
return
|
|
}
|
|
|
|
configuration.fileContent = originalProfile
|
|
|
|
guard let returnedProfile = configuration.fileContent else {
|
|
XCTFail("Returned file content should not be nil")
|
|
return
|
|
}
|
|
|
|
XCTAssert(originalProfile.elementsEqual(returnedProfile))
|
|
|
|
configuration.fileContent = nil
|
|
XCTAssert(configuration.fileContent == nil, "Empty file content should return nil")
|
|
|
|
configuration.fileContent = Data()
|
|
XCTAssert(configuration.fileContent == nil, "Empty file content should return nil")
|
|
}
|
|
|
|
func testGetSetSettings() {
|
|
let originalSettings = [
|
|
"client": "",
|
|
"dev": "tun",
|
|
"remote-cert-tls" : "server"
|
|
]
|
|
|
|
let configuration = OpenVPNConfiguration()
|
|
|
|
guard configuration.settings == nil else {
|
|
XCTFail("Empty settings should return nil")
|
|
return
|
|
}
|
|
|
|
configuration.settings = originalSettings
|
|
|
|
guard let returnedSettings = configuration.settings else {
|
|
XCTFail("Returned settings should not be nil")
|
|
return
|
|
}
|
|
|
|
let equals = originalSettings.elementsEqual(returnedSettings) { (first, second) -> Bool in
|
|
first.key == second.key && first.value == second.value
|
|
}
|
|
XCTAssert(equals)
|
|
|
|
configuration.settings = [:]
|
|
XCTAssert(configuration.settings == nil, "Empty settings should return nil")
|
|
|
|
configuration.settings = nil
|
|
XCTAssert(configuration.settings == nil, "Empty settings should return nil")
|
|
}
|
|
|
|
func testGetSetIPv6() {
|
|
let originalOption: IPv6Preference = .enabled
|
|
|
|
let configuration = OpenVPNConfiguration()
|
|
|
|
guard configuration.ipv6 == .default else {
|
|
XCTFail("IPv6 option should return default value")
|
|
return
|
|
}
|
|
|
|
configuration.ipv6 = originalOption
|
|
guard configuration.ipv6 == originalOption else {
|
|
XCTFail("IPv6 option should be equal to original value (enabled)")
|
|
return
|
|
}
|
|
}
|
|
|
|
}
|