mirror of
https://github.com/progval/irctest.git
synced 2025-04-05 14:59:49 +00:00
lusers: deduplicate assertions
This commit is contained in:
@ -35,6 +35,18 @@ class LusersResult:
|
|||||||
|
|
||||||
|
|
||||||
class LusersTestCase(cases.BaseServerTestCase):
|
class LusersTestCase(cases.BaseServerTestCase):
|
||||||
|
def assertLusersResult(self, lusers, unregistered, total, max_):
|
||||||
|
self.assertIn(lusers.Unregistered, (unregistered, None))
|
||||||
|
self.assertEqual(lusers.GlobalTotal, total)
|
||||||
|
self.assertEqual(lusers.GlobalMax, max_)
|
||||||
|
|
||||||
|
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
||||||
|
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
||||||
|
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, total)
|
||||||
|
|
||||||
|
self.assertEqual(lusers.LocalTotal, total)
|
||||||
|
self.assertEqual(lusers.LocalMax, max_)
|
||||||
|
|
||||||
def getLusers(self, client):
|
def getLusers(self, client):
|
||||||
self.sendLine(client, "LUSERS")
|
self.sendLine(client, "LUSERS")
|
||||||
messages = self.getMessages(client)
|
messages = self.getMessages(client)
|
||||||
@ -91,37 +103,16 @@ class BasicLusersTest(LusersTestCase):
|
|||||||
def testLusers(self):
|
def testLusers(self):
|
||||||
self.connectClient("bar", name="bar")
|
self.connectClient("bar", name="bar")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertIn(lusers.Unregistered, (0, None))
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=1)
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 1)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 1)
|
|
||||||
|
|
||||||
self.connectClient("qux", name="qux")
|
self.connectClient("qux", name="qux")
|
||||||
lusers = self.getLusers("qux")
|
lusers = self.getLusers("qux")
|
||||||
self.assertIn(lusers.Unregistered, (0, None))
|
self.assertLusersResult(lusers, unregistered=0, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 2)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
|
||||||
self.sendLine("qux", "QUIT")
|
self.sendLine("qux", "QUIT")
|
||||||
self.assertDisconnected("qux")
|
self.assertDisconnected("qux")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertIn(lusers.Unregistered, (0, None))
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=2)
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
|
||||||
|
|
||||||
class LusersUnregisteredTestCase(LusersTestCase):
|
class LusersUnregisteredTestCase(LusersTestCase):
|
||||||
@ -145,66 +136,31 @@ class LusersUnregisteredTestCase(LusersTestCase):
|
|||||||
def doLusersTest(self):
|
def doLusersTest(self):
|
||||||
self.connectClient("bar", name="bar")
|
self.connectClient("bar", name="bar")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertIn(lusers.Unregistered, (0, None))
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=1)
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 1)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 1)
|
|
||||||
|
|
||||||
self.addClient("qux")
|
self.addClient("qux")
|
||||||
self.sendLine("qux", "NICK qux")
|
self.sendLine("qux", "NICK qux")
|
||||||
self._synchronize("qux")
|
self._synchronize("qux")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.Unregistered, 1)
|
self.assertLusersResult(lusers, unregistered=1, total=1, max_=1)
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 1)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 1)
|
|
||||||
|
|
||||||
self.addClient("bat")
|
self.addClient("bat")
|
||||||
self.sendLine("bat", "NICK bat")
|
self.sendLine("bat", "NICK bat")
|
||||||
self._synchronize("bat")
|
self._synchronize("bat")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.Unregistered, 2)
|
self.assertLusersResult(lusers, unregistered=2, total=1, max_=1)
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 1)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 1)
|
|
||||||
|
|
||||||
# complete registration on one client
|
# complete registration on one client
|
||||||
self.sendLine("qux", "USER u s e r")
|
self.sendLine("qux", "USER u s e r")
|
||||||
self.getMessages("qux")
|
self.getRegistrationMessage("qux")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.Unregistered, 1)
|
self.assertLusersResult(lusers, unregistered=1, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 2)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
|
||||||
# QUIT the other without registering
|
# QUIT the other without registering
|
||||||
self.sendLine("bat", "QUIT")
|
self.sendLine("bat", "QUIT")
|
||||||
self.assertDisconnected("bat")
|
self.assertDisconnected("bat")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertIn(lusers.Unregistered, (0, None))
|
self.assertLusersResult(lusers, unregistered=0, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 2)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
|
||||||
|
|
||||||
class LusersUnregisteredDefaultInvisibleTest(LusersUnregisteredTestCase):
|
class LusersUnregisteredDefaultInvisibleTest(LusersUnregisteredTestCase):
|
||||||
@ -222,13 +178,9 @@ class LusersUnregisteredDefaultInvisibleTest(LusersUnregisteredTestCase):
|
|||||||
def testLusers(self):
|
def testLusers(self):
|
||||||
self.doLusersTest()
|
self.doLusersTest()
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.Unregistered, 0)
|
self.assertLusersResult(lusers, unregistered=0, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible, 2)
|
self.assertEqual(lusers.GlobalInvisible, 2)
|
||||||
self.assertEqual(lusers.GlobalVisible, 0)
|
self.assertEqual(lusers.GlobalVisible, 0)
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
|
||||||
|
|
||||||
class LuserOpersTest(LusersTestCase):
|
class LuserOpersTest(LusersTestCase):
|
||||||
@ -236,13 +188,7 @@ class LuserOpersTest(LusersTestCase):
|
|||||||
def testLuserOpers(self):
|
def testLuserOpers(self):
|
||||||
self.connectClient("bar", name="bar")
|
self.connectClient("bar", name="bar")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=1)
|
||||||
self.assertEqual(lusers.GlobalMax, 1)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 1)
|
|
||||||
self.assertIn(lusers.Opers, (0, None))
|
self.assertIn(lusers.Opers, (0, None))
|
||||||
|
|
||||||
# add 1 oper
|
# add 1 oper
|
||||||
@ -250,13 +196,7 @@ class LuserOpersTest(LusersTestCase):
|
|||||||
msgs = self.getMessages("bar")
|
msgs = self.getMessages("bar")
|
||||||
self.assertIn(RPL_YOUREOPER, {msg.command for msg in msgs})
|
self.assertIn(RPL_YOUREOPER, {msg.command for msg in msgs})
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=1)
|
||||||
self.assertEqual(lusers.GlobalMax, 1)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 1)
|
|
||||||
self.assertEqual(lusers.Opers, 1)
|
self.assertEqual(lusers.Opers, 1)
|
||||||
|
|
||||||
# now 2 opers
|
# now 2 opers
|
||||||
@ -264,13 +204,7 @@ class LuserOpersTest(LusersTestCase):
|
|||||||
self.sendLine("qux", "OPER root frenchfries")
|
self.sendLine("qux", "OPER root frenchfries")
|
||||||
self.getMessages("qux")
|
self.getMessages("qux")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
self.assertLusersResult(lusers, unregistered=0, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 2)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
self.assertEqual(lusers.Opers, 2)
|
self.assertEqual(lusers.Opers, 2)
|
||||||
|
|
||||||
# remove oper with MODE
|
# remove oper with MODE
|
||||||
@ -278,26 +212,14 @@ class LuserOpersTest(LusersTestCase):
|
|||||||
msgs = self.getMessages("bar")
|
msgs = self.getMessages("bar")
|
||||||
self.assertIn("MODE", {msg.command for msg in msgs})
|
self.assertIn("MODE", {msg.command for msg in msgs})
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
self.assertLusersResult(lusers, unregistered=0, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 2)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
self.assertEqual(lusers.Opers, 1)
|
self.assertEqual(lusers.Opers, 1)
|
||||||
|
|
||||||
# remove oper by quit
|
# remove oper by quit
|
||||||
self.sendLine("qux", "QUIT")
|
self.sendLine("qux", "QUIT")
|
||||||
self.assertDisconnected("qux")
|
self.assertDisconnected("qux")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=2)
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalInvisible, 0)
|
|
||||||
self.assertGreaterEqual(lusers.GlobalVisible, 0)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible + lusers.GlobalVisible, 1)
|
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
self.assertEqual(lusers.Opers, 0)
|
self.assertEqual(lusers.Opers, 0)
|
||||||
|
|
||||||
|
|
||||||
@ -314,41 +236,29 @@ class OragonoInvisibleDefaultTest(LusersTestCase):
|
|||||||
def testLusers(self):
|
def testLusers(self):
|
||||||
self.connectClient("bar", name="bar")
|
self.connectClient("bar", name="bar")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=1)
|
||||||
self.assertEqual(lusers.GlobalMax, 1)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible, 1)
|
self.assertEqual(lusers.GlobalInvisible, 1)
|
||||||
self.assertEqual(lusers.GlobalVisible, 0)
|
self.assertEqual(lusers.GlobalVisible, 0)
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 1)
|
|
||||||
|
|
||||||
self.connectClient("qux", name="qux")
|
self.connectClient("qux", name="qux")
|
||||||
lusers = self.getLusers("qux")
|
lusers = self.getLusers("qux")
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
self.assertLusersResult(lusers, unregistered=0, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible, 2)
|
self.assertEqual(lusers.GlobalInvisible, 2)
|
||||||
self.assertEqual(lusers.GlobalVisible, 0)
|
self.assertEqual(lusers.GlobalVisible, 0)
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
|
||||||
# remove +i with MODE
|
# remove +i with MODE
|
||||||
self.sendLine("bar", "MODE bar -i")
|
self.sendLine("bar", "MODE bar -i")
|
||||||
msgs = self.getMessages("bar")
|
msgs = self.getMessages("bar")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertIn("MODE", {msg.command for msg in msgs})
|
self.assertIn("MODE", {msg.command for msg in msgs})
|
||||||
self.assertEqual(lusers.GlobalTotal, 2)
|
self.assertLusersResult(lusers, unregistered=0, total=2, max_=2)
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible, 1)
|
self.assertEqual(lusers.GlobalInvisible, 1)
|
||||||
self.assertEqual(lusers.GlobalVisible, 1)
|
self.assertEqual(lusers.GlobalVisible, 1)
|
||||||
self.assertEqual(lusers.LocalTotal, 2)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
|
||||||
# disconnect invisible user
|
# disconnect invisible user
|
||||||
self.sendLine("qux", "QUIT")
|
self.sendLine("qux", "QUIT")
|
||||||
self.assertDisconnected("qux")
|
self.assertDisconnected("qux")
|
||||||
lusers = self.getLusers("bar")
|
lusers = self.getLusers("bar")
|
||||||
self.assertEqual(lusers.GlobalTotal, 1)
|
self.assertLusersResult(lusers, unregistered=0, total=1, max_=2)
|
||||||
self.assertEqual(lusers.GlobalMax, 2)
|
|
||||||
self.assertEqual(lusers.GlobalInvisible, 0)
|
self.assertEqual(lusers.GlobalInvisible, 0)
|
||||||
self.assertEqual(lusers.GlobalVisible, 1)
|
self.assertEqual(lusers.GlobalVisible, 1)
|
||||||
self.assertEqual(lusers.LocalTotal, 1)
|
|
||||||
self.assertEqual(lusers.LocalMax, 2)
|
|
||||||
|
Reference in New Issue
Block a user