예제 #1
0
 def testInitBasic(self):
     proto = BaseGopherProtocol("/foo.txt\n", self.server, self.handler,
                                self.rfile, self.wfile, self.config)
     assert proto.rfile == self.rfile
     assert proto.wfile == self.wfile
     assert proto.config == self.config
     assert proto.requesthandler == self.handler
     assert proto.requestlist == ['/foo.txt']
     assert proto.searchrequest == None
     assert proto.handler == None
     assert proto.selector == '/foo.txt'
예제 #2
0
 def testInitSplit(self):
     proto = BaseGopherProtocol(
         "foo.txt\t+\n",
         self.server,
         self.handler,
         self.rfile,
         self.wfile,
         self.config,
     )
     assert proto.selector == "/foo.txt"
     assert proto.requestlist == ["foo.txt", "+"]
예제 #3
0
 def setUp(self):
     self.config = testutil.getconfig()
     self.rfile = StringIO("/testfile.txt\n")
     self.wfile = StringIO()
     self.logfile = testutil.getstringlogger()
     self.logstr = "10.77.77.77 [BaseGopherProtocol/FileHandler]: /testfile.txt\n"
     self.handler = testutil.gettestinghandler(self.rfile, self.wfile,
                                               self.config)
     self.server = self.handler.server
     self.proto = BaseGopherProtocol("/testfile.txt\n", self.server,
                                     self.handler, self.rfile, self.wfile,
                                     self.config)
예제 #4
0
 def testhandle_notfound(self):
     proto = BaseGopherProtocol("/NONEXISTANT.txt\n", self.server,
                                self.handler, self.rfile, self.wfile,
                                self.config)
     proto.handle()
     self.assertEquals(
         self.logfile.getvalue(),
         "10.77.77.77 [BaseGopherProtocol/None] EXCEPTION FileNotFound: '/NONEXISTANT.txt' does not exist (no handler found)\n"
     )
     self.assertEquals(
         self.wfile.getvalue(),
         "3'/NONEXISTANT.txt' does not exist (no handler found)\t\terror.host\t1\r\n"
     )
예제 #5
0
 def testInitSplit(self):
     proto = BaseGopherProtocol("foo.txt\t+\n", self.server, self.handler,
                                self.rfile, self.wfile, self.config)
     assert proto.selector == '/foo.txt'
     assert proto.requestlist == ['foo.txt', '+']
예제 #6
0
 def testInitBothSlashProblems(self):
     proto = BaseGopherProtocol("dir/\n", self.server, self.handler,
                                self.rfile, self.wfile, self.config)
     assert proto.selector == '/dir'
     assert proto.requestlist == ['dir/']
예제 #7
0
 def testInitAddedTrailingSlash(self):
     proto = BaseGopherProtocol("/dir/\n", self.server, self.handler,
                                self.rfile, self.wfile, self.config)
     assert proto.selector == '/dir'
     assert proto.requestlist == ['/dir/']
예제 #8
0
 def testInitMissingLeadingSlash(self):
     proto = BaseGopherProtocol("foo.txt\n", self.server, self.handler,
                                self.rfile, self.wfile, self.config)
     assert proto.selector == '/foo.txt'
     assert proto.requestlist == ['foo.txt']
예제 #9
0
 def testInitEmpty(self):
     proto = BaseGopherProtocol("\n", self.server, self.handler, self.rfile,
                                self.wfile, self.config)
     # It should be rewritten to /
     assert proto.selector == '/'
     assert proto.requestlist == ['']