Mercurial > kallithea
comparison rhodecode/tests/api/api_base.py @ 3714:7e3d89d9d3a2 beta
- Manage User’s Groups: create, delete, rename, add/remove users inside.
by user group admin.
In this case, a user's group can be owned by several people thru an owner user's group.
Some refactoring of naming, permission handling logic.
- remove some code duplicity as well as inconsistent naming
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 08 Apr 2013 22:47:35 +0200 |
parents | 8a86836fad64 |
children | 12ca667b69b6 |
comparison
equal
deleted
inserted
replaced
3713:e45f8cefd7d9 | 3714:7e3d89d9d3a2 |
---|---|
48 return response | 48 return response |
49 | 49 |
50 | 50 |
51 ## helpers | 51 ## helpers |
52 def make_users_group(name=TEST_USER_GROUP): | 52 def make_users_group(name=TEST_USER_GROUP): |
53 gr = UserGroupModel().create(name=name) | 53 gr = fixture.create_user_group(name, cur_user=TEST_USER_ADMIN_LOGIN) |
54 UserGroupModel().add_user_to_group(users_group=gr, | 54 UserGroupModel().add_user_to_group(users_group=gr, |
55 user=TEST_USER_ADMIN_LOGIN) | 55 user=TEST_USER_ADMIN_LOGIN) |
56 Session().commit() | 56 Session().commit() |
57 return gr | 57 return gr |
58 | 58 |
59 | 59 |
60 def destroy_users_group(name=TEST_USER_GROUP): | 60 def destroy_users_group(name=TEST_USER_GROUP): |
1082 expected = 'failed to create group `%s`' % group_name | 1082 expected = 'failed to create group `%s`' % group_name |
1083 self._compare_error(id_, expected, given=response.body) | 1083 self._compare_error(id_, expected, given=response.body) |
1084 | 1084 |
1085 def test_api_add_user_to_users_group(self): | 1085 def test_api_add_user_to_users_group(self): |
1086 gr_name = 'test_group' | 1086 gr_name = 'test_group' |
1087 UserGroupModel().create(gr_name) | 1087 fixture.create_user_group(gr_name) |
1088 Session().commit() | |
1089 id_, params = _build_data(self.apikey, 'add_user_to_users_group', | 1088 id_, params = _build_data(self.apikey, 'add_user_to_users_group', |
1090 usersgroupid=gr_name, | 1089 usersgroupid=gr_name, |
1091 userid=TEST_USER_ADMIN_LOGIN) | 1090 userid=TEST_USER_ADMIN_LOGIN) |
1092 response = api_call(self, params) | 1091 response = api_call(self, params) |
1093 | 1092 |
1111 self._compare_error(id_, expected, given=response.body) | 1110 self._compare_error(id_, expected, given=response.body) |
1112 | 1111 |
1113 @mock.patch.object(UserGroupModel, 'add_user_to_group', crash) | 1112 @mock.patch.object(UserGroupModel, 'add_user_to_group', crash) |
1114 def test_api_add_user_to_users_group_exception_occurred(self): | 1113 def test_api_add_user_to_users_group_exception_occurred(self): |
1115 gr_name = 'test_group' | 1114 gr_name = 'test_group' |
1116 UserGroupModel().create(gr_name) | 1115 fixture.create_user_group(gr_name) |
1117 Session().commit() | |
1118 id_, params = _build_data(self.apikey, 'add_user_to_users_group', | 1116 id_, params = _build_data(self.apikey, 'add_user_to_users_group', |
1119 usersgroupid=gr_name, | 1117 usersgroupid=gr_name, |
1120 userid=TEST_USER_ADMIN_LOGIN) | 1118 userid=TEST_USER_ADMIN_LOGIN) |
1121 response = api_call(self, params) | 1119 response = api_call(self, params) |
1122 | 1120 |
1126 UserGroupModel().delete(users_group=gr_name) | 1124 UserGroupModel().delete(users_group=gr_name) |
1127 Session().commit() | 1125 Session().commit() |
1128 | 1126 |
1129 def test_api_remove_user_from_users_group(self): | 1127 def test_api_remove_user_from_users_group(self): |
1130 gr_name = 'test_group_3' | 1128 gr_name = 'test_group_3' |
1131 gr = UserGroupModel().create(gr_name) | 1129 gr = fixture.create_user_group(gr_name) |
1132 UserGroupModel().add_user_to_group(gr, user=TEST_USER_ADMIN_LOGIN) | 1130 UserGroupModel().add_user_to_group(gr, user=TEST_USER_ADMIN_LOGIN) |
1133 Session().commit() | 1131 Session().commit() |
1134 id_, params = _build_data(self.apikey, 'remove_user_from_users_group', | 1132 id_, params = _build_data(self.apikey, 'remove_user_from_users_group', |
1135 usersgroupid=gr_name, | 1133 usersgroupid=gr_name, |
1136 userid=TEST_USER_ADMIN_LOGIN) | 1134 userid=TEST_USER_ADMIN_LOGIN) |
1147 Session().commit() | 1145 Session().commit() |
1148 | 1146 |
1149 @mock.patch.object(UserGroupModel, 'remove_user_from_group', crash) | 1147 @mock.patch.object(UserGroupModel, 'remove_user_from_group', crash) |
1150 def test_api_remove_user_from_users_group_exception_occurred(self): | 1148 def test_api_remove_user_from_users_group_exception_occurred(self): |
1151 gr_name = 'test_group_3' | 1149 gr_name = 'test_group_3' |
1152 gr = UserGroupModel().create(gr_name) | 1150 gr = fixture.create_user_group(gr_name) |
1153 UserGroupModel().add_user_to_group(gr, user=TEST_USER_ADMIN_LOGIN) | 1151 UserGroupModel().add_user_to_group(gr, user=TEST_USER_ADMIN_LOGIN) |
1154 Session().commit() | 1152 Session().commit() |
1155 id_, params = _build_data(self.apikey, 'remove_user_from_users_group', | 1153 id_, params = _build_data(self.apikey, 'remove_user_from_users_group', |
1156 usersgroupid=gr_name, | 1154 usersgroupid=gr_name, |
1157 userid=TEST_USER_ADMIN_LOGIN) | 1155 userid=TEST_USER_ADMIN_LOGIN) |