Ejemplo n.º 1
0
 def testLoopback(self):
     protocol =  MyVirtualPOP3()
     protocol.service = self.factory
     clientProtocol = MyPOP3Downloader()
     loopback.loopback(protocol, clientProtocol)
     self.failUnlessEqual(clientProtocol.message, self.message)
     protocol.connectionLost(failure.Failure(Exception("Test harness disconnect")))
Ejemplo n.º 2
0
 def testMessages(self):
     factory = protocols.protocol.Factory()
     factory.domains = {}
     factory.domains['foo.bar'] = DummyDomain(['moshez'])
     protocol =  protocols.smtp.DomainSMTP()
     protocol.factory = factory
     clientProtocol = MySMTPClient()
     loopback.loopback(protocol, clientProtocol)
Ejemplo n.º 3
0
 def testProtocol(self):
     from twisted.protocols import loopback
     server = flow.Protocol()
     server.controller = echoServer
     client = flow.makeProtocol(echoClient)()
     client.factory = protocol.ClientFactory()
     client.factory.d = defer.Deferred()
     loopback.loopback(server, client)
     self.assertEquals('testing', unittest.deferredResult(client.factory.d))
Ejemplo n.º 4
0
 def testEmptyPASS(self):
     dummy = DummyPOP3()
     client = LineSendingProtocol([
         "PASS ",
         "QUIT"
     ])
     expected_output = '+OK <moshez>\r\n-ERR USER required before PASS\r\n+OK \r\n'
     loopback.loopback(dummy, client)
     self.failUnlessEqual(expected_output, '\r\n'.join(client.response) + '\r\n')
     dummy.connectionLost(failure.Failure(Exception("Test harness disconnect")))
Ejemplo n.º 5
0
 def testFileTransfer(self):
     auth = 1234
     sender = msn.FileSend(self.input)
     sender.auth = auth
     sender.fileSize = 7000
     client = msn.FileReceive(auth, "*****@*****.**", self.output)
     client.fileSize = 7000
     loopback.loopback(sender, client)
     self.failUnless((client.completed and sender.completed), msg="send failed to complete")
     self.failUnless((self.input.getvalue() == self.output.getvalue()), msg="saved file does not match original")
Ejemplo n.º 6
0
 def testYear(self):
     fileList = ftp.FTPFileListProtocol()
     class PrintLine(protocol.Protocol):
         def connectionMade(self):
             self.transport.write('-rw-r--r--   1 root     other        531 Jan 29 2003 README\n')
             self.transport.loseConnection()
     loopback.loopback(PrintLine(), fileList)
     file = fileList.files[0]
     self.failUnless(file['size'] == 531, 'misparsed fileitem')
     self.failUnless(file['date'] == 'Jan 29 2003', 'misparsed fileitem')
     self.failUnless(file['filename'] == 'README', 'misparsed fileitem')
Ejemplo n.º 7
0
 def testFileTransfer(self):
     auth = 1234
     sender = msn.FileSend(self.input)
     sender.auth = auth
     sender.fileSize = 7000
     client = msn.FileReceive(auth, "*****@*****.**", self.output)
     client.fileSize = 7000
     loopback.loopback(sender, client)
     self.failUnless((client.completed and sender.completed),
                     msg="send failed to complete")
     self.failUnless((self.input.getvalue() == self.output.getvalue()),
                     msg="saved file does not match original")
Ejemplo n.º 8
0
    def testAuthListing(self):
        p = DummyPOP3()
        p.factory = internet.protocol.Factory()
        p.factory.challengers = {'Auth1': None, 'secondAuth': None, 'authLast': None}
        client = LineSendingProtocol([
            "AUTH",
            "QUIT",
        ])

        loopback.loopback(p, client)
        self.failUnless(client.response[1].startswith('+OK'))
        self.assertEquals(client.response[2:6], ["AUTH1", "SECONDAUTH", "AUTHLAST", "."])
