Manage template permission added. All tests passing.

This commit is contained in:
Nicholas Staples
2016-02-29 15:21:35 +00:00
parent bf4417c05f
commit 8ad13b6356
3 changed files with 46 additions and 5 deletions

View File

@@ -7,8 +7,9 @@ from werkzeug.datastructures import MultiDict
manage_service = 'manage_service' manage_service = 'manage_service'
send_messages = 'send_messages' send_messages = 'send_messages'
manage_api_keys = 'manage_api_keys' manage_api_keys = 'manage_api_keys'
manage_templates = 'manage_templates'
# Default permissions for a service # Default permissions for a service
default_service_permissions = [manage_service, send_messages, manage_api_keys] default_service_permissions = [manage_service, send_messages, manage_api_keys, manage_templates]
class PermissionDAO(DAOClass): class PermissionDAO(DAOClass):

View File

@@ -0,0 +1,36 @@
"""empty message
Revision ID: 0030_add_template_permission
Revises: 0029_add_permissions_to_invite
Create Date: 2016-02-26 10:33:20.536362
"""
# revision identifiers, used by Alembic.
revision = '0030_add_template_permission'
down_revision = '0029_add_permissions_to_invite'
import uuid
from datetime import datetime
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
def upgrade():
### commands auto generated by Alembic - please adjust! ###
conn = op.get_bind()
user_services = conn.execute("SELECT * FROM user_to_service").fetchall()
for entry in user_services:
id_ = uuid.uuid4()
created_at = datetime.now().isoformat().replace('T', ' ')
conn.execute((
"INSERT INTO permissions (id, user_id, service_id, permission, created_at)"
" VALUES ('{}', '{}', '{}', 'manage_templates', '{}')").format(id_, entry[0], entry[1], created_at))
### end Alembic commands ###
def downgrade():
### commands auto generated by Alembic - please adjust! ###
conn = op.get_bind()
conn.execute("DELETE FROM permissions where permission='manage_templates")
### end Alembic commands ###

View File

@@ -30,7 +30,8 @@ def test_get_user_list(notify_api, notify_db, notify_db_session, sample_user, sa
"state": "active", "state": "active",
"failed_login_count": 0, "failed_login_count": 0,
"permissions": { "permissions": {
str(sample_admin_service_id): ['manage_service', 'send_messages', 'manage_api_keys']} str(sample_admin_service_id): [
'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']}
} }
print(json_resp['data']) print(json_resp['data'])
assert expected in json_resp['data'] assert expected in json_resp['data']
@@ -60,7 +61,8 @@ def test_get_user(notify_api, notify_db, notify_db_session, sample_user, sample_
"state": "active", "state": "active",
"failed_login_count": 0, "failed_login_count": 0,
"permissions": { "permissions": {
str(sample_admin_service_id): ['manage_service', 'send_messages', 'manage_api_keys']} str(sample_admin_service_id): [
'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']}
} }
assert json_resp['data'] == expected assert json_resp['data'] == expected
@@ -200,7 +202,8 @@ def test_put_user(notify_api, notify_db, notify_db_session, sample_user, sample_
"state": "active", "state": "active",
"failed_login_count": 0, "failed_login_count": 0,
"permissions": { "permissions": {
str(sample_admin_service_id): ['manage_service', 'send_messages', 'manage_api_keys']} str(sample_admin_service_id): [
'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']}
} }
assert json_resp['data'] == expected assert json_resp['data'] == expected
assert json_resp['data']['email_address'] == new_email assert json_resp['data']['email_address'] == new_email
@@ -299,7 +302,8 @@ def test_get_user_by_email(notify_api, notify_db, notify_db_session, sample_user
"state": "active", "state": "active",
"failed_login_count": 0, "failed_login_count": 0,
"permissions": { "permissions": {
str(sample_admin_service_id): ['manage_service', 'send_messages', 'manage_api_keys']} str(sample_admin_service_id): [
'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']}
} }
assert json_resp['data'] == expected assert json_resp['data'] == expected