blob: 37dc3415a2504a46c8a7a93864bac3c1633fa074 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
//
// IPAddressRangeTests.swift
// MullvadVPNTests
//
// Created by pronebird on 08/09/2020.
// Copyright © 2020 Mullvad VPN AB. All rights reserved.
//
import XCTest
class IPAddressRangeTests: XCTestCase {
func testParsingValidIPv4AddressRange() throws {
let addr = try IPAddressRange(string: "127.0.0.1/32")
XCTAssertEqual("\(addr)", "127.0.0.1/32")
}
func testParsingValidIPv6AddressRange() throws {
let addr = try IPAddressRange(string: "::1/128")
XCTAssertEqual("\(addr)", "::1/128")
}
func testParsingIPv4AddressWithoutNetworkPrefix() throws {
let addr = try IPAddressRange(string: "127.0.0.1")
XCTAssertEqual("\(addr)", "127.0.0.1/32")
}
func testParsingIPv6AddressWithoutNetworkPrefix() throws {
let addr = try IPAddressRange(string: "::1")
XCTAssertEqual("\(addr)", "::1/128")
}
func testParsingInvalidIPv4AddressNetworkPrefix() throws {
let addr = try IPAddressRange(string: "127.0.0.1/33")
XCTAssertEqual("\(addr)", "127.0.0.1/32")
}
func testParsingInvalidIPv6AddressNetworkPrefix() throws {
let addr = try IPAddressRange(string: "::1/129")
XCTAssertEqual("\(addr)", "::1/128")
}
func testParsingInvalidIPAddress() throws {
XCTAssertThrowsError(try IPAddressRange(string: "1.2.3.4.5/32")) { (error) in
XCTAssertEqual(error as? IPAddressRangeParseError, IPAddressRangeParseError.parseAddress("1.2.3.4.5"))
}
}
func testParsingEmptyNetworkPrefix() throws {
XCTAssertThrowsError(try IPAddressRange(string: "::1/")) { (error) in
XCTAssertEqual(error as? IPAddressRangeParseError, IPAddressRangeParseError.parsePrefix(""))
}
}
}
|