Ejemplo n.º 9
0
    def testYear(self):
        # This example derived from bug description in issue 514.
        fileList = ftp.FTPFileListProtocol()

        class PrintLine(protocol.Protocol):
            def connectionMade(self):
                self.transport.write("-rw-r--r--   1 root     other        531 Jan 29 2003 README\n")
                self.transport.loseConnection()

        loopback.loopback(PrintLine(), fileList)
        file = fileList.files[0]
        self.failUnless(file["size"] == 531, "misparsed fileitem")
        self.failUnless(file["date"] == "Jan 29 2003", "misparsed fileitem")
        self.failUnless(file["filename"] == "README", "misparsed fileitem")
Ejemplo n.º 10
0
 def testError(self):
     try:
         monkey / 0
     except Exception:
         self.sendReporter._runHook = lambda : (
             self.sendReporter.reportResults("aTestClass", "aMethod",
                                             reporter.ERROR,
                                             sys.exc_info()))            
     loopback.loopback(self.sendReporter, self.decoder)
     self.failUnlessEqual(len(self.reporter.errors), 1)
     self.failUnlessEqual(self.reporter.errors[0][:2], ("aTestClass",
                                                        "aMethod"))
     f = self.reporter.errors[0][-1]
     self.failUnlessEqual(f.type, reflect.qual(NameError))
Ejemplo n.º 11
0
 def testLoopback(self):
     server = http.HTTPChannel()
     server.requestFactory = DummyHTTPHandler
     client = LoopbackHTTPClient()
     client.handleResponse = self._handleResponse
     client.handleHeader = self._handleHeader
     client.handleEndHeaders = self._handleEndHeaders
     client.handleStatus = self._handleStatus
     loopback.loopback(server, client)
     if not (self.gotStatus and self.gotResponse and self.gotEndHeaders):
         raise RuntimeError, "didn't got all callbacks %s" % [self.gotStatus, self.gotResponse, self.gotEndHeaders]
     del self.gotEndHeaders
     del self.gotResponse
     del self.gotStatus
     del self.numHeaders
Ejemplo n.º 12
0
    def testYear(self):
        # This example derived from bug description in issue 514.
        fileList = ftp.FTPFileListProtocol()

        class PrintLine(protocol.Protocol):
            def connectionMade(self):
                self.transport.write(
                    '-rw-r--r--   1 root     other        531 Jan 29 2003 README\n'
                )
                self.transport.loseConnection()

        loopback.loopback(PrintLine(), fileList)
        file = fileList.files[0]
        self.failUnless(file['size'] == 531, 'misparsed fileitem')
        self.failUnless(file['date'] == 'Jan 29 2003', 'misparsed fileitem')
        self.failUnless(file['filename'] == 'README', 'misparsed fileitem')
Ejemplo n.º 13
0
 def testOneLine(self):
     # This example line taken from the docstring for FTPFileListProtocol
     fileList = ftp.FTPFileListProtocol()
     class PrintLine(Protocol):
         def connectionMade(self):
             self.transport.write('-rw-r--r--   1 root     other        531 Jan 29 03:26 README\n')
             self.transport.loseConnection()
     loopback.loopback(PrintLine(), fileList)
     file = fileList.files[0]
     self.failUnless(file['filetype'] == '-', 'misparsed fileitem')
     self.failUnless(file['perms'] == 'rw-r--r--', 'misparsed perms')
     self.failUnless(file['owner'] == 'root', 'misparsed fileitem')
     self.failUnless(file['group'] == 'other', 'misparsed fileitem')
     self.failUnless(file['size'] == 531, 'misparsed fileitem')
     self.failUnless(file['date'] == 'Jan 29 03:26', 'misparsed fileitem')
     self.failUnless(file['filename'] == 'README', 'misparsed fileitem')
