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)