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")
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)
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))