Add stricter checks for netnames.
[tinc] / test / invite-join.test
1 #!/bin/sh
2
3 . ./testlib.sh
4
5 # Initialize one node
6
7 $tinc $c1 <<EOF
8 init foo
9 set DeviceType dummy
10 set Mode switch
11 set Broadcast no
12 del Port
13 set Address localhost
14 set Port 32751
15 start $r1
16 EOF
17
18 # Generate an invitation and let another node join the VPN
19
20 sleep 1
21
22 $tinc $c1 invite bar | $tinc $c2 join
23
24 # Test equivalence of host config files
25
26 cmp $d1/hosts/foo $d2/hosts/foo
27 test "`grep ^Ed25519PublicKey $d1/hosts/bar`" = "`grep ^Ed25519PublicKey $d2/hosts/bar`"
28
29 # Test Mode, Broadcast and ConnectTo statements
30
31 test `$tinc $c2 get Mode` = switch
32 test `$tinc $c2 get Broadcast` = no
33 test `$tinc $c2 get ConnectTo` = foo
34
35 # Check whether the new node can join the VPN
36
37 $tinc $c2 << EOF
38 set DeviceType dummy
39 set Port 0
40 start $r2
41 EOF
42
43 sleep 1
44
45 test `$tinc $c1 dump reachable nodes | wc -l` = 2
46 test `$tinc $c2 dump reachable nodes | wc -l` = 2
47
48 $tinc $c2 stop
49 $tinc $c1 stop