def test_user_management(): email1 = '%s@%s.com' % (randstring(6), randstring(6)) email2 = '%s@%s.com' % (randstring(6), randstring(6)) passwd1 = 'randstring(6)' passwd2 = 'randstring(6)' ccnet_api.add_emailuser(email1, passwd1, 1, 1) ccnet_api.add_emailuser(email2, passwd2, 0, 0) ccnet_email1 = ccnet_api.get_emailuser(email1) ccnet_email2 = ccnet_api.get_emailuser(email2) assert ccnet_email1.is_active == True assert ccnet_email1.is_staff == True assert ccnet_email2.is_active == False assert ccnet_email2.is_staff == False assert ccnet_api.validate_emailuser(email1, passwd1) == 0 assert ccnet_api.validate_emailuser(email2, passwd2) == 0 users = ccnet_api.search_emailusers('DB',email1, -1, -1) assert len(users) == 1 user_ccnet = users[0] assert user_ccnet.email == email1 user_counts = ccnet_api.count_emailusers('DB') user_numbers = ccnet_api.get_emailusers('DB', -1, -1) ccnet_api.update_emailuser('DB', ccnet_email2.id, passwd2, 1, 1) email2_new = ccnet_api.get_emailuser(email2) assert email2_new.is_active == True assert email2_new.is_staff == True ccnet_api.remove_emailuser('DB', email1) ccnet_api.remove_emailuser('DB', email2)
def setUp(self): self.user_name = self.user.username self.tmp_email = '*****@*****.**' % randstring(10) self.password = randstring(10) self.url = reverse('api-v2.1-admin-user', args=[self.tmp_email]) ccnet_api.add_emailuser(self.tmp_email, self.password, 0, 0)
def setUp(self): self.user_email = self.user.username self.admin_email = self.admin.username tmp_admin_email = '%s@%s.com' % (randstring(6), randstring(6)) ccnet_api.add_emailuser(tmp_admin_email, randstring(6), 1, 1) self.tmp_admin_email = tmp_admin_email AdminRole.objects.all().delete()
def test_delete_user(self, mock_has_permission): # create a tmp user first ccnet_api.add_emailuser(self.new_user, 'password', 0, 1) # admin delete user resp = self.client.post(reverse('user_remove', args=[self.new_user])) self.assertEqual(302, resp.status_code) # get admin log resp = self.client.get(self.admin_log_url) self.assertEqual(200, resp.status_code) json_resp = json.loads(resp.content) assert json_resp['total_count'] == 1 assert json_resp['data'][0]['operation'] == 'user_delete'
def create_admin(email, passwd): if ccnet_api.add_emailuser(email, passwd, 1, 1) < 0: raise Exception('failed to create admin') else: print('\n\n') print('----------------------------------------') print('Successfully created seafile admin') print('----------------------------------------') print('\n\n')
def test_get_with_email_is_not_admin(self, mock_has_permission): mock_has_permission.return_value = True tmp_user_email = '%s@%s.com' % (randstring(6), randstring(6)) ccnet_api.add_emailuser(tmp_user_email, randstring(6), 0, 1) tmp_user = User.objects.get(email=tmp_user_email) assert not tmp_user.is_staff self.login_as(self.admin) url = reverse('api-v2.1-admin-admin-role') + '?email=%s' % tmp_user_email resp = self.client.get(url) self.assertEqual(403, resp.status_code) json_resp = json.loads(resp.content) assert 'must be an administrator' in json_resp['error_msg'] self.remove_user(tmp_user_email)
def test_update_with_email_is_not_admin(self, mock_has_permission): mock_has_permission.return_value = True tmp_user_email = '%s@%s.com' % (randstring(6), randstring(6)) ccnet_api.add_emailuser(tmp_user_email, randstring(6), 0, 1) tmp_user = User.objects.get(email=tmp_user_email) assert not tmp_user.is_staff self.login_as(self.admin) url = reverse('api-v2.1-admin-admin-role') data = 'email=%s&role=%s' % (tmp_user_email, DAILY_ADMIN) resp = self.client.put(url, data, 'application/x-www-form-urlencoded') self.assertEqual(403, resp.status_code) json_resp = json.loads(resp.content) assert 'must be an administrator' in json_resp['error_msg'] self.remove_user(tmp_user_email)
def create_users(): """ Create an admin user and a normal user """ wait_for_server() logger.info('preparing users for testing') ccnet_api.add_emailuser(USER, PASSWORD, is_staff=False, is_active=True) ccnet_api.add_emailuser(USER2, PASSWORD2, is_staff=False, is_active=True) ccnet_api.add_emailuser( INACTIVE_USER, INACTIVE_PASSWORD, is_staff=False, is_active=False ) ccnet_api.add_emailuser( ADMIN_USER, ADMIN_PASSWORD, is_staff=True, is_active=True )
def main(): if not ccnet_api.get_emailuser('dtable@seafile'): ccnet_api.add_emailuser('dtable@seafile', '!', 0, 1) if not ccnet_api.get_emailuser('*****@*****.**'): ccnet_api.add_emailuser('*****@*****.**', 'testtest', 0, 1) if not ccnet_api.get_emailuser('*****@*****.**'): ccnet_api.add_emailuser('*****@*****.**', 'adminadmin', 1, 1) return
def test_user_management(repo): email1 = '%s@%s.com' % (randstring(6), randstring(6)) email2 = '%s@%s.com' % (randstring(6), randstring(6)) passwd1 = 'randstring(6)' passwd2 = 'randstring(6)' ccnet_api.add_emailuser(email1, passwd1, 1, 1) ccnet_api.add_emailuser(email2, passwd2, 0, 0) ccnet_email1 = ccnet_api.get_emailuser(email1) ccnet_email2 = ccnet_api.get_emailuser(email2) assert ccnet_email1.is_active == True assert ccnet_email1.is_staff == True assert ccnet_email2.is_active == False assert ccnet_email2.is_staff == False assert ccnet_api.validate_emailuser(email1, passwd1) == 0 assert ccnet_api.validate_emailuser(email2, passwd2) == 0 users = ccnet_api.search_emailusers('DB', email1, -1, -1) assert len(users) == 1 user_ccnet = users[0] assert user_ccnet.email == email1 user_counts = ccnet_api.count_emailusers('DB') user_numbers = ccnet_api.get_emailusers('DB', -1, -1) ccnet_api.update_emailuser('DB', ccnet_email2.id, passwd2, 1, 1) email2_new = ccnet_api.get_emailuser(email2) assert email2_new.is_active == True assert email2_new.is_staff == True #test group when update user id id1 = ccnet_api.create_group('group1', email1, parent_group_id=-1) assert id1 != -1 group1 = ccnet_api.get_group(id1) assert group1.parent_group_id == -1 # test shared repo when update user id api.share_repo(repo.id, USER, email1, "rw") assert api.repo_has_been_shared(repo.id) new_email1 = '%s@%s.com' % (randstring(6), randstring(6)) assert ccnet_api.update_emailuser_id(email1, new_email1) == 0 shared_users = api.list_repo_shared_to(USER, repo.id) assert len(shared_users) == 1 assert shared_users[0].repo_id == repo.id assert shared_users[0].user == new_email1 assert shared_users[0].perm == "rw" api.remove_share(repo.id, USER, new_email1) email1_groups = ccnet_api.get_groups(new_email1) assert len(email1_groups) == 1 assert email1_groups[0].id == id1 rm1 = ccnet_api.remove_group(id1) assert rm1 == 0 ccnet_api.remove_emailuser('DB', new_email1) ccnet_api.remove_emailuser('DB', email2)