Enable automatic generation of scenarios.
This commit is contained in:
parent
ce04805856
commit
189bf0e19d
|
@ -10,12 +10,13 @@ import http
|
|||
import pytest
|
||||
import pytest_bdd as bdd
|
||||
import requests
|
||||
from pytest import mark
|
||||
from pytest_bdd import parsers
|
||||
|
||||
from rookeries.users import models
|
||||
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 in a new role that is super-admin, maybe?
|
||||
# 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.
|
||||
|
||||
@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):
|
||||
|
||||
# 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 a {user_role} user'))
|
||||
def create_user_response(user_role, jwt_token, api_base_uri):
|
||||
user_creation_request = SAMPLE_USERS_REQUEST[user_role]
|
||||
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 a {user_role} 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
|
||||
|
@ -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 a {user_role} user profile'))
|
||||
def assert_user_profile(user_role, get_user_response, admin_user, editor_user, subscriber_user, non_existent_user):
|
||||
|
||||
# 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.
|
||||
|
||||
|
||||
Scenario: Admin user can create a new admin user
|
||||
Given I am an admin user
|
||||
And I create an admin user
|
||||
Then I get a new admin user
|
||||
And I can get an admin user profile
|
||||
|
||||
Scenario: Admin user can create a new editor user
|
||||
Given I am an admin user
|
||||
And I create an editor user
|
||||
Then I get a new editor user
|
||||
And I can get an editor user profile
|
||||
|
||||
Scenario: Editor user can not create a new admin user
|
||||
Given I am an editor user
|
||||
And I create an admin user
|
||||
Then I can 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 create a new admin user
|
||||
# Given I am an admin user
|
||||
# And I create an admin user
|
||||
# Then I get a new admin user
|
||||
# And I can get an admin user profile
|
||||
#
|
||||
#Scenario: Admin user can create a new editor user
|
||||
# Given I am an admin user
|
||||
# And I create an editor user
|
||||
# Then I get a new editor user
|
||||
# And I can get an editor user profile
|
||||
#
|
||||
#Scenario: Admin user can create a new subscriber user
|
||||
# Given I am an admin user
|
||||
# And I create a subscriber user
|
||||
# Then I get a new subscriber user
|
||||
# And I can get a subscriber user profile
|
||||
#
|
||||
#Scenario: Editor user can not create a new admin user
|
||||
# Given I am an editor user
|
||||
# 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
|
||||
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
|
||||
And I get an admin user
|
||||
Then I get an unauthorized response
|
||||
|
||||
Scenario: Editor user can not get an existing editor user that is not me
|
||||
Given I am an editor user
|
||||
And I get an editor user
|
||||
Then I get an unauthorized response
|
||||
|
||||
Scenario: Editor user can get my own profile
|
||||
Given I am an editor user
|
||||
And I get myself
|
||||
Then I can get my own user profile
|
||||
#
|
||||
#Scenario: Editor user can not get an existing editor user that is not me
|
||||
# Given I am an editor user
|
||||
# And I get an editor user
|
||||
# Then I get an unauthorized response
|
||||
#
|
||||
#Scenario: Editor user can get my own profile
|
||||
# Given I am an editor user
|
||||
# And I get myself
|
||||
# Then I can get my own user profile
|
||||
|
||||
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
|
||||
Then I get an unauthorized response
|
||||
|
||||
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
|
||||
Then I get an unauthorized response
|
||||
|
||||
Scenario: Subscriber user can not get an subscriber user that is not me
|
||||
Given I am an subscriber user
|
||||
And I get an subscriber user
|
||||
Then I get an unauthorized response
|
||||
|
||||
Scenario: Subscriber user can get my own profile
|
||||
Given I am an subscriber user
|
||||
And I get myself
|
||||
Then I can get my own user profile
|
||||
|
||||
Scenario: Admin user can modify an admin user
|
||||
Given I am an admin user
|
||||
And I modify the admin user
|
||||
Then my updates to the admin user are preserved
|
||||
|
||||
Scenario: Admin user can modify an editor user
|
||||
Given I am an admin user
|
||||
And I modify the editor user
|
||||
Then my updates to the editor user are preserved
|
||||
|
||||
Scenario: Editor user can not modify an editor user that is not self
|
||||
Given I am an editor user
|
||||
And I modify the editor user
|
||||
Then I get an unauthorized response
|
||||
|
||||
Scenario: Editor user can modify their own user
|
||||
Given I am an editor user
|
||||
And I modify my user
|
||||
Then my updates to the editor user are preserved
|
||||
|
||||
Scenario: Admin user can delete an admin user
|
||||
Given I am an admin user
|
||||
And I delete the 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: Editor user can not delete an editor user
|
||||
Given I am an editor user
|
||||
And I delete the editor user
|
||||
Then I get an unauthorized response
|
||||
#
|
||||
#Scenario: Subscriber user can not get an subscriber user that is not me
|
||||
# Given I am a subscriber user
|
||||
# And I get an subscriber user
|
||||
# Then I get an unauthorized response
|
||||
#
|
||||
#Scenario: Subscriber user can get my own profile
|
||||
# Given I am a subscriber user
|
||||
# And I get myself
|
||||
# Then I can get my own user profile
|
||||
#
|
||||
#Scenario: Admin user can modify an admin user
|
||||
# Given I am an admin user
|
||||
# And I modify an admin user
|
||||
# Then my updates to the admin user are preserved
|
||||
#
|
||||
#Scenario: Admin user can modify an editor user
|
||||
# Given I am an admin user
|
||||
# And I modify an editor user
|
||||
# Then my updates to the editor user are preserved
|
||||
#
|
||||
#Scenario: Admin user can modify an subscriber user
|
||||
# Given I am an admin user
|
||||
# And I modify a subscriber user
|
||||
# Then my updates to the subscriber user are preserved
|
||||
#
|
||||
#Scenario: Editor user can not modify an admin user
|
||||
# Given I am an editor user
|
||||
# And I modify an admin user
|
||||
# Then I get an unauthorized response
|
||||
#
|
||||
#Scenario: Editor user can not modify an editor user that is not self
|
||||
# Given I am an editor user
|
||||
# And I modify an editor user
|
||||
# Then I get an unauthorized response
|
||||
#
|
||||
#Scenario: Editor user can modify their own user
|
||||
# Given I am an editor user
|
||||
# And I modify my user
|
||||
# Then my updates to the editor user are preserved
|
||||
#
|
||||
#Scenario: Editor user can not modify a subscriber user
|
||||
# Given I am an editor user
|
||||
# And I modify a subscriber user
|
||||
# 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