Esempio n. 1
0
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)
Esempio n. 2
0
    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)
Esempio n. 3
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()
Esempio n. 4
0
    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'
Esempio n. 5
0
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')
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)
Esempio n. 8
0
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
    )
Esempio n. 9
0
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
Esempio n. 10
0
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)