test: add comprehensive IRC integration test with two clients #100

Merged
sneak merged 1 commits from feature/97-integration-test-client into main 2026-04-01 12:47:50 +02:00

1 Commits

Author SHA1 Message Date
user
d81ea2b61a add comprehensive IRC integration test with two clients
All checks were successful
check / check (push) Successful in 57s
Adds integration_test.go with four test functions that exercise
all major IRC features using real TCP connections:

TestIntegrationTwoClients: sequential two-client test covering
NICK/USER registration, JOIN, PRIVMSG (channel + DM), NOTICE
(channel + DM), TOPIC (set/get/lock/unlock), MODE (query, +m,
+v, -t/+t), NAMES, LIST, WHO, WHOIS (with channels), LUSERS,
NICK change (with relay), duplicate NICK, KICK (with relay +
reason), KICK non-op error, PING/PONG, unknown command, MOTD,
AWAY (set/clear/RPL_AWAY on DM), PASS post-registration, PART
(with reason + relay), PART non-existent channel, user MODE
query, multi-channel messaging, and QUIT (with relay).

TestIntegrationModeSecret: verifies +s mode can be set and
is reflected in MODE queries.

TestIntegrationModeModerated: verifies +m blocks non-voiced
users and +v enables sending in moderated channels.

TestIntegrationThirdClientObserver: verifies three-client
channel message fanout.

closes #97
2026-03-31 20:08:40 -07:00