Esempio n. 1
0
    def test_user_follows(self):
        load_fixtures(db, dataset)

        rv = self.client.get(
            url_for('api.user_follows', username='******'))
        self.assert200(rv)
        self.assertEqual(1, len(json.loads(rv.data)['users']))
Esempio n. 2
0
File: util.py Progetto: 01-/aleph
 def load_fixtures(self, file_name, process_documents=True):
     filepath = os.path.abspath(os.path.join(FIXTURES, file_name))
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     if process_documents:
         for doc_id, in Document.all_ids():
             analyze_document(doc_id)
         optimize_search()
Esempio n. 3
0
 def load_fixtures(self, file_name, process_documents=True):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     if process_documents:
         for doc_id, in Document.all_ids():
             analyze_document(doc_id)
         optimize_search()
Esempio n. 4
0
 def load_fixtures(self, file_name, process_documents=True):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     if process_documents:
         for doc_id, in Document.all_ids():
             analyze_document(doc_id)
         optimize_search()
Esempio n. 5
0
    def test_user_followed_by(self):
        load_fixtures(db, dataset)

        rv = self.client.get(url_for('api.user_followed_by', username='******'))
        self.assert200(rv)
        self.assertEqual(0, len(json.loads(rv.data)['users']))

        rv1 = self.client.get(url_for('api.user_follows', username='******'))
        self.assert200(rv1)
        self.assertEqual(1, len(json.loads(rv1.data)['users']))
Esempio n. 6
0
    def test_get_followers(self):
        load_fixtures(db, dataset)

        u1 = User.query.get(1)
        u2 = User.query.get(2)

        followers = u1.get_followed_by()
        self.assertEqual(1, len(followers), 'user has one follower')
        self.assertIsInstance(followers[0], User, 'followers is list of <User> instances')
        self.assertEqual(followers[0].id, 2, '<User 2> follows <User 1>')

        followings = u2.get_follows()
        self.assertEqual(1, len(followings), 'user has one following')
        self.assertIsInstance(followings[0], User, 'followings is list of <User> instances')
        self.assertEqual(followings[0].id, 1, '<User 1> follows <User 1>')
Esempio n. 7
0
    def test_get_followers(self):
        load_fixtures(db, dataset)

        u1 = User.query.get(1)
        u2 = User.query.get(2)

        followers = u1.get_followed_by()
        self.assertEqual(1, len(followers), 'user has one follower')
        self.assertIsInstance(followers[0], User,
                              'followers is list of <User> instances')
        self.assertEqual(followers[0].id, 2, '<User 2> follows <User 1>')

        followings = u2.get_follows()
        self.assertEqual(1, len(followings), 'user has one following')
        self.assertIsInstance(followings[0], User,
                              'followings is list of <User> instances')
        self.assertEqual(followings[0].id, 1, '<User 1> follows <User 1>')
Esempio n. 8
0
    def test_add_follower(self):
        load_fixtures(db, dataset)

        user = User.query.get(1)
        user.add_follower(User.query.get(3))
        db.session.add(user)
        db.session.commit()

        followers = user.get_followed_by()
        self.assertEqual(2, len(followers), 'user has two follower')

        user.add_follower(User.query.get(2))

        with self.assertRaises(IntegrityError):
            db.session.add(user)
            db.session.commit()

        self.assertEqual(2, len(followers), 'user has two follower')
Esempio n. 9
0
    def test_add_follower(self):
        load_fixtures(db, dataset)

        user = User.query.get(1)
        user.add_follower(User.query.get(3))
        db.session.add(user)
        db.session.commit()

        followers = user.get_followed_by()
        self.assertEqual(2, len(followers), 'user has two follower')

        user.add_follower(User.query.get(2))

        with self.assertRaises(IntegrityError):
            db.session.add(user)
            db.session.commit()

        self.assertEqual(2, len(followers), 'user has two follower')
Esempio n. 10
0
def load_fixtures_from_file(fixtures):
    """
    :param fixtures:
    :return:
    """
    fixtures_dirs = current_app.config['FIXTURES_DIRS']
    if not isinstance(fixtures, list):
        _fixtures = [fixtures]
    else:
        _fixtures = fixtures

    for filename in _fixtures:
        for directory in fixtures_dirs:
            filepath = os.path.join(directory, filename)
            if os.path.exists(filepath):
                # TODO load the data into the database
                load_fixtures(db, loaders.load(filepath))
                break
        else:
            raise IOError("Error loading '{0}'. File could not be found".format(filename))
Esempio n. 11
0
    def test_follow(self):
        load_fixtures(db, dataset)

        user = User.query.get(1)
        self.assertEqual(0, len(user.followings))
        self.assertEqual(0, len(user.get_follows()))

        u2 = User.query.get(2)
        user.follow(u2)

        db.session.add(user)
        db.session.commit()

        self.assertEqual(1, len(user.followings))
        self.assertEqual(1, len(user.get_follows()))
        self.assertEqual(u2, user.get_follows()[0])

        with self.assertRaises(IntegrityError):
            user.follow(u2)
            db.session.add(user)
            db.session.commit()
Esempio n. 12
0
    def test_follow(self):
        load_fixtures(db, dataset)

        user = User.query.get(1)
        self.assertEqual(0, len(user.followings))
        self.assertEqual(0, len(user.get_follows()))

        u2 = User.query.get(2)
        user.follow(u2)

        db.session.add(user)
        db.session.commit()

        self.assertEqual(1, len(user.followings))
        self.assertEqual(1, len(user.get_follows()))
        self.assertEqual(u2, user.get_follows()[0])

        with self.assertRaises(IntegrityError):
            user.follow(u2)
            db.session.add(user)
            db.session.commit()
Esempio n. 13
0
    def test_login(self):
        load_fixtures(db, dataset)

        data = {
            "grant_type": "password",
            "client_id": "foo",
            "client_secret": "secret",
            "username": "******",
            "password": "******",
            "scope": "email",
        }
        status_code, body = self.get(url_for("api.user_access_token"), data)
        self.assertEqual(status_code, 200)
        status_code, body = self.get(
            url_for("api.me"), headers={"Authorization": "Bearer %s" % (body["access_token"],)}
        )
        self.assertEqual(status_code, 200)
        self.assertEqual(body["username"], "*****@*****.**")
        self.assertEqual(body["name"], "user")

        # 존재하지 않는 토큰 요청
        status_code, body = self.get(url_for("api.me"), headers={"Authorization": "Bearer expect expired"})
        self.assertEqual(status_code, 401)
        self.assertEqual(body["message"], "Bearer token not found.")
Esempio n. 14
0
def load_fixtures_from_file(db, filename):
    current_dir = os.path.dirname(__file__)
    filepath = os.path.join(current_dir, 'fixtures', filename)
    return load_fixtures(db, load(filepath))