Ignore:
Timestamp:
31/05/06 15:02:55 (14 years ago)
Author:
spascoe
Message:

The embedded bbftpd server now performs a callback to python to check
authentication. The callback works but it can't do anything at the moment.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/trunk/test/test_embedded.py

    r1070 r1073  
    1919import bbftpd 
    2020         
     21class AuthContext(object): 
     22    def authorise(self): 
     23        # Return a dummy authzContext 
     24        return "authorised :-)" 
     25 
    2126class EmbeddedServerTestCase(unittest.TestCase): 
    2227    """Test the bbftpd module. 
     
    5863 
    5964 
     65    def testRetr(self): 
     66        """Try retrieving a file. 
     67        """ 
     68 
     69        tmp = tempfile.mktemp('test_bbftpd') 
     70        fh = self._runClient('-e "get %s/foo %s"' % (DATADIR, tmp)) 
     71 
     72        # Check the client output 
     73        output = fh.read() 
     74        self.assert_(self._findLines(['get.*nogzip'], output)) 
     75 
     76        # Check retrieved file 
     77        self.assert_(os.system('diff --brief %s/foo %s' % (DATADIR, tmp)) == 0) 
     78        os.remove(tmp) 
     79 
     80        # Check syslog 
     81        lines = self._readSyslog() 
     82        self.assert_(self._findLines(['.*Authz: RETR .*/foo', '.*GET .*/foo.*'], lines)) 
     83 
     84    def testStore(self): 
     85        """Try storing a file. 
     86        """ 
     87 
     88 
     89        src = '%s/bar' % (DATADIR) 
     90        dest = '%s/new_bar' % (DATADIR) 
     91        os.system('cp %s %s' % (src, dest)) 
     92        fh = self._runClient('-e "put %s %s"' % (src, dest)) 
     93 
     94        # Check the client output 
     95        output = fh.read() 
     96        self.assert_(self._findLines(['put .* nogzip'], output)) 
     97 
     98 
     99        # Check sent file 
     100        self.assert_(os.system('diff --brief %s %s' % (dest, src)) == 0) 
     101        os.remove(dest) 
     102 
     103        # Check syslog 
     104        lines = self._readSyslog() 
     105        self.assert_(self._findLines(['.*Authz: STORE .*/new_bar', '.*PUT .*/new_bar.*'], lines)) 
     106 
     107 
    60108    #---------------------------------------------------------------------------------- 
    61109 
     
    63111    def _startServer(self): 
    64112        # Start the server and store it's PID 
    65         self.pid = bbftpd.run(['-l', 'DEBUG']) 
     113        self.pid = bbftpd.run(AuthContext(), ['-l', 'DEBUG']) 
    66114 
    67115    def _stopServer(self): 
Note: See TracChangeset for help on using the changeset viewer.