def test_import_postgres_db(self): # create a user db_user.create(1, 'test_user') user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # do a db dump and reset the db private_dump, public_dump = db_dump.dump_postgres_db(self.tempdir) self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) # import the dump db_dump.import_postgres_dump(private_dump, public_dump) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # reset again, and use more threads to import self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) db_dump.import_postgres_dump(private_dump, public_dump, threads=2) user_count = db_user.get_user_count() self.assertEqual(user_count, 1)
def test_import_postgres_db(self): # create a user with self.app.app_context(): one_id = db_user.create(1, 'test_user') user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # do a db dump and reset the db private_dump, private_ts_dump, public_dump, public_ts_dump = db_dump.dump_postgres_db( self.tempdir) self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) # import the dump db_dump.import_postgres_dump(private_dump, None, public_dump, None) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # reset again, and use more threads to import self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) db_dump.import_postgres_dump(private_dump, None, public_dump, None, threads=2) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) two_id = db_user.create(2, 'vnskprk') self.assertGreater(two_id, one_id)
def test_dump_recording_feedback(self): # create a user with self.app.app_context(): one_id = db_user.create(1, 'test_user') user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # insert a feedback record feedback = Feedback( user_id=one_id, recording_msid="d23f4719-9212-49f0-ad08-ddbfbfc50d6f", score=1) db_feedback.insert(feedback) # do a db dump and reset the db private_dump, private_ts_dump, public_dump, public_ts_dump = db_dump.dump_postgres_db( self.tempdir) self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) self.assertEqual( db_feedback.get_feedback_count_for_user(user_id=one_id), 0) # import the dump and check the records are inserted db_dump.import_postgres_dump(private_dump, None, public_dump, None) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) dumped_feedback = db_feedback.get_feedback_for_user(user_id=one_id, limit=1, offset=0) self.assertEqual(len(dumped_feedback), 1) self.assertEqual(dumped_feedback[0].user_id, feedback.user_id) self.assertEqual(dumped_feedback[0].recording_msid, feedback.recording_msid) self.assertEqual(dumped_feedback[0].score, feedback.score) # reset again, and use more threads to import self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) dumped_feedback = [] db_dump.import_postgres_dump(private_dump, None, public_dump, None, threads=2) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) dumped_feedback = db_feedback.get_feedback_for_user(user_id=one_id, limit=1, offset=0) self.assertEqual(len(dumped_feedback), 1) self.assertEqual(dumped_feedback[0].user_id, feedback.user_id) self.assertEqual(dumped_feedback[0].recording_msid, feedback.recording_msid) self.assertEqual(dumped_feedback[0].score, feedback.score)
def test_import_postgres_db(self): # create a user db_user.create('test_user') user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # do a db dump and reset the db location = db_dump.dump_postgres_db(self.tempdir) self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) # import the dump db_dump.import_postgres_dump(location) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # reset again, and use more threads to import self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) db_dump.import_postgres_dump(location, threads=2) user_count = db_user.get_user_count() self.assertEqual(user_count, 1)
def test_import_postgres_db(self): # create a user with self.app.app_context(): one_id = db_user.create(1, 'test_user') user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # do a db dump and reset the db private_dump, public_dump = db_dump.dump_postgres_db(self.tempdir) self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) # import the dump db_dump.import_postgres_dump(private_dump, public_dump) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) # reset again, and use more threads to import self.reset_db() user_count = db_user.get_user_count() self.assertEqual(user_count, 0) db_dump.import_postgres_dump(private_dump, public_dump, threads=2) user_count = db_user.get_user_count() self.assertEqual(user_count, 1) two_id = db_user.create(2, 'vnskprk') self.assertGreater(two_id, one_id)
def _get_user_count(): """ Gets user count from either the redis cache or from the database. If not present in the cache, it makes a query to the db and stores the result in the cache for 10 minutes. """ #redis_connection = _redis.redis user_count_key = "{}.{}".format(STATS_PREFIX, 'user_count') #if redis_connection.exists(user_count_key): # return redis_connection.get(user_count_key) #else: # try: # user_count = db_user.get_user_count() # except DatabaseException as e: # raise # redis_connection.setex(user_count_key, user_count, CACHE_TIME) # return user_count try: return cache.get(user_count_key) except: try: user_count = db_user.get_user_count() except DatabaseException as e: raise cache.set(user_count_key, user_count, CACHE_TIME) return user_count
def _get_user_count(): """ Gets user count from either the brainzutils cache or from the database. If not present in the cache, it makes a query to the db and stores the result in the cache for 10 minutes. """ user_count_key = "{}.{}".format(STATS_PREFIX, 'user_count') user_count = cache.get(user_count_key, decode=False) if user_count: return user_count else: try: user_count = db_user.get_user_count() except DatabaseException as e: raise cache.set(user_count_key, int(user_count), CACHE_TIME, encode=False) return user_count