mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-22 00:11:16 -05:00
Manage template permission added. All tests passing.
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
36
migrations/versions/0030_add_template_permission.py
Normal file
36
migrations/versions/0030_add_template_permission.py
Normal 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 ###
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user