Example #1
0
class SessionsDBTest(unittest.TestCase):

    def setUp(self):
        self._connection = DatabaseConnection()
        
        # read data from config file, we don't want to be modifying this code  all the time
        config = ConfigParser.ConfigParser()
        config.readfp(open('../test/test-db.cfg'))
        DBHOST = config.get("Database", "host")
        DB = config.get("Database", "database")
        DBUSER = config.get("Database", "user")
        DBPASS = config.get("Database", "pass")
        
        self._connection.connect(DBHOST, DBUSER, DBPASS, DB)
        self._userDB = UsersDB(self._connection)
        
        self._sessionsDB = SessionsDB(self._connection)
        self._userDB.addUser('user1','123')
        
    def tearDown(self):
        self._connection._execute('TRUNCATE sessions')
        self._connection._execute('TRUNCATE users')
        self._connection._commit()
        self._connection.disconnect()

    def testSession(self):
        sessionId = '440f23c58848769685e481ff270b046659f40b7c'
        self._sessionsDB.createSession(sessionId, 'user1', '216.27.61.137', datetime.datetime.now())
        session = self._sessionsDB.getSession(sessionId)
        self.assertEqual( session['username'], 'user1')
        self.assertEqual( self._sessionsDB.getUserFromSession(sessionId), 'user1')
        self.assertEqual( session['ip_address'], '216.27.61.137')        
        self._sessionsDB.endSession(sessionId)
        self.assertEqual( None, self._sessionsDB.getSession(sessionId))
    
    def testRemoveExpiredSessions(self):
        sessionIds = ('440f23c58848769685e481ff270b046659f40b7a','440f23c58848769685e481ff270b046659f40b7b', '440f23c58848769685e481ff270b046659f40b7c')
        self._sessionsDB.createSession(sessionIds[0], 'user1', '216.27.61.137', datetime.datetime.now() + datetime.timedelta(hours = 2))
        self._sessionsDB.createSession(sessionIds[1], 'user1', '216.27.61.138', datetime.datetime.now() - datetime.timedelta(hours = 2))
        self._sessionsDB.createSession(sessionIds[2], 'user1', '216.27.61.139', datetime.datetime.now() - datetime.timedelta(hours = 2))
        self._sessionsDB.removeExpiredSessions()
        
        self.assertEqual( sessionIds[0], self._sessionsDB.getSession(sessionIds[0])['session_id'])
        self.assertEqual( None, self._sessionsDB.getSession(sessionIds[1]))
        self.assertEqual( None, self._sessionsDB.getSession(sessionIds[2]))
Example #2
0
 def setUp(self):
     self._connection = DatabaseConnection()
     
     # read data from config file, we don't want to be modifying this code  all the time
     config = ConfigParser.ConfigParser()
     config.readfp(open('../test/test-db.cfg'))
     DBHOST = config.get("Database", "host")
     DB = config.get("Database", "database")
     DBUSER = config.get("Database", "user")
     DBPASS = config.get("Database", "pass")
     
     self._connection.connect(DBHOST, DBUSER, DBPASS, DB)
     self._userDB = UsersDB(self._connection)
     
     self._sessionsDB = SessionsDB(self._connection)
     self._userDB.addUser('user1','123')
Example #3
0
 def setUp(self):
     self._connection = DatabaseConnection()
     
     # read data from config file, we don't want to be modifying this code  all the time
     config = ConfigParser.ConfigParser()
     config.readfp(open('../test/test-db.cfg'))
     DBHOST = config.get("Database", "host")
     DB = config.get("Database", "database")
     DBUSER = config.get("Database", "user")
     DBPASS = config.get("Database", "pass")
     
     self._connection.connect(DBHOST, DBUSER, DBPASS, DB)
     self._userDB = UsersDB(self._connection)
     
     self._fileDB = FilesDB(self._connection)
     self._userDB.addUser("_TestUser" , "123")
     self._fileDB.addFile("_TestUser","folder2/testFile1.txt", "/mnt/HD_a2/_TestUser/f3bfa/testFile1.txt", 35, "_TestUser",datetime.datetime(2011, 3, 24, 15, 6, 16),1, "2b61cdf97336e06720df")
     self._fileDB.addFile("_TestUser","folder2/testFile2.txt", "/mnt/HD_a2/_TestUser/f3bfa/testFile2.txt", 35, "_TestUser",datetime.datetime(2011, 3, 24, 15, 6, 16),1, "4bd950f32db28f05d972")
Example #4
0
class FilesDBTest(unittest.TestCase):
    def setUp(self):
        self._connection = DatabaseConnection()
        
        # read data from config file, we don't want to be modifying this code  all the time
        config = ConfigParser.ConfigParser()
        config.readfp(open('../test/test-db.cfg'))
        DBHOST = config.get("Database", "host")
        DB = config.get("Database", "database")
        DBUSER = config.get("Database", "user")
        DBPASS = config.get("Database", "pass")
        
        self._connection.connect(DBHOST, DBUSER, DBPASS, DB)
        self._userDB = UsersDB(self._connection)
        
        self._fileDB = FilesDB(self._connection)
        self._userDB.addUser("_TestUser" , "123")
        self._fileDB.addFile("_TestUser","folder2/testFile1.txt", "/mnt/HD_a2/_TestUser/f3bfa/testFile1.txt", 35, "_TestUser",datetime.datetime(2011, 3, 24, 15, 6, 16),1, "2b61cdf97336e06720df")
        self._fileDB.addFile("_TestUser","folder2/testFile2.txt", "/mnt/HD_a2/_TestUser/f3bfa/testFile2.txt", 35, "_TestUser",datetime.datetime(2011, 3, 24, 15, 6, 16),1, "4bd950f32db28f05d972")
        
    def tearDown(self):
        self._connection._execute('TRUNCATE files_history')
        self._connection._execute('TRUNCATE users_files')
        self._connection._execute('TRUNCATE files')
        self._connection._execute('TRUNCATE users')
        self._connection._commit()
        self._connection.disconnect() 

    def testFile(self):
        fileId = self._fileDB.addFile("_TestUser","folder5/testFile1.txt", "/mnt/HD_a2/_TestUser/f3bfa/testFile1.txt", 35, "_TestUser", datetime.datetime(2011, 3, 26, 15, 6, 17), 1, "2b61cdf97336e06720df")
        self.assertEqual({'username': "******",
                          'file_id': fileId, \
                          'f.file_id': fileId, \
                          'client_path': "folder5/testFile1.txt", \
                          'server_path': "/mnt/HD_a2/_TestUser/f3bfa/testFile1.txt", \
                          'size': 35, \
                          'last_author': "_TestUser", \
                          'last_modified': datetime.datetime(2011, 3, 26, 15, 6, 17), \
                          'version': 1, \
                          'permission_level': 0, \
                          'directory': 0, \
                          'checksum': "2b61cdf97336e06720df"}, \
                        self._fileDB.getFile("_TestUser", "folder5/testFile1.txt"))
        self._fileDB.removeFile("_TestUser", "folder5/testFile1.txt")
        self.assertEqual(None, self._fileDB.getFile("_TestUser", "folder5/testFile1.txt"))

    def testRemoveFile(self):
        newFile = self._fileDB.getFile("_TestUser" , "folder2/testFile1.txt")
        
        oldAuthor = newFile['last_author']
        newFile['last_author'] = "_TestUser123"
                
        self._fileDB.updateFile("_TestUser", "folder2/testFile1.txt", newFile) 
        data = self._fileDB.getFileVersion(newFile['file_id'], newFile['version']) 
        self.assertEqual( data['last_author'] , oldAuthor )
         
        self._fileDB.removeFile("_TestUser" , "folder2/testFile1.txt" )
        data = self._fileDB.getFile("_TestUser" , "folder2/testFile1.txt")
        self.assertEqual( data , None )
        data = self._fileDB.getFileVersion(newFile['file_id'], 1) 
        self.assertEqual( data , None)  
    
    def testGetFilesInDir(self):
        files = self._fileDB.getFilesInDir("folder2/", "_TestUser")
        self.assertEqual(files[0]['client_path'], "folder2/testFile1.txt")
        self.assertEqual(files[1]['client_path'], "folder2/testFile2.txt")

    def testGetAllFiles(self):
        files = self._fileDB.getAllFiles("_TestUser")
        self.assertEqual(files[0]['client_path'], "folder2/testFile1.txt")
        self.assertEqual(files[1]['client_path'], "folder2/testFile2.txt")
        
    def testUpdateFiles(self):
        newFile = self._fileDB.getFile("_TestUser" , "folder2/testFile1.txt")
        newFile['last_author'] = "_TestUser123"
        
        self._fileDB.updateFile("_TestUser", "folder2/testFile1.txt", newFile)
        data = self._fileDB.getFile("_TestUser" , "folder2/testFile1.txt")   
        self.assertEqual( "_TestUser123" , data['last_author'] )     
            
    def testGetServerPath(self):
        file = self._fileDB.getFile("_TestUser","folder2/testFile1.txt")
        self.assertEqual(file['server_path'], self._fileDB.getServerPath(file['file_id']))
        
    def testGetClientPath(self):
        file = self._fileDB.getFile("_TestUser","folder2/testFile1.txt")
        self.assertEqual(file['client_path'], self._fileDB.getClientPath(file['file_id']))
        
    def testGetChecksum(self):
        file = self._fileDB.getFile("_TestUser","folder2/testFile1.txt")
        self.assertEqual(file['checksum'], self._fileDB.getChecksum(file['file_id']))
        
    def testGetLastModified(self):
        file = self._fileDB.getFile("_TestUser","folder2/testFile1.txt")
        self.assertEqual(file['last_modified'], self._fileDB.getLastModified(file['file_id']))
        
    def testPermissions(self):
        file = self._fileDB.getFile("_TestUser", "folder2/testFile1.txt")
        self._fileDB.setPermission("_TestUser", file['file_id'], 0)
        self.assertTrue(self._fileDB.getPermission("_TestUser", file['file_id']) == 0)
        randomFileID = 3145156
        self.assertTrue(self._fileDB.getPermission("_TestUser", randomFileID) == None)
        
    def testGetFileHistory(self):
        file = self._fileDB.getFile("_TestUser", "folder2/testFile1.txt")
        # test before we add anything
        fileVersions = self._fileDB.getFileHistory(file['file_id'])
        self.assertTrue(fileVersions[0]['version'] == 1 and fileVersions[0]['size'] == 35 and \
                        len(fileVersions) == 1)
        
        # after update test to see new version listed
        file['size'] = 45
        file['checksum'] = '2b61cdf97336e06720dj'
        self._fileDB.updateFile("_TestUser" , "folder2/testFile1.txt", file)
        fileVersions = self._fileDB.getFileHistory(file['file_id'])
        self.assertTrue(fileVersions[0]['version'] == 2 and fileVersions[0]['size'] == 45 and \
                        fileVersions[1]['version'] == 1 and fileVersions[1]['size'] == 35 and \
                        len(fileVersions) == 2)