コード例 #1
0
    def oauth_authorized(token):
        next_url = request.args.get('next') or url_for('get_repos')

        if token is None:
            flash('You denied the request to sign in.')
            return redirect(next_url)

        user_response = github.get('user', params={'access_token': token})
        github_id = user_response['id']
        user = User.query.filter_by(github_token=token).first()
        if user is None:
            user = User.query.filter_by(github_id=github_id).first()
        if user is None:
            user = User(token)
            db.session.add(user)

        user.github_token = token
        user.github_id = github_id
        user.name = user_response['login']
        g.user = user

        emails = user.get_emails_from_github()
        user.email = [e['email'] for e in emails if e['primary']][0]
        db.session.commit()
        session['user_id'] = user.id

        if len(emails) > 1:
            return redirect(url_for('select_email'))
        else:
            return redirect(next_url)
コード例 #2
0
    def test_update_requirements(self, get_all_names):
        get_all_names.return_value = {'a': 'a', 'b': 'b'}

        u = User('t')
        u.email = 'test@test'
        r = Repo(2, u)
        db.session.add(r)
        db.session.commit()

        with patch.object(Repo, 'fetch_requirements') as fetch_requirements:
            fetch_requirements.return_value = "a==1.0\nb==2.1"
            r.update_requirements()
            db.session.commit()

        reqs = Requirement.query.all()
        assert len(reqs) == 2, reqs
        assert (reqs[0].package.name, reqs[0].required_version) == ('a', '1.0')
        assert (reqs[1].package.name, reqs[1].required_version) == ('b', '2.1')
コード例 #3
0
ファイル: tests.py プロジェクト: cenk/pypi-notifier
    def test_update_requirements(self, get_all_names):
        get_all_names.return_value = {'a': 'a', 'b': 'b'}

        u = User('t')
        u.email = 'test@test'
        r = Repo(2, u)
        db.session.add(r)
        db.session.commit()

        with patch.object(Repo, 'fetch_requirements') as fetch_requirements:
            fetch_requirements.return_value = "a==1.0\nb==2.1"
            r.update_requirements()
            db.session.commit()

        reqs = Requirement.query.all()
        assert len(reqs) == 2, reqs
        assert (reqs[0].package.name, reqs[0].required_version) == ('a', '1.0')
        assert (reqs[1].package.name, reqs[1].required_version) == ('b', '2.1')
コード例 #4
0
ファイル: tests.py プロジェクト: cenk/pypi-notifier
 def fixture(self):
     u1 = User('u1')
     u1.email = 'test@test'
     u2 = User('u2')
     u2.email = 'test@test'
     r1 = Repo('r1', u1)
     r2 = Repo('r2', u2)
     p1 = Package('p1')
     p2 = Package('p2')
     req1 = Requirement(r1, p1)
     req2 = Requirement(r2, p1)
     req3 = Requirement(r2, p2)
     db.session.add(u1)
     db.session.add(u2)
     db.session.add(req1)
     db.session.add(req2)
     db.session.add(req3)
     db.session.commit()
     return locals()
コード例 #5
0
ファイル: __init__.py プロジェクト: Gnof/pypi-notifier
    def oauth_authorized(token):
        next_url = request.args.get('next') or url_for('get_repos')

        if token is None:
            flash('You denied the request to sign in.')
            return redirect(next_url)

        user_response = github.get('user', params={'access_token': token})
        github_id = user_response['id']
        user = User.query.filter_by(github_token=token).first()
        if user is None:
            user = User.query.filter_by(github_id=github_id).first()
        if user is None:
            user = User(token)
            db.session.add(user)

        user.github_token = token
        user.github_id = github_id
        user.name = user_response['login']
        g.user = user

        emails = user.get_emails_from_github()
        user.email = [e['email'] for e in emails if e['primary']][0]
        db.session.commit()
        session['user_id'] = user.id

        if len(emails) > 1:
            return redirect(url_for('select_email'))
        else:
            return redirect(next_url)
コード例 #6
0
 def fixture(self):
     u1 = User('u1')
     u1.email = 'test@test'
     u2 = User('u2')
     u2.email = 'test@test'
     r1 = Repo('r1', u1)
     r2 = Repo('r2', u2)
     p1 = Package('p1')
     p2 = Package('p2')
     req1 = Requirement(r1, p1)
     req2 = Requirement(r2, p1)
     req3 = Requirement(r2, p2)
     db.session.add(u1)
     db.session.add(u2)
     db.session.add(req1)
     db.session.add(req2)
     db.session.add(req3)
     db.session.commit()
     return locals()