tsanity_test.go - tordam - A library for peer discovery inside the Tor network
HTML git clone https://git.parazyd.org/tordam
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tsanity_test.go (1943B)
---
1 // Copyright (c) 2017-2021 Ivan Jelincic <parazyd@dyne.org>
2 //
3 // This file is part of tordam
4 //
5 // This program is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Affero General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Affero General Public License for more details.
14 //
15 // You should have received a copy of the GNU Affero General Public License
16 // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
18 package tordam
19
20 import "testing"
21
22 func TestValidateOnionAddress(t *testing.T) {
23 const val0 = "p7qaewjgnvnaeihhyybmoofd5avh665kr3awoxlh5rt6ox743kjdr6qd.onion"
24 const inv0 = "p7qaewjg1vnaeihhyybmoofd5avh665kr3awoxlh5rt6ox743kjdr6qd.onion"
25 const inv1 = "p7qaewjgvybmoofd5avh665kr3awoxlh5rt6ox743kjdr6qd.onion"
26 const inv2 = "p7qaewjgvybmoofd5avh665kr3awoxl1jdr6qd.onion"
27
28 if err := ValidateOnionAddress(val0); err != nil {
29 t.Fatalf("valid onion address reported invalid: %s", val0)
30 }
31
32 for _, i := range []string{inv0, inv1, inv2} {
33 if err := ValidateOnionAddress(i); err == nil {
34 t.Fatalf("invalid onion address reported valid: %s", i)
35 }
36 }
37 }
38
39 func TestValidatePortmap(t *testing.T) {
40 val0 := []string{"1234:3215"}
41 val1 := []string{}
42 val2 := []string{"31983:35155", "31587:11"}
43 inv0 := []string{"1515:315foo"}
44 inv1 := []string{"101667:8130", "1305:3191"}
45
46 for _, i := range [][]string{val0, val1, val2} {
47 if err := ValidatePortmap(i); err != nil {
48 t.Fatalf("valid portmap reported invalid: %v", i)
49 }
50 }
51
52 for _, i := range [][]string{inv0, inv1} {
53 if err := ValidatePortmap(i); err == nil {
54 t.Fatalf("invalid portmap reported valid: %v", i)
55 }
56 }
57 }