Я работаю над своим первым учебным проектом «сначала тесты» с нуля.
Я действительно не знаю, как проводить тесты для проверки значений переменных внутри функции, поэтому для строк, содержащих переменные token
и user
Мне не удалось найти способ сначала написать тест:
clientapp / __ init.py
from flask import Flask, request, url_for, session
import config as cfg
from logging import dictConfig
from authlib.integrations.flask_client import OAuth
# flask app.logger
dictConfig{ ... }
# out of create_app() to be easy to import to tests
oauth = OAuth()
def create_app():
app = Flask(__name__)
app.secret_key = 'wtf'
app.config['OP_CLIENT_ID'] = cfg.CLIENT_ID
app.config['OP_CLIENT_SECRET'] = cfg.CLIENT_SECRET
oauth.init_app(app)
oauth.register('op',
... )
@app.route('/protected-content', methods=['GET'])
def protected_content():
if 'profile' in session:
return {},200
else:
return redirect(url_for('login'))
@app.route('/login')
def login():
app.logger.info('/login requested')
redirect_uri = cfg.REDIRECT_URIS[0]
app.logger.debug('/login redirect_uri = %s' % redirect_uri)
response = oauth.op.authorize_redirect(redirect_uri)
app.logger.debug('/login authorize_redirect(redirect_uri) url = %s' % response.location)
return response
@app.route('/callback')
def callback():
try:
if not request.args['code']:
return 400
app.logger.info('/callback - received %s - %s' % (request.method, request.query_string))
token = oauth.op.authorize_access_token()
app.logger.debug('/callback - token = %s' % token)
user = oauth.op.parse_id_token(token)
app.logger.debug('/callback - user = %s' % user)
session['user'] = user
app.logger.debug('/callback - cookies = %s' % request.cookies)
app.logger.debug('/callback - session = %s' % session)
return redirect('/')
except (MismatchingStateError, OAuthError) as error:
app.logger.error(error)
return {},400
return app
Какую практику рекомендуется проверить это переменные?