From 47ac0b8a98a521a2e15274282febcc013d536341 Mon Sep 17 00:00:00 2001 From: Nicholas Staples Date: Mon, 29 Feb 2016 18:32:25 +0000 Subject: [PATCH 1/3] Fixed some tests. --- app/dao/permissions_dao.py | 10 +++++++++- tests/app/user/test_rest.py | 12 ++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/dao/permissions_dao.py b/app/dao/permissions_dao.py index 601a95293..d7215ee58 100644 --- a/app/dao/permissions_dao.py +++ b/app/dao/permissions_dao.py @@ -8,8 +8,16 @@ manage_service = 'manage_service' send_messages = 'send_messages' manage_api_keys = 'manage_api_keys' manage_templates = 'manage_templates' +manage_team = 'manage_team' +view_activity = 'view_activity' # Default permissions for a service -default_service_permissions = [manage_service, send_messages, manage_api_keys, manage_templates] +default_service_permissions = [ + manage_service, + send_messages, + manage_api_keys, + manage_templates, + manage_team, + view_activity] class PermissionDAO(DAOClass): diff --git a/tests/app/user/test_rest.py b/tests/app/user/test_rest.py index c0553cce9..57fb0827a 100644 --- a/tests/app/user/test_rest.py +++ b/tests/app/user/test_rest.py @@ -31,7 +31,8 @@ def test_get_user_list(notify_api, notify_db, notify_db_session, sample_user, sa "failed_login_count": 0, "permissions": { str(sample_admin_service_id): [ - 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']} + 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates', + 'manage_team', 'view_activity']} } print(json_resp['data']) assert expected in json_resp['data'] @@ -62,7 +63,8 @@ def test_get_user(notify_api, notify_db, notify_db_session, sample_user, sample_ "failed_login_count": 0, "permissions": { str(sample_admin_service_id): [ - 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']} + 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates', + 'manage_team', 'view_activity']} } assert json_resp['data'] == expected @@ -203,7 +205,8 @@ def test_put_user(notify_api, notify_db, notify_db_session, sample_user, sample_ "failed_login_count": 0, "permissions": { str(sample_admin_service_id): [ - 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']} + 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates', + 'manage_team', 'view_activity']} } assert json_resp['data'] == expected assert json_resp['data']['email_address'] == new_email @@ -303,7 +306,8 @@ def test_get_user_by_email(notify_api, notify_db, notify_db_session, sample_user "failed_login_count": 0, "permissions": { str(sample_admin_service_id): [ - 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates']} + 'manage_service', 'send_messages', 'manage_api_keys', 'manage_templates', + 'manage_team', 'view_activity']} } assert json_resp['data'] == expected From 22f550dd3499d7d063501a2940a716d42362f6bc Mon Sep 17 00:00:00 2001 From: Nicholas Staples Date: Tue, 1 Mar 2016 11:45:54 +0000 Subject: [PATCH 2/3] Add missing file. --- .../0031_add_manage_team_permission.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 migrations/versions/0031_add_manage_team_permission.py diff --git a/migrations/versions/0031_add_manage_team_permission.py b/migrations/versions/0031_add_manage_team_permission.py new file mode 100644 index 000000000..f90e5aff2 --- /dev/null +++ b/migrations/versions/0031_add_manage_team_permission.py @@ -0,0 +1,40 @@ +"""empty message + +Revision ID: 0031_add_manage_team_permission +Revises: 0030_add_template_permission +Create Date: 2016-02-26 10:33:20.536362 + +""" + +# revision identifiers, used by Alembic. +revision = '0031_add_manage_team_permission' +down_revision = '0030_add_template_permission' +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_team', '{}')").format(id_, entry[0], entry[1], created_at)) + conn.execute(( + "INSERT INTO permissions (id, user_id, service_id, permission, created_at)" + " VALUES ('{}', '{}', '{}', 'view_activity', '{}')").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_team'") + conn.execute("DELETE FROM permissions where permission='view_activity'") + + ### end Alembic commands ### \ No newline at end of file From a2f021efad89f01c371e40f61e93c443d1975c22 Mon Sep 17 00:00:00 2001 From: Nicholas Staples Date: Tue, 1 Mar 2016 14:22:46 +0000 Subject: [PATCH 3/3] Fix git review. --- migrations/versions/0031_add_manage_team_permission.py | 1 + 1 file changed, 1 insertion(+) diff --git a/migrations/versions/0031_add_manage_team_permission.py b/migrations/versions/0031_add_manage_team_permission.py index f90e5aff2..05413da45 100644 --- a/migrations/versions/0031_add_manage_team_permission.py +++ b/migrations/versions/0031_add_manage_team_permission.py @@ -25,6 +25,7 @@ def upgrade(): conn.execute(( "INSERT INTO permissions (id, user_id, service_id, permission, created_at)" " VALUES ('{}', '{}', '{}', 'manage_team', '{}')").format(id_, entry[0], entry[1], created_at)) + id_ = uuid.uuid4() conn.execute(( "INSERT INTO permissions (id, user_id, service_id, permission, created_at)" " VALUES ('{}', '{}', '{}', 'view_activity', '{}')").format(id_, entry[0], entry[1], created_at))