Add tests for getting own user accounts.
This commit is contained in:
parent
b2f115498b
commit
103d11b654
|
@ -73,13 +73,20 @@ def create_new_user_response(user_role, jwt_token, api_base_uri):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@bdd.given(parsers.parse('I get an {user_role} user'), target_fixture='user_response')
|
def parse_self_other(text):
|
||||||
@bdd.given(parsers.parse('I get a {user_role} user'), target_fixture='user_response')
|
return text.lower() == 'my'
|
||||||
def get_existing_user_response(user_role, jwt_token, api_base_uri, db_engine):
|
|
||||||
|
|
||||||
existing_user = USER_TEMPLATES['target_data']['non-existent']
|
|
||||||
if not user_role == 'non-existent':
|
@bdd.given(parsers.parse('I get {self_classifier:self_other} {user_role} user', {'self_other': parse_self_other}),
|
||||||
|
target_fixture='user_response')
|
||||||
|
def get_user_response(self_classifier, user_role, jwt_token, api_base_uri, db_engine):
|
||||||
|
|
||||||
|
if self_classifier:
|
||||||
|
existing_user = create_user_in_db(db_engine, USER_TEMPLATES['requester'][user_role])
|
||||||
|
elif not self_classifier and not user_role == 'non-existent':
|
||||||
existing_user = create_user_in_db(db_engine, USER_TEMPLATES['target_data'][user_role])
|
existing_user = create_user_in_db(db_engine, USER_TEMPLATES['target_data'][user_role])
|
||||||
|
else:
|
||||||
|
existing_user = USER_TEMPLATES['target_data']['non-existent']
|
||||||
|
|
||||||
return requests.get(
|
return requests.get(
|
||||||
url=f'{api_base_uri}/api/users/{existing_user["username"]}',
|
url=f'{api_base_uri}/api/users/{existing_user["username"]}',
|
||||||
|
@ -98,14 +105,17 @@ def assert_create_user_response(user_role, create_user_response):
|
||||||
assert create_user_response.json() == expected_user_creation_response
|
assert create_user_response.json() == expected_user_creation_response
|
||||||
|
|
||||||
|
|
||||||
@bdd.then(parsers.parse('I can get an {user_role} user profile'))
|
@bdd.then(parsers.parse('I can get {self_classifier:self_other} {user_role} user profile',
|
||||||
@bdd.then(parsers.parse('I can get a {user_role} user profile'))
|
{'self_other': parse_self_other}))
|
||||||
def assert_user_profile(user_role, user_response, db_engine):
|
def assert_user_profile(self_classifier, user_role, user_response, db_engine):
|
||||||
|
|
||||||
# TODO: Add in actual user profiles...
|
# TODO: Add in actual user profiles...
|
||||||
existing_user = USER_TEMPLATES['target_data']['non-existent']
|
if self_classifier:
|
||||||
if not user_role == 'non-existent':
|
existing_user = create_user_in_db(db_engine, USER_TEMPLATES['requester'][user_role])
|
||||||
|
elif not self_classifier and not user_role == 'non-existent':
|
||||||
existing_user = create_user_in_db(db_engine, USER_TEMPLATES['target_data'][user_role])
|
existing_user = create_user_in_db(db_engine, USER_TEMPLATES['target_data'][user_role])
|
||||||
|
else:
|
||||||
|
existing_user = USER_TEMPLATES['target_data']['non-existent']
|
||||||
|
|
||||||
assert user_response.status_code == http.HTTPStatus.OK
|
assert user_response.status_code == http.HTTPStatus.OK
|
||||||
expected_user_creation_response = existing_user
|
expected_user_creation_response = existing_user
|
||||||
|
|
|
@ -45,6 +45,11 @@ Scenario: Admin user can get an existing editor user
|
||||||
And I get an editor user
|
And I get an editor user
|
||||||
Then I can get an editor user profile
|
Then I can get an editor user profile
|
||||||
|
|
||||||
|
Scenario: Admin user can get own profile
|
||||||
|
Given I am an admin user
|
||||||
|
And I get my admin user
|
||||||
|
Then I can get my admin user profile
|
||||||
|
|
||||||
Scenario: Admin user can not get an non-existent user
|
Scenario: Admin user can not get an non-existent user
|
||||||
Given I am an admin user
|
Given I am an admin user
|
||||||
And I get an non-existent user
|
And I get an non-existent user
|
||||||
|
@ -59,11 +64,11 @@ Scenario: Editor user can not get an existing editor user that is not me
|
||||||
Given I am an editor user
|
Given I am an editor user
|
||||||
And I get an editor user
|
And I get an editor user
|
||||||
Then I get an unauthorized response
|
Then I get an unauthorized response
|
||||||
#
|
|
||||||
#Scenario: Editor user can get my own profile
|
Scenario: Editor user can get own profile
|
||||||
# Given I am an editor user
|
Given I am an editor user
|
||||||
# And I get myself
|
And I get my editor user
|
||||||
# Then I can get my own user profile
|
Then I can get my editor user profile
|
||||||
|
|
||||||
Scenario: Subscriber user can not get an existing admin user
|
Scenario: Subscriber user can not get an existing admin user
|
||||||
Given I am a subscriber user
|
Given I am a subscriber user
|
||||||
|
@ -80,10 +85,11 @@ Scenario: Subscriber user can not get an subscriber user that is not me
|
||||||
And I get an subscriber user
|
And I get an subscriber user
|
||||||
Then I get an unauthorized response
|
Then I get an unauthorized response
|
||||||
|
|
||||||
#Scenario: Subscriber user can get my own profile
|
Scenario: Subscriber user can get own profile
|
||||||
# Given I am a subscriber user
|
Given I am a subscriber user
|
||||||
# And I get myself
|
And I get my subscriber user
|
||||||
# Then I can get my own user profile
|
Then I can get my subscriber user profile
|
||||||
|
|
||||||
#
|
#
|
||||||
#Scenario: Admin user can modify an admin user
|
#Scenario: Admin user can modify an admin user
|
||||||
# Given I am an admin user
|
# Given I am an admin user
|
||||||
|
|
Loading…
Reference in New Issue