Enable automatic generation of scenarios.
This commit is contained in:
parent
ce04805856
commit
189bf0e19d
|
@ -10,12 +10,13 @@ import http
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_bdd as bdd
|
import pytest_bdd as bdd
|
||||||
import requests
|
import requests
|
||||||
from pytest import mark
|
|
||||||
from pytest_bdd import parsers
|
from pytest_bdd import parsers
|
||||||
|
|
||||||
from rookeries.users import models
|
from rookeries.users import models
|
||||||
from tests import utils
|
from tests import utils
|
||||||
|
|
||||||
|
bdd.scenarios('user_management.feature')
|
||||||
|
|
||||||
# TODO: Add tests to make sure users can't modify each other's profiles, etc.
|
# TODO: Add tests to make sure users can't modify each other's profiles, etc.
|
||||||
# TODO: Add in a new role that is super-admin, maybe?
|
# TODO: Add in a new role that is super-admin, maybe?
|
||||||
# TODO: Add scenarios regarding subscriber users.
|
# TODO: Add scenarios regarding subscriber users.
|
||||||
|
@ -66,111 +67,10 @@ SAMPLE_USERS_REQUEST = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can create a new admin user')
|
|
||||||
def test_admin_user_creation_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can create a new editor user')
|
|
||||||
def test_editor_user_creation_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Editor user can not create a new admin user')
|
|
||||||
def test_admin_user_creation_by_editor():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Editor user can not create a new editor user')
|
|
||||||
def test_editor_user_creation_by_editor():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can get an existing admin user')
|
|
||||||
def test_admin_user_fetch_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can get an existing editor user')
|
|
||||||
def test_editor_user_fetch_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can not get an non-existent user')
|
|
||||||
def test_non_existent_user_fetch_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@bdd.scenario('user_management.feature', 'Subscriber user can not get an existing admin user')
|
|
||||||
def test_admin_user_fetch_by_anyone():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@bdd.scenario('user_management.feature', 'Subscriber user can not get an existing editor user')
|
|
||||||
def test_editor_user_fetch_by_anyone():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@bdd.scenario('user_management.feature', 'Editor user can not get an existing admin user')
|
|
||||||
def test_admin_user_fetch_by_editor():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Editor user can not get an existing editor user that is not me')
|
|
||||||
def test_editor_user_fetch_by_editor():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can modify an admin user')
|
|
||||||
def test_admin_user_modification_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can modify an editor user')
|
|
||||||
def test_editor_user_modification_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Editor user can not modify an editor user that is not self')
|
|
||||||
def test_editor_user_modification_by_editor():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Editor user can modify their own user')
|
|
||||||
def test_self_user_modification_by_editor():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can delete an admin user')
|
|
||||||
def test_admin_user_deletion_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Admin user can delete an editor user')
|
|
||||||
def test_editor_user_deletion_by_admin():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@mark.skip(reason="Test scenarios need work")
|
|
||||||
@bdd.scenario('user_management.feature', 'Editor user can not delete an editor user')
|
|
||||||
def test_editor_user_deletion_by_editor():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
# Step definitions here.
|
# Step definitions here.
|
||||||
|
|
||||||
@bdd.given(parsers.parse('I am an {user_role} user'))
|
@bdd.given(parsers.parse('I am an {user_role} user'))
|
||||||
|
@bdd.given(parsers.parse('I am a {user_role} user'))
|
||||||
def jwt_token(user_role, api_base_uri, admin_user, editor_user, subscriber_user, non_existent_user):
|
def jwt_token(user_role, api_base_uri, admin_user, editor_user, subscriber_user, non_existent_user):
|
||||||
|
|
||||||
# TODO: Improve selection of fixtures.
|
# TODO: Improve selection of fixtures.
|
||||||
|
@ -193,6 +93,7 @@ def jwt_token(user_role, api_base_uri, admin_user, editor_user, subscriber_user,
|
||||||
|
|
||||||
|
|
||||||
@bdd.given(parsers.parse('I create an {user_role} user'))
|
@bdd.given(parsers.parse('I create an {user_role} user'))
|
||||||
|
@bdd.given(parsers.parse('I create a {user_role} user'))
|
||||||
def create_user_response(user_role, jwt_token, api_base_uri):
|
def create_user_response(user_role, jwt_token, api_base_uri):
|
||||||
user_creation_request = SAMPLE_USERS_REQUEST[user_role]
|
user_creation_request = SAMPLE_USERS_REQUEST[user_role]
|
||||||
response = requests.post(
|
response = requests.post(
|
||||||
|
@ -207,6 +108,7 @@ def create_user_response(user_role, jwt_token, api_base_uri):
|
||||||
|
|
||||||
|
|
||||||
@bdd.given(parsers.parse('I get an {user_role} user'))
|
@bdd.given(parsers.parse('I get an {user_role} user'))
|
||||||
|
@bdd.given(parsers.parse('I get a {user_role} user'))
|
||||||
def get_user_response(user_role, jwt_token, api_base_uri, admin_user, editor_user, subscriber_user, non_existent_user):
|
def get_user_response(user_role, jwt_token, api_base_uri, admin_user, editor_user, subscriber_user, non_existent_user):
|
||||||
|
|
||||||
user_info = non_existent_user
|
user_info = non_existent_user
|
||||||
|
@ -235,6 +137,7 @@ def assert_create_user_response(user_role, create_user_response, admin_user, edi
|
||||||
|
|
||||||
|
|
||||||
@bdd.then(parsers.parse('I can get an {user_role} user profile'))
|
@bdd.then(parsers.parse('I can get an {user_role} user profile'))
|
||||||
|
@bdd.then(parsers.parse('I can get a {user_role} user profile'))
|
||||||
def assert_user_profile(user_role, get_user_response, admin_user, editor_user, subscriber_user, non_existent_user):
|
def assert_user_profile(user_role, get_user_response, admin_user, editor_user, subscriber_user, non_existent_user):
|
||||||
|
|
||||||
# TODO: Add in actual user profiles...
|
# TODO: Add in actual user profiles...
|
||||||
|
|
|
@ -2,27 +2,38 @@ Feature: User Management
|
||||||
The user endpoints allows an app admin user to create, modify and delete users. User can modify their profiles.
|
The user endpoints allows an app admin user to create, modify and delete users. User can modify their profiles.
|
||||||
|
|
||||||
|
|
||||||
Scenario: Admin user can create a new admin user
|
#Scenario: Admin user can create a new admin user
|
||||||
Given I am an admin user
|
# Given I am an admin user
|
||||||
And I create an admin user
|
# And I create an admin user
|
||||||
Then I get a new admin user
|
# Then I get a new admin user
|
||||||
And I can get an admin user profile
|
# And I can get an admin user profile
|
||||||
|
#
|
||||||
Scenario: Admin user can create a new editor user
|
#Scenario: Admin user can create a new editor user
|
||||||
Given I am an admin user
|
# Given I am an admin user
|
||||||
And I create an editor user
|
# And I create an editor user
|
||||||
Then I get a new editor user
|
# Then I get a new editor user
|
||||||
And I can get an editor user profile
|
# And I can get an editor user profile
|
||||||
|
#
|
||||||
Scenario: Editor user can not create a new admin user
|
#Scenario: Admin user can create a new subscriber user
|
||||||
Given I am an editor user
|
# Given I am an admin user
|
||||||
And I create an admin user
|
# And I create a subscriber user
|
||||||
Then I can get an unauthorized response
|
# Then I get a new subscriber user
|
||||||
|
# And I can get a subscriber user profile
|
||||||
Scenario: Editor user can not create a new editor user
|
#
|
||||||
Given I am an editor user
|
#Scenario: Editor user can not create a new admin user
|
||||||
And I create an editor user
|
# Given I am an editor user
|
||||||
Then I get an unauthorized response
|
# And I create an admin user
|
||||||
|
# Then I can get an unauthorized response
|
||||||
|
#
|
||||||
|
#Scenario: Editor user can not create a new subscriber user
|
||||||
|
# Given I am an editor user
|
||||||
|
# And I create a subscriber user
|
||||||
|
# Then I get an unauthorized response
|
||||||
|
#
|
||||||
|
#Scenario: Editor user can not create a new editor user
|
||||||
|
# Given I am an editor user
|
||||||
|
# And I create an editor user
|
||||||
|
# Then I get an unauthorized response
|
||||||
|
|
||||||
Scenario: Admin user can get an existing admin user
|
Scenario: Admin user can get an existing admin user
|
||||||
Given I am an admin user
|
Given I am an admin user
|
||||||
|
@ -43,68 +54,98 @@ Scenario: Editor user can not get an existing admin user
|
||||||
Given I am an editor user
|
Given I am an editor user
|
||||||
And I get an admin user
|
And I get an admin user
|
||||||
Then I get an unauthorized response
|
Then I get an unauthorized response
|
||||||
|
#
|
||||||
Scenario: Editor user can not get an existing editor user that is not me
|
#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 my own profile
|
||||||
Given I am an editor user
|
# Given I am an editor user
|
||||||
And I get myself
|
# And I get myself
|
||||||
Then I can get my own user profile
|
# Then I can get my own 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 an subscriber user
|
Given I am a subscriber user
|
||||||
And I get an admin user
|
And I get an admin user
|
||||||
Then I get an unauthorized response
|
Then I get an unauthorized response
|
||||||
|
|
||||||
Scenario: Subscriber user can not get an existing editor user
|
Scenario: Subscriber user can not get an existing editor user
|
||||||
Given I am an subscriber user
|
Given I am a subscriber 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: Subscriber user can not get an subscriber user that is not me
|
#Scenario: Subscriber user can not get an subscriber user that is not me
|
||||||
Given I am an subscriber user
|
# Given I am a subscriber user
|
||||||
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 my own profile
|
||||||
Given I am an subscriber user
|
# Given I am a subscriber user
|
||||||
And I get myself
|
# And I get myself
|
||||||
Then I can get my own user profile
|
# Then I can get my own 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
|
||||||
And I modify the admin user
|
# And I modify an admin user
|
||||||
Then my updates to the admin user are preserved
|
# Then my updates to the admin user are preserved
|
||||||
|
#
|
||||||
Scenario: Admin user can modify an editor user
|
#Scenario: Admin user can modify an editor user
|
||||||
Given I am an admin user
|
# Given I am an admin user
|
||||||
And I modify the editor user
|
# And I modify an editor user
|
||||||
Then my updates to the editor user are preserved
|
# Then my updates to the editor user are preserved
|
||||||
|
#
|
||||||
Scenario: Editor user can not modify an editor user that is not self
|
#Scenario: Admin user can modify an subscriber user
|
||||||
Given I am an editor user
|
# Given I am an admin user
|
||||||
And I modify the editor user
|
# And I modify a subscriber user
|
||||||
Then I get an unauthorized response
|
# Then my updates to the subscriber user are preserved
|
||||||
|
#
|
||||||
Scenario: Editor user can modify their own user
|
#Scenario: Editor user can not modify an admin user
|
||||||
Given I am an editor user
|
# Given I am an editor user
|
||||||
And I modify my user
|
# And I modify an admin user
|
||||||
Then my updates to the editor user are preserved
|
# Then I get an unauthorized response
|
||||||
|
#
|
||||||
Scenario: Admin user can delete an admin user
|
#Scenario: Editor user can not modify an editor user that is not self
|
||||||
Given I am an admin user
|
# Given I am an editor user
|
||||||
And I delete the admin user
|
# And I modify an editor user
|
||||||
Then I get a messages that the admin user is deleted
|
# Then I get an unauthorized response
|
||||||
|
#
|
||||||
Scenario: Admin user can delete an editor user
|
#Scenario: Editor user can modify their own user
|
||||||
Given I am an admin user
|
# Given I am an editor user
|
||||||
And I delete the editor user
|
# And I modify my user
|
||||||
Then I get a messages that the editor user is deleted
|
# Then my updates to the editor user are preserved
|
||||||
|
#
|
||||||
Scenario: Editor user can not delete an editor user
|
#Scenario: Editor user can not modify a subscriber user
|
||||||
Given I am an editor user
|
# Given I am an editor user
|
||||||
And I delete the editor user
|
# And I modify a subscriber user
|
||||||
Then I get an unauthorized response
|
# Then I get an unauthorized response
|
||||||
|
#
|
||||||
|
#Scenario: Admin user can delete an admin user
|
||||||
|
# Given I am an admin user
|
||||||
|
# And I delete an admin user
|
||||||
|
# Then I get a messages that the admin user is deleted
|
||||||
|
#
|
||||||
|
#Scenario: Admin user can delete an editor user
|
||||||
|
# Given I am an admin user
|
||||||
|
# And I delete the editor user
|
||||||
|
# Then I get a messages that the editor user is deleted
|
||||||
|
#
|
||||||
|
#Scenario: Admin user can delete an subscriber user
|
||||||
|
# Given I am an admin user
|
||||||
|
# And I delete a subscriber user
|
||||||
|
# Then I get a messages that the subscriber user is deleted
|
||||||
|
#
|
||||||
|
#Scenario: Editor user can not delete an admin user
|
||||||
|
# Given I am an editor user
|
||||||
|
# And I delete an admin user
|
||||||
|
# Then I get an unauthorized response
|
||||||
|
#
|
||||||
|
#Scenario: Editor user can not delete an editor user
|
||||||
|
# Given I am an editor user
|
||||||
|
# And I delete an editor user
|
||||||
|
# Then I get an unauthorized response
|
||||||
|
#
|
||||||
|
#Scenario: Editor user can not delete an editor user
|
||||||
|
# Given I am an editor user
|
||||||
|
# And I delete a subscriber user
|
||||||
|
# Then I get an unauthorized response
|
||||||
|
|
Loading…
Reference in New Issue