Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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
Example #7
0
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