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)
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')
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()