Ejemplo n.º 14
0
 def runTest(self, lines, expected):
     dummy = DummyPOP3()
     client = LineSendingProtocol([
         "APOP moshez dummy",
         "LIST",
         "UIDL",
         "RETR 1",
         "RETR 2",
         "DELE 1",
         "RETR 1",
         "QUIT",
     ])
     expected_output = '+OK <moshez>\r\n+OK Authentication succeeded\r\n+OK 1\r\n1 44\r\n.\r\n+OK \r\n1 0\r\n.\r\n+OK 44\r\nFrom: moshe\r\nTo: moshe\r\n\r\nHow are you, friend?\r\n.\r\n-ERR Bad message number argument\r\n+OK \r\n-ERR message deleted\r\n+OK \r\n'
     loopback.loopback(dummy, client)
     self.failUnlessEqual(expected_output, '\r\n'.join(client.response) + '\r\n')
     dummy.connectionLost(failure.Failure(Exception("Test harness disconnect")))
Ejemplo n.º 15
0
    def testAuthListing(self):
        p = DummyPOP3()
        p.factory = internet.protocol.Factory()
        p.factory.challengers = {
            'Auth1': None,
            'secondAuth': None,
            'authLast': None
        }
        client = LineSendingProtocol([
            "AUTH",
            "QUIT",
        ])

        loopback.loopback(p, client)
        self.failUnless(client.response[1].startswith('+OK'))
        self.assertEquals(client.response[2:6],
                          ["AUTH1", "SECONDAUTH", "AUTHLAST", "."])
Ejemplo n.º 16
0
 def testLoopback(self):
     server = http.HTTPChannel()
     server.requestFactory = DummyHTTPHandler
     client = LoopbackHTTPClient()
     client.handleResponse = self._handleResponse
     client.handleHeader = self._handleHeader
     client.handleEndHeaders = self._handleEndHeaders
     client.handleStatus = self._handleStatus
     loopback.loopback(server, client)
     if not (self.gotStatus and self.gotResponse and self.gotEndHeaders):
         raise RuntimeError, "didn't got all callbacks %s" % [
             self.gotStatus, self.gotResponse, self.gotEndHeaders
         ]
     del self.gotEndHeaders
     del self.gotResponse
     del self.gotStatus
     del self.numHeaders
Ejemplo n.º 17
0
 def runTest(self, lines, expected):
     dummy = DummyPOP3()
     client = LineSendingProtocol([
         "APOP moshez dummy",
         "LIST",
         "UIDL",
         "RETR 1",
         "RETR 2",
         "DELE 1",
         "RETR 1",
         "QUIT",
     ])
     expected_output = '+OK <moshez>\r\n+OK Authentication succeeded\r\n+OK 1\r\n1 44\r\n.\r\n+OK \r\n1 0\r\n.\r\n+OK 44\r\nFrom: moshe\r\nTo: moshe\r\n\r\nHow are you, friend?\r\n.\r\n-ERR Bad message number argument\r\n+OK \r\n-ERR message deleted\r\n+OK \r\n'
     loopback.loopback(dummy, client)
     self.failUnlessEqual(expected_output,
                          '\r\n'.join(client.response) + '\r\n')
     dummy.connectionLost(
         failure.Failure(Exception("Test harness disconnect")))
Ejemplo n.º 18
0
 def getFilesForLines(self, lines):
     fileList = MyFTPFileListProtocol()
     loopback.loopback(PrintLines(lines), fileList)
     return fileList.files, fileList.other
Ejemplo n.º 19
0
 def getFilesForLines(self, lines):
     fileList = MyFTPFileListProtocol()
     loopback.loopback(PrintLines(lines), fileList)
     return fileList.files, fileList.other
Ejemplo n.º 20
0
 def testLoopback(self):
     loopback.loopback(self.server, self.client)
Ejemplo n.º 21
0
 def testLoopback(self):
     loopback.loopback(self.server, self.client)
Ejemplo n.º 22
0
 def testLoopback(self):
     protocol =  MyVirtualPOP3()
     protocol.service = self.factory
     clientProtocol = MyPOP3Downloader()
     loopback.loopback(protocol, clientProtocol)
     self.failUnlessEqual(clientProtocol.message, self.message)
Ejemplo n.º 23
0
 def testStart(self):
     self.sendReporter._runHook = lambda : self.sendReporter.start(1)
     loopback.loopback(self.sendReporter, self.decoder)
     self.failUnlessEqual(self.reporter.expectedTests, 1)