Fix login with robot to quay-appr
This commit is contained in:
parent
f5ab03070c
commit
578f87f94c
6 changed files with 63 additions and 52 deletions
|
@ -1,29 +1,28 @@
|
|||
import json
|
||||
|
||||
from flask import url_for
|
||||
import pytest
|
||||
|
||||
from data import model
|
||||
from endpoints.appr.registry import appr_bp
|
||||
from test.fixtures import app, appconfig, database_uri, init_db_path, sqlitedb_file
|
||||
|
||||
def test_invalid_login(app, client):
|
||||
app.register_blueprint(appr_bp, url_prefix='/cnr')
|
||||
|
||||
@pytest.mark.parametrize('login_data, expected_code', [
|
||||
({"username": "devtable", "password": "password"}, 200),
|
||||
({"username": "devtable", "password": "badpass"}, 401),
|
||||
({"username": "devtable+dtrobot", "password": "badpass"}, 401),
|
||||
({"username": "devtable+dtrobot2", "password": None}, 200),
|
||||
])
|
||||
def test_login(login_data, expected_code, app, client):
|
||||
if "+" in login_data['username'] and login_data['password'] is None:
|
||||
username, robotname = login_data['username'].split("+")
|
||||
_, login_data['password'] = model.user.create_robot(robotname, model.user.get_user(username))
|
||||
app.register_blueprint(appr_bp, url_prefix='/cnr')
|
||||
url = url_for('appr.login')
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
data = {'user': {'username': 'foo', 'password': 'bar'}}
|
||||
data = {'user': login_data}
|
||||
|
||||
rv = client.open(url, method='POST', data=json.dumps(data), headers=headers)
|
||||
assert rv.status_code == 401
|
||||
|
||||
|
||||
def test_valid_login(app, client):
|
||||
app.register_blueprint(appr_bp, url_prefix='/cnr')
|
||||
|
||||
url = url_for('appr.login')
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
data = {'user': {'username': 'devtable', 'password': 'password'}}
|
||||
|
||||
rv = client.open(url, method='POST', data=json.dumps(data), headers=headers)
|
||||
assert rv.status_code == 200
|
||||
assert rv.status_code == expected_code
|
||||
|
||||
|
|
Reference in a new issue