Ignore:
Timestamp:
24/05/06 10:57:52 (14 years ago)
Author:
spascoe
Message:

Added Retrieve and Send test cases.

Location:
TI05-delivery/trunk/test
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/trunk/test/data/bar

    r981 r997  
     1I t'aut I t'aur a puthy tat! 
  • TI05-delivery/trunk/test/data/foo

    r981 r997  
     1the quick brown fox jumps over the lazy dog. 
     2 
  • TI05-delivery/trunk/test/test_bbftpd.py

    r981 r997  
    1010import os, signal, time, syslog 
    1111from glob import glob 
    12 import re 
     12import re, tempfile 
    1313 
    1414class ExtendedAPITestCase(unittest.TestCase): 
     
    5252            self.fail(e) 
    5353 
    54         self.assert_(len(lines) == 2) 
    55         self.assert_(re.search('initialising private auth', lines[0])) 
    56         self.assert_(re.search('finalising private auth', lines[1])) 
     54        self.assert_(self._findLines(['.*initialising private auth.*', '.*finalising private auth.*'], lines)) 
    5755 
    5856    def testDir(self): 
     
    7169                                      r' f .*/foo', r' f .*/bar', r' f .*/baz'], output))         
    7270 
     71        lines = self._readSyslog() 
     72        self.assert_(self._findLines(['.*Getting new bbftp connexion.*', 
     73                                      '.*Received auth message: NDG-bbFTP.*', 
     74                                      r'.*Authz: MSG_LIST_V2 .*/test/data/\*.*', 
     75                                      r'.*User  disconnected.*'], lines)) 
     76         
     77    def testRetr(self): 
     78        """Try retrieving a file. 
     79        """ 
     80 
     81        self._startServer() 
     82        pid = self._getServerPid() 
     83 
     84        tmp = tempfile.mktemp('test_bbftpd') 
     85        fh = self._runClient('-e "get %s/foo %s"' % (self.DATADIR, tmp)) 
     86 
     87        # Check the client output 
     88        output = fh.read() 
     89        self.assert_(self._findLines(['get.*nogzip'], output)) 
     90 
     91        self._stopServer(pid) 
     92 
     93        # Check retrieved file 
     94        self.assert_(os.system('diff --brief %s/foo %s' % (self.DATADIR, tmp)) == 0) 
     95        os.remove(tmp) 
     96 
     97        # Check syslog 
     98        lines = self._readSyslog() 
     99        self.assert_(self._findLines(['.*Authz: RETR .*/foo', '.*GET .*/foo.*'], lines)) 
     100 
     101    def testStore(self): 
     102        """Try storing a file. 
     103        """ 
     104 
     105        self._startServer() 
     106        pid = self._getServerPid() 
     107 
     108        src = '%s/bar' % (self.DATADIR) 
     109        dest = '%s/new_bar' % (self.DATADIR) 
     110        os.system('cp %s %s' % (src, dest)) 
     111        fh = self._runClient('-e "put %s %s"' % (src, dest)) 
     112 
     113        # Check the client output 
     114        output = fh.read() 
     115        self.assert_(self._findLines(['put .* nogzip'], output)) 
     116 
     117        self._stopServer(pid) 
     118 
     119        # Check sent file 
     120        self.assert_(os.system('diff --brief %s %s' % (dest, src)) == 0) 
     121        os.remove(dest) 
     122 
     123        # Check syslog 
     124        lines = self._readSyslog() 
     125        self.assert_(self._findLines(['.*Authz: STORE .*/new_bar', '.*PUT .*/new_bar.*'], lines)) 
    73126 
    74127    #------------------------------------------------------------------------------ 
     
    134187                filtered_log.append(line) 
    135188 
    136         return filtered_log 
     189        return ''.join(filtered_log) 
    137190 
    138191    def _runClient(self, *args): 
Note: See TracChangeset for help on using the changeset viewer.