def runTest(self): packets=["FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon null 9999 test 0x100000 english \"penguin 0.1\"\000"),\ flap(2,"toc_init_done\000"),\ flap(2,"toc_send_im test hi\000")] shouldbe=[[1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:test\000"],\ [2,"CONFIG:\000"],\ [2,"IM_IN:test:F:hi\000"]] data="" for i in packets: data=data+i s=StringIOWithoutClosing() d=DummyTOC() fac=toc.TOCFactory() d.factory=fac d.makeConnection(protocol.FileWrapper(s)) d.dataReceived(data) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) value=s.getvalue() flaps=[] f,value=readFlap(value) while f: flaps.append(f) f,value=readFlap(value) if flaps!=shouldbe: for i in range(len(flaps)): if flaps[i]!=shouldbe[i]:raise AssertionError("MultiPacketTest Failed!\nactual:%s\nshould be:%s"%(flaps[i],shouldbe[i])) raise AssertionError("MultiPacketTest Failed with incorrect length!, printing both lists\nactual:%s\nshould be:%s"%(flaps,shouldbe))
class FileTransferTestCase(unittest.TestCase): """ test FileSend against FileReceive """ def setUp(self): self.input = 'a' * 7000 self.output = StringIOWithoutClosing() def tearDown(self): self.input = None self.output = None def test_fileTransfer(self): """ Test L{FileSend} against L{FileReceive} using a loopback transport. """ auth = 1234 sender = msn.FileSend(StringIO.StringIO(self.input)) sender.auth = auth sender.fileSize = 7000 client = msn.FileReceive(auth, "*****@*****.**", self.output) client.fileSize = 7000 def check(ignored): self.assertTrue( client.completed and sender.completed, msg="send failed to complete") self.assertEqual( self.input, self.output.getvalue(), msg="saved file does not match original") d = loopback.loopbackAsync(sender, client) d.addCallback(check) return d
class BasicServerFunctionalityTestCase(unittest.TestCase): def setUp(self): self.f = StringIOWithoutClosing() self.t = protocol.FileWrapper(self.f) self.p = irc.IRC() self.p.makeConnection(self.t) def check(self, s): self.assertEquals(self.f.getvalue(), s) def testPrivmsg(self): self.p.privmsg("this-is-sender", "this-is-recip", "this is message") self.check(":this-is-sender PRIVMSG this-is-recip :this is message\r\n") def testNotice(self): self.p.notice("this-is-sender", "this-is-recip", "this is notice") self.check(":this-is-sender NOTICE this-is-recip :this is notice\r\n") def testAction(self): self.p.action("this-is-sender", "this-is-recip", "this is action") self.check(":this-is-sender ACTION this-is-recip :this is action\r\n") def testJoin(self): self.p.join("this-person", "#this-channel") self.check(":this-person JOIN #this-channel\r\n") def testPart(self): self.p.part("this-person", "#that-channel") self.check(":this-person PART #that-channel\r\n") def testWhois(self): """ Verify that a whois by the client receives the right protocol actions from the server. """ timestamp = int(time.time()-100) hostname = self.p.hostname req = 'requesting-nick' targ = 'target-nick' self.p.whois(req, targ, 'target', 'host.com', 'Target User', 'irc.host.com', 'A fake server', False, 12, timestamp, ['#fakeusers', '#fakemisc']) expected = '\r\n'.join([ ':%(hostname)s 311 %(req)s %(targ)s target host.com * :Target User', ':%(hostname)s 312 %(req)s %(targ)s irc.host.com :A fake server', ':%(hostname)s 317 %(req)s %(targ)s 12 %(timestamp)s :seconds idle, signon time', ':%(hostname)s 319 %(req)s %(targ)s :#fakeusers #fakemisc', ':%(hostname)s 318 %(req)s %(targ)s :End of WHOIS list.', '']) % dict(hostname=hostname, timestamp=timestamp, req=req, targ=targ) self.check(expected)
def runTest(self): sends=["FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test 0x00 english penguin\000"),\ flap(2,"toc_init_done\000"),\ flap(2,"toc_add_deny\000"),\ flap(2,"toc_send_im test 1\000"),\ flap(2,"toc_add_deny test\000"),\ flap(2,"toc_send_im test 2\000"),\ flap(2,"toc_add_permit\000"),\ flap(2,"toc_send_im test 3\000"),\ flap(2,"toc_add_permit test\000"),\ flap(2,"toc_send_im test 4\000")] expect=[[1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:test\000"],\ [2,"CONFIG:\000"],\ [2,"IM_IN:test:F:1\000"],\ [2,"ERROR:901:test\000"],\ [2,"ERROR:901:test\000"],\ [2,"IM_IN:test:F:4\000"]] d = DummyTOC() d.factory = toc.TOCFactory() s = StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in sends: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v = s.getvalue() flaps = [] f, v = readFlap(v) while f: flaps.append(f) f, v = readFlap(v) if flaps != expect: for i in range(len(flaps)): if flaps[i] != expect[i]: raise AssertionError( "PrivacyTest Before Failed!\nactual:%s\nshould be:%s" % (flaps[i], expect[i])) raise AssertionError( "PrivacyTest Before Failed with incorrect length!\nactual:%s\nshould be:%s" % (flaps, expect))
def runTest(self): sends=["FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test 0x00 english penguin\000"),\ flap(2,"toc_init_done\000"),\ flap(2,"toc_add_deny\000"),\ flap(2,"toc_send_im test 1\000"),\ flap(2,"toc_add_deny test\000"),\ flap(2,"toc_send_im test 2\000"),\ flap(2,"toc_add_permit\000"),\ flap(2,"toc_send_im test 3\000"),\ flap(2,"toc_add_permit test\000"),\ flap(2,"toc_send_im test 4\000")] expect=[[1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:test\000"],\ [2,"CONFIG:\000"],\ [2,"IM_IN:test:F:1\000"],\ [2,"ERROR:901:test\000"],\ [2,"ERROR:901:test\000"],\ [2,"IM_IN:test:F:4\000"]] d=DummyTOC() d.factory=toc.TOCFactory() s=StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in sends: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v=s.getvalue() flaps=[] f,v=readFlap(v) while f: flaps.append(f) f,v=readFlap(v) if flaps!=expect: for i in range(len(flaps)): if flaps[i]!=expect[i]: raise AssertionError("PrivacyTest Before Failed!\nactual:%s\nshould be:%s"%(flaps[i],expect[i])) raise AssertionError("PrivacyTest Before Failed with incorrect length!\nactual:%s\nshould be:%s"%(flaps,expect))
def runTest(self): packets=["FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon null 9999 test 0x100000 english \"penguin 0.1\"\000"),\ flap(2,"toc_init_done\000"),\ flap(2,"toc_send_im test hi\000")] shouldbe=[[1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:test\000"],\ [2,"CONFIG:\000"],\ [2,"IM_IN:test:F:hi\000"]] data = "" for i in packets: data = data + i s = StringIOWithoutClosing() d = DummyTOC() fac = toc.TOCFactory() d.factory = fac d.makeConnection(protocol.FileWrapper(s)) d.dataReceived(data) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) value = s.getvalue() flaps = [] f, value = readFlap(value) while f: flaps.append(f) f, value = readFlap(value) if flaps != shouldbe: for i in range(len(flaps)): if flaps[i] != shouldbe[i]: raise AssertionError( "MultiPacketTest Failed!\nactual:%s\nshould be:%s" % (flaps[i], shouldbe[i])) raise AssertionError( "MultiPacketTest Failed with incorrect length!, printing both lists\nactual:%s\nshould be:%s" % (flaps, shouldbe))
def setUp(self): self.file = StringIOWithoutClosing() self.transport = protocol.FileWrapper(self.file) self.factory = server.ServerFactory() self.protocol = self.factory.buildProtocol(None) self.protocol.factory = self.factory self.protocol.transport = self.transport self.protocol.connectionMade() self.protocol.versionSuccess() self.protocol.handshakeSuccess('') self.messages = [] def send_message(*args): self.messages.append(args) self.patch(self.protocol.nc, 'sendMessage', send_message) self.control = self.protocol.controlStream
class CTCPTest(unittest.TestCase): def setUp(self): self.file = StringIOWithoutClosing() self.transport = protocol.FileWrapper(self.file) self.client = IRCClientWithoutLogin() self.client.makeConnection(self.transport) def test_ERRMSG(self): """Testing CTCP query ERRMSG. Not because this is this is an especially important case in the field, but it does go through the entire dispatch/decode/encode process. """ errQuery = (":[email protected] PRIVMSG #theChan :" "%(X)cERRMSG t%(X)c%(EOL)s" % { 'X': irc.X_DELIM, 'EOL': irc.CR + irc.LF }) errReply = ("NOTICE nick :%(X)cERRMSG t :" "No error has occoured.%(X)c%(EOL)s" % { 'X': irc.X_DELIM, 'EOL': irc.CR + irc.LF }) self.client.dataReceived(errQuery) reply = self.file.getvalue() self.failUnlessEqual(errReply, reply) def tearDown(self): self.transport.loseConnection() self.client.connectionLost() del self.client del self.transport
class CTCPTest(unittest.TestCase): def setUp(self): self.file = StringIOWithoutClosing() self.transport = protocol.FileWrapper(self.file) self.client = IRCClientWithoutLogin() self.client.makeConnection(self.transport) def test_ERRMSG(self): """Testing CTCP query ERRMSG. Not because this is this is an especially important case in the field, but it does go through the entire dispatch/decode/encode process. """ errQuery = (":[email protected] PRIVMSG #theChan :" "%(X)cERRMSG t%(X)c%(EOL)s" % {'X': irc.X_DELIM, 'EOL': irc.CR + irc.LF}) errReply = ("NOTICE nick :%(X)cERRMSG t :" "No error has occoured.%(X)c%(EOL)s" % {'X': irc.X_DELIM, 'EOL': irc.CR + irc.LF}) self.client.dataReceived(errQuery) reply = self.file.getvalue() self.failUnlessEqual(errReply, reply) def tearDown(self): self.transport.loseConnection() self.client.connectionLost() del self.client del self.transport
def setUp(self): self.file = StringIOWithoutClosing() self.transport = protocol.FileWrapper(self.file) self.client = IRCClientWithoutLogin() self.client.makeConnection(self.transport)
def setUp(self): self.f = StringIOWithoutClosing() self.t = protocol.FileWrapper(self.f) self.p = irc.IRC() self.p.makeConnection(self.t)
def runTest(self): password1=toc.roast("test pass") password2=toc.roast("pass test") beforesend=[\ "FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test %s english \"penguin 0.1\"\000"%password1),\ flap(2,"toc_init_done\000"),\ flap(2,"toc_set_config \"{m 4}\"\000"),\ flap(2,"toc_format_nickname BOOGA\000"),\ flap(2,"toc_format_nickname \"T E S T\"\000"),\ flap(2,"toc_change_passwd \"testpass\" \"pass test\"\000"),\ flap(2,"toc_change_passwd \"test pass\" \"pass test\"\000")] beforeexpect=[\ [1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:test\000"],\ [2,"CONFIG:\000"],\ [2,"ERROR:911\000"],\ [2,"ADMIN_NICK_STATUS:0\000"],\ [2,"ERROR:911\000"],\ [2,"ADMIN_PASSWD_STATUS:0\000"]] badpasssend=[\ "FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test 0x1000 english \"penguin 0.1\"\000"),\ flap(2,"toc_init_done")] badpassexpect=[\ [1,"\000\00\000\001"],\ [2,"ERROR:980\000"]] goodpasssend=[\ "FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test %s english \"penguin 0.1\"\000"%password2),\ flap(2,"toc_init_done")] goodpassexpect=[\ [1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:T E S T\000"],\ [2,"CONFIG:{m 4}\000"]] fac=toc.TOCFactory() d=DummyTOC() d.factory=fac s=StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in beforesend: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v=s.getvalue() flaps=[] f,v=readFlap(v) while f: flaps.append(f) f,v=readFlap(v) if flaps!=beforeexpect: for i in range(len(flaps)): if flaps[i]!=beforeexpect[i]: raise AssertionError("SavedValuesTest Before Failed!\nactual:%s\nshould be:%s"%(flaps[i],beforeexpect[i])) raise AssertionError("SavedValuesTest Before Failed with incorrect length!\nactual:%s\nshould be:%s"%(flaps,beforeexpect)) d=DummyTOC() d.factory=fac s=StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in badpasssend: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v=s.getvalue() flaps=[] f,v=readFlap(v) while f: flaps.append(f) f,v=readFlap(v) if flaps!=badpassexpect: for i in range(len(flaps)): if flaps[i]!=badpassexpect[i]: raise AssertionError("SavedValuesTest BadPass Failed!\nactual:%s\nshould be:%s"%(flaps[i],badpassexpect[i])) raise AssertionError("SavedValuesTest BadPass Failed with incorrect length!\nactual:%s\nshould be:%s"%(flaps,badpassexpect)) d=DummyTOC() d.factory=fac s=StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in goodpasssend: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v=s.getvalue() flaps=[] f,v=readFlap(v) while f: flaps.append(f) f,v=readFlap(v) if flaps!=goodpassexpect: for i in range(len(flaps)): if flaps[i]!=goodpassexpect[i]: raise AssertionError("SavedValuesTest GoodPass Failed!\nactual:%s\nshould be:%s"%(flaps[i],goodpassexpect[i])) raise AssertionError("SavedValuesTest GoodPass Failed with incorrect length!\nactual:%s\nshould be:%s"%(flaps,beforeexpect))
def runTest(self): password1 = toc.roast("test pass") password2 = toc.roast("pass test") beforesend=[\ "FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test %s english \"penguin 0.1\"\000"%password1),\ flap(2,"toc_init_done\000"),\ flap(2,"toc_set_config \"{m 4}\"\000"),\ flap(2,"toc_format_nickname BOOGA\000"),\ flap(2,"toc_format_nickname \"T E S T\"\000"),\ flap(2,"toc_change_passwd \"testpass\" \"pass test\"\000"),\ flap(2,"toc_change_passwd \"test pass\" \"pass test\"\000")] beforeexpect=[\ [1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:test\000"],\ [2,"CONFIG:\000"],\ [2,"ERROR:911\000"],\ [2,"ADMIN_NICK_STATUS:0\000"],\ [2,"ERROR:911\000"],\ [2,"ADMIN_PASSWD_STATUS:0\000"]] badpasssend=[\ "FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test 0x1000 english \"penguin 0.1\"\000"),\ flap(2,"toc_init_done")] badpassexpect=[\ [1,"\000\00\000\001"],\ [2,"ERROR:980\000"]] goodpasssend=[\ "FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test %s english \"penguin 0.1\"\000"%password2),\ flap(2,"toc_init_done")] goodpassexpect=[\ [1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:T E S T\000"],\ [2,"CONFIG:{m 4}\000"]] fac = toc.TOCFactory() d = DummyTOC() d.factory = fac s = StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in beforesend: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v = s.getvalue() flaps = [] f, v = readFlap(v) while f: flaps.append(f) f, v = readFlap(v) if flaps != beforeexpect: for i in range(len(flaps)): if flaps[i] != beforeexpect[i]: raise AssertionError( "SavedValuesTest Before Failed!\nactual:%s\nshould be:%s" % (flaps[i], beforeexpect[i])) raise AssertionError( "SavedValuesTest Before Failed with incorrect length!\nactual:%s\nshould be:%s" % (flaps, beforeexpect)) d = DummyTOC() d.factory = fac s = StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in badpasssend: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v = s.getvalue() flaps = [] f, v = readFlap(v) while f: flaps.append(f) f, v = readFlap(v) if flaps != badpassexpect: for i in range(len(flaps)): if flaps[i] != badpassexpect[i]: raise AssertionError( "SavedValuesTest BadPass Failed!\nactual:%s\nshould be:%s" % (flaps[i], badpassexpect[i])) raise AssertionError( "SavedValuesTest BadPass Failed with incorrect length!\nactual:%s\nshould be:%s" % (flaps, badpassexpect)) d = DummyTOC() d.factory = fac s = StringIOWithoutClosing() d.makeConnection(protocol.FileWrapper(s)) for i in goodpasssend: d.dataReceived(i) d.connectionLost(failure.Failure(main.CONNECTION_DONE)) v = s.getvalue() flaps = [] f, v = readFlap(v) while f: flaps.append(f) f, v = readFlap(v) if flaps != goodpassexpect: for i in range(len(flaps)): if flaps[i] != goodpassexpect[i]: raise AssertionError( "SavedValuesTest GoodPass Failed!\nactual:%s\nshould be:%s" % (flaps[i], goodpassexpect[i])) raise AssertionError( "SavedValuesTest GoodPass Failed with incorrect length!\nactual:%s\nshould be:%s" % (flaps, beforeexpect))
def setUp(self): self.input = 'a' * 7000 self.output = StringIOWithoutClosing()
def runTest(self): USERS = 2 data = range(USERS) data[0]=("FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004test"),\ flap(2,"toc_signon localhost 9999 test 0x100000 english \"penguin 0.1\"\000"),\ flap(2,"toc_add_buddy test\000"),\ flap(2,"toc_init_done\000"),\ flap(2,"toc_send_im test \"hi\"\000"),\ flap(2,"toc_send_im test2 \"hello\"\000"),\ flap(2,"toc_set_away \"not here\"\000"),\ flap(2,"toc_set_idle 602\000"),\ flap(2,"toc_set_idle 0\000"),\ flap(2,"toc_set_away\000"),\ flap(2,"toc_evil test norm\000"),\ flap(2,"toc_chat_join 4 \"Test Chat\"\000"),\ flap(2,"toc_chat_send 0 \"hello\"\000"),\ #flap(2,"toc_chat_leave 0\000")) #,\ flap(2,"toc_chat_invite 0 \"come\" ooga\000"),\ #flap(2,"toc_chat_accept 0\000"),\ flap(5,"\000"),\ flap(2,"toc_chat_whisper 0 ooga \"boo ga\"\000"),\ flap(2,"toc_chat_leave 0"),\ flap(5,"\000")) data[1]=("FLAPON\r\n\r\n",\ flap(1,"\000\000\000\001\000\001\000\004ooga"),\ flap(2,"toc_signon localhost 9999 ooga 0x100000 english \"penguin 0.1\"\000"),\ flap(2,"toc_add_buddy test\000"),\ flap(2,"toc_init_done\000"),\ flap(5,"\000"),\ flap(5,"\000"),\ #flap(5,"\000"),\ #flap(5,"\000"),\ #flap(5,"\000"),\ flap(5,"\000"),\ flap(5,"\000"),\ flap(5,"\000"),\ flap(5,"\000"),\ flap(5,"\000"),\ flap(5,"\000"),\ flap(5,"\000"),\ #flap(5,"\000"),\ flap(2,"toc_chat_accept 0\000"),\ flap(2,"toc_chat_send 0 \"hi test\"\000"),\ flap(5,"\000"),\ flap(2,"toc_chat_leave 0\000")) strings = range(USERS) for i in strings: strings[i] = StringIOWithoutClosing() fac = toc.TOCFactory() dummy = range(USERS) for i in dummy: dummy[i] = DummyTOC() dummy[i].factory = fac dummy[i].makeConnection(protocol.FileWrapper(strings[i])) while sum(map(lambda x: x == (), data)) != USERS: for i in range(USERS): d = data[i] if len(d) > 0: k, data[i] = d[0], d[1:] for j in k: dummy[i].dataReceived( j) # test by doing a character at a time else: dummy[i].connectionLost( failure.Failure(main.CONNECTION_DONE)) values = range(USERS) for i in values: values[i] = strings[i].getvalue() flaps = map(lambda x: [], range(USERS)) for value in values: i = values.index(value) f, value = readFlap(value) while f: flaps[i].append(f) f, value = readFlap(value) ts = range(USERS) for t in ts: ts[t] = dummy[t].signontime shouldequal = range(USERS) shouldequal[0]=[ \ [1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:test\000"],\ [2,"CONFIG:\00"],\ [2,"UPDATE_BUDDY:test:T:0:%s:0: O\000"%ts[0]],\ [2,"IM_IN:test:F:hi\000"],\ [2,"ERROR:901:test2\000"],\ #[2,"UPDATE_BUDDY:test:T:0:%s:0: O\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:0: OU\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:10: OU\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:0: OU\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:0: O\000"%ts[0]],\ [2,"EVILED:10:test\000"],\ [2,"UPDATE_BUDDY:test:T:10:%s:0: O\000"%ts[0]],\ [2,"CHAT_JOIN:0:Test Chat\000"],\ [2,"CHAT_UPDATE_BUDDY:0:T:test\000"],\ [2,"CHAT_IN:0:test:F:hello\000"],\ [2,"CHAT_UPDATE_BUDDY:0:T:ooga\000"],\ [2,"CHAT_IN:0:ooga:F:hi test\000"],\ [2,"CHAT_LEFT:0\000"]] shouldequal[1]=[ \ [1,"\000\000\000\001"],\ [2,"SIGN_ON:TOC1.0\000"],\ [2,"NICK:ooga\000"],\ [2,"CONFIG:\000"],\ #[2,"UPDATE_BUDDY:test:T:0:%s:0: O\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:0: OU\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:10: OU\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:0: OU\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:0:%s:0: O\000"%ts[0]],\ [2,"UPDATE_BUDDY:test:T:10:%s:0: O\000"%ts[0]],\ [2,"CHAT_INVITE:Test Chat:0:test:come\000"],\ [2,"CHAT_JOIN:0:Test Chat\000"],\ [2,"CHAT_UPDATE_BUDDY:0:T:test:ooga\000"],\ [2,"CHAT_IN:0:ooga:F:hi test\000"],\ [2,"CHAT_IN:0:test:T:boo ga\000"],\ [2,"CHAT_UPDATE_BUDDY:0:F:test\000"],\ [2,"CHAT_LEFT:0\000"]] if flaps != shouldequal: for i in range(len(shouldequal)): for j in range(len(shouldequal[i])): if shouldequal[i][j] != flaps[i][j]: raise AssertionError( "GeneralTest Failed!\nUser %s Line %s\nactual:%s\nshould be:%s" % (i, j, flaps[i][j], shouldequal[i][j])) raise AssertionError("GeneralTest Failed with incorrect lengths!")