Example #1
0
 def test_get_secret_and_id_reads_from_env_correctly(self):
     environ['CLIENT_SECRET'] = self.expected_client_secret
     environ['CLIENT_ID'] = self.expected_client_id
     secret, client_id = strava_utils.get_settings()
     self.assertEqual(client_id, self.expected_client_id)
     self.assertEqual(secret, self.expected_client_secret)
Example #2
0
 def test_get_settings_fails_with_no_secret(self):
     environ['CLIENT_ID'] = self.expected_client_id
     self.assertRaisesRegexp(RuntimeError, 'CLIENT_SECRET',
                             strava_utils.get_settings())
Example #3
0
 def test_get_settings_fails_with_no_secret(self):
     environ['CLIENT_ID'] = self.expected_client_id
     self.assertRaisesRegexp(RuntimeError, 'CLIENT_SECRET', strava_utils.get_settings())
Example #4
0
 def test_get_secret_and_id_reads_from_env_correctly(self):
     environ['CLIENT_SECRET'] = self.expected_client_secret
     environ['CLIENT_ID'] = self.expected_client_id
     secret, client_id = strava_utils.get_settings()
     self.assertEqual(client_id, self.expected_client_id)
     self.assertEqual(secret, self.expected_client_secret)
Example #5
0
__author__ = 'jkruck'
from flask import Flask, redirect, url_for, request, session,abort
from strava import strava_utils

Flask.get = lambda self, path: self.route(path, methods=['get'])
Flask.put = lambda self, path: self.route(path, methods=['put'])
Flask.post = lambda self, path: self.route(path, methods=['post'])
Flask.delete = lambda self, path: self.route(path, methods=['delete'])

app = Flask(__name__)
client_secret, client_id = strava_utils.get_settings()
app.secret_key = client_secret
redirect_url = "http://127.0.0.1:5000"


def do_token_exchange(code):
    session.permanent = True
    response = strava_utils.get_token(code)
    if 'message' in response and response['message'] == 'Authorization Error':
        abort(401)
    session['token'] = response['access_token']
    athlete = response['athlete']
    session['athlete_id'] = athlete['id']
    session['athlete_name'] = athlete['firstname'] + " " + athlete['lastname']


@app.get('/')
def get_root():
    #Call back from Strava for token exchange.
    if request.args.get('code'):
        do_token_exchange(request.args.get('code'))