Esempio n. 1
0
 def setUp(self):
     self.objs = [{"fname" : "Franco", "lname" : "Corelli"}, 
                  {"fname" : "Leonardo", "lname" : "DaVinci", "age" : 300},
                  {"fname" : "Franco", "lname" : "Gandolpho"}]
     
     self.mongodb = MongoDB(dbName='unittest', collection='unittest')
     self.mongodb.clearCollection(collection="unittest")
     self.mongodb.clearCollection(collection="new_coll")
     self.mongodb.setCollection("unittest")
Esempio n. 2
0
 def setUp(self):
     
     self.mongoDb = MongoDB(dbName="unittest", collection="tinyForum")
     # Fill the little MongoDB with test JSON lines
     self.resetMongoTestDb()
     
     self.mysqldb = MySQLDB(mySQLUser='******', db='unittest')
     # Start with an empty result MySQL table for each test:
     self.mysqldb.dropTable('contents')
     # Fill the fake UserGrade table with records of course participants:
     self.resetMySQLUserListDb()
     
     # Instantiate a Forum scrubber without the 
     # name of a bson file that contains forum
     # records. That 'None' for the bson file will
     # make the class understand that it's being
     # instantiated for a unit test. 
     self.forumScrubberAnonymized = EdxForumScrubber(None, mysqlDbObj=self.mysqldb, forumTableName='contents', allUsersTableName='unittest.UserGrade')
     self.forumScrubberRelatable  = EdxForumScrubber(None, mysqlDbObj=self.mysqldb, forumTableName='contents', allUsersTableName='unittest.UserGrade', allowAnonScreenName=True)
     self.forumScrubberClear      = EdxForumScrubber(None, mysqlDbObj=self.mysqldb, forumTableName='contents', allUsersTableName='unittest.UserGrade', anonymize=False)
Esempio n. 3
0
    def runConversion(self):
        '''
        Do the actual work. We don't call this method from __init__()
        so that unittests can create an EdxForumScrubber instance without
        doing the actual work. Instead, unittests call individual methods. 
        '''
        self.populateUserCache();

        self.mongo_database_name = 'TmpForum'
        self.collection_name = 'contents'

        # Load bson file into Mongodb:
        self.loadForumIntoMongoDb(self.bsonFileName)
        self.mongodb = MongoDB(dbName=self.mongo_database_name, collection=self.collection_name)
        
        # Anonymize each forum record, and transfer to MySQL db:
        self.forumMongoToRelational(self.mongodb, self.mydb,'contents' )
        
        self.mydb.close()
        self.mongodb.close()
        self.logInfo('Entered %d records into %s' % (self.counter, self.forumDbName + self.forumTableName))