Test suite: Add new test for server-server logins
[ngircd-alex.git] / src / testsuite / server-login-test.e
1 # ngIRCd test suite
2 # server-server login test
3
4 spawn telnet 127.0.0.1 6789
5 expect {
6         timeout { exit 1 }
7         "Connected"
8 }
9
10 # Register server
11 send "PASS pwd1 0210-IRC+ ngIRCd|testsuite0:CHLMSX P\r"
12 send "SERVER ngircd.test.server3 :Testsuite Server Emulation\r"
13 expect {
14         timeout { exit 1 }
15         ":ngircd.test.server PASS pwd3 0210-IRC+ ngIRCd|"
16 }
17 expect {
18         timeout { exit 1 }
19         ":ngircd.test.server SERVER ngircd.test.server 1 :"
20 }
21 expect {
22         timeout { exit 1 }
23         ":ngircd.test.server 005 "
24 }
25 expect {
26         timeout { exit 1 }
27         ":ngircd.test.server 376 "
28 }
29
30 # End of handshake
31 send ":ngircd.test.server3 376 ngircd.test.server :End of MOTD command\r"
32
33 # Receive existing channels
34 expect {
35         timeout { exit 1 }
36         ":ngircd.test.server CHANINFO +ModelessChannel +P :A modeless Channel"
37 }
38 expect {
39         timeout { exit 1 }
40         ":ngircd.test.server CHANINFO #SecretChannel +Ps :A secret Channel"
41 }
42 expect {
43         timeout { exit 1 }
44         ":ngircd.test.server CHANINFO #TopicChannel +Pt :the topic"
45 }
46 expect {
47         timeout { exit 1 }
48         ":ngircd.test.server CHANINFO #FullKeyed +Plk Secret 0 :"
49 }
50 expect {
51         timeout { exit 1 }
52         ":ngircd.test.server CHANINFO #InviteChannel +Pi"
53 }
54 expect {
55         timeout { exit 1 }
56         ":ngircd.test.server PING :ngircd.test.server"
57 }
58
59 # Emulate network burst
60 send ":ngircd.test.server3 NICK NickName 1 ~User localhost 1 + :Real Name\r"
61 send ":ngircd.test.server3 NJOIN #Channel :@NickName\r"
62
63 # End of burst
64 send ":ngircd.test.server3 PONG :ngircd.test.server\r"
65
66 # Test server-server link ...
67 send ":ngircd.test.server3 VERSION\r"
68 expect {
69         timeout { exit 1 }
70         ":ngircd.test.server 351 ngircd.test.server3 "
71 }
72
73 # Make sure our test client is still known in the network
74 send ":ngircd.test.server3 WHOIS NickName\r"
75 expect {
76         timeout { exit 1 }
77         ":ngircd.test.server 311 ngircd.test.server3 NickName ~User localhost * :Real Name"
78 }
79 expect {
80         timeout { exit 1 }
81         ":ngircd.test.server 319 ngircd.test.server3 NickName :@#Channel"
82 }
83
84 expect {
85         timeout { exit 1 }
86         ":ngircd.test.server 318 ngircd.test.server3 NickName :"
87 }
88
89 # Logout
90 send ":ngircd.test.server3 QUIT\r"
91 expect {
92         timeout { exit 1 }
93         "ERROR :Closing connection"
94 }