API keys hooked up and working. All tests passing.

This commit is contained in:
Nicholas Staples
2016-02-29 14:57:07 +00:00
parent 96e7239064
commit 48943527ec
11 changed files with 83 additions and 31 deletions

View File

@@ -57,14 +57,15 @@ def create_test_user(state):
return user
def create_test_api_user(state):
def create_test_api_user(state, permissions={}):
from app.notify_client.user_api_client import User
user_data = {'id': 1,
'name': 'Test User',
'password': 'somepassword',
'email_address': TEST_USER_EMAIL,
'mobile_number': '+441234123412',
'state': state
'state': state,
'permissions': permissions
}
user = User(user_data)
return user

View File

@@ -21,7 +21,8 @@ def test_should_show_empty_api_keys_page(app_,
mock_get_user,
mock_get_user_by_email,
mock_get_no_api_keys,
mock_login):
mock_login,
mock_has_permissions):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)
@@ -39,7 +40,8 @@ def test_should_show_api_keys_page(app_,
mock_get_user,
mock_get_user_by_email,
mock_get_api_keys,
mock_login):
mock_login,
mock_has_permissions):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)
@@ -58,7 +60,8 @@ def test_should_show_name_api_key_page(app_,
mock_get_user,
mock_get_user_by_email,
mock_get_api_keys,
mock_login):
mock_login,
mock_has_permissions):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)
@@ -74,7 +77,8 @@ def test_should_render_show_api_key(app_,
mock_get_user_by_email,
mock_create_api_key,
mock_get_api_keys,
mock_login):
mock_login,
mock_has_permissions):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)
@@ -92,7 +96,8 @@ def test_should_show_confirm_revoke_api_key(app_,
mock_get_user,
mock_get_user_by_email,
mock_get_api_keys,
mock_login):
mock_login,
mock_has_permissions):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)
@@ -110,7 +115,8 @@ def test_should_redirect_after_revoking_api_key(app_,
mock_get_user_by_email,
mock_revoke_api_key,
mock_get_api_keys,
mock_login):
mock_login,
mock_has_permissions):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)

View File

@@ -195,7 +195,8 @@ def api_user_pending():
'email_address': 'test@user.gov.uk',
'mobile_number': '+4412341234',
'state': 'pending',
'failed_login_count': 0
'failed_login_count': 0,
'permissions': {}
}
user = User(user_data)
return user
@@ -210,7 +211,8 @@ def api_user_active():
'email_address': 'test@user.gov.uk',
'mobile_number': '+4412341234',
'state': 'active',
'failed_login_count': 0
'failed_login_count': 0,
'permissions': {}
}
user = User(user_data)
return user
@@ -225,7 +227,8 @@ def api_user_locked():
'email_address': 'test@user.gov.uk',
'mobile_number': '+4412341234',
'state': 'active',
'failed_login_count': 5
'failed_login_count': 5,
'permissions': {}
}
user = User(user_data)
return user
@@ -240,7 +243,8 @@ def api_user_request_password_reset():
'email_address': 'test@user.gov.uk',
'mobile_number': '+4412341234',
'state': 'request_password_reset',
'failed_login_count': 5
'failed_login_count': 5,
'permissions': {}
}
user = User(user_data)
return user
@@ -501,3 +505,12 @@ def mock_get_jobs(mocker):
data.append(job_data)
return {"data": data}
return mocker.patch('app.job_api_client.get_job', side_effect=_get_jobs)
@pytest.fixture(scope='function')
def mock_has_permissions(mocker):
def _has_permission(service_id, permissions):
return True
return mocker.patch(
'app.notify_client.user_api_client.User.has_permissions',
side_effect=_has_permission)