summaryrefslogtreecommitdiff
path: root/ngircd/src/testsuite/server-login-test.e
blob: bdf95e0935b28ed90a1322d9f75d1f0dd0d4148b (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# ngIRCd test suite
# server-server login test

spawn telnet 127.0.0.1 6789
expect {
	timeout { exit 1 }
	"Connected"
}

# Register server
send "PASS pwd1 0210-IRC+ ngIRCd|testsuite0:CHLMSX P\r"
send "SERVER ngircd.test.server3 :Testsuite Server Emulation\r"
expect {
	timeout { exit 1 }
	":ngircd.test.server PASS pwd3 0210-IRC+ ngIRCd|"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server SERVER ngircd.test.server 1 :"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server 005 "
}
expect {
	timeout { exit 1 }
	":ngircd.test.server 376 "
}

# End of handshake
send ":ngircd.test.server3 376 ngircd.test.server :End of MOTD command\r"

# Receive existing channels
expect {
	timeout { exit 1 }
	":ngircd.test.server CHANINFO +ModelessChannel +P :A modeless Channel"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server CHANINFO #SecretChannel +Ps :A secret Channel"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server CHANINFO #TopicChannel +Pt :the topic"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server CHANINFO #FullKeyed +Pkl Secret 0 :"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server CHANINFO #InviteChannel +Pi"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server PING :ngircd.test.server"
}

# Emulate network burst
send ":ngircd.test.server3 NICK NickName 1 ~User localhost 1 + :Real Name\r"
send ":ngircd.test.server3 NJOIN #Channel :@NickName\r"

# End of burst
send ":ngircd.test.server3 PONG :ngircd.test.server\r"

# Test server-server link ...
send ":ngircd.test.server3 VERSION\r"
expect {
	timeout { exit 1 }
	":ngircd.test.server 351 ngircd.test.server3 "
}

# Make sure our test client is still known in the network
send ":ngircd.test.server3 WHOIS NickName\r"
expect {
	timeout { exit 1 }
	":ngircd.test.server 311 ngircd.test.server3 NickName ~User localhost * :Real Name"
}
expect {
	timeout { exit 1 }
	":ngircd.test.server 319 ngircd.test.server3 NickName :@#Channel"
}

expect {
	timeout { exit 1 }
	":ngircd.test.server 318 ngircd.test.server3 NickName :"
}

# Logout
send ":ngircd.test.server3 QUIT\r"
expect {
	timeout { exit 1 }
	"ERROR :Closing connection"
}