An ebook/comic library service and web client
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
from flask import json from flask.testing import FlaskClient
from tests.conftest import AuthActions
def test_get_user_happy_path(auth: AuthActions, client: FlaskClient): auth.login() auth_header = auth.get_authorization_header_token() result = client.get( '/user/{}'.format(client.application.config['test_username']), headers={ auth_header[0]: auth_header[1] }) assert 200 == result.status_code assert result.json is not None assert result.json['name'] == client.application.config['test_username']
def test_register_user_happy_path(auth: AuthActions, client: FlaskClient): auth.login() auth_header = auth.get_authorization_header_token() result = client.post( '/user/', data=json.dumps({ 'name': 'test_registered_user' }), headers={ auth_header[0]: auth_header[1], 'Content-Type': 'application/json' }) assert 200 == result.status_code assert result.json is not None assert result.json['name'] == 'test_registered_user'
def test_register_user_twice_failure(auth: AuthActions, client: FlaskClient): auth.login() auth_header = auth.get_authorization_header_token() result1 = client.post( '/user/', data=json.dumps({ 'name': 'test_registered_user' }), headers={ auth_header[0]: auth_header[1], 'Content-Type': 'application/json' }) result2 = client.post( '/user/', data=json.dumps({ 'name': 'test_registered_user' }), headers={ auth_header[0]: auth_header[1], 'Content-Type': 'application/json' }) assert 200 == result1.status_code assert result1.json is not None assert result1.json['name'] == 'test_registered_user' assert 400 == result2.status_code assert result2.json is not None assert result2.json['message'] == 'User name is already taken.'
|