From 1589b56884efb1b4facca57d71bf629e541567d4 Mon Sep 17 00:00:00 2001 From: shiyueLongguikeji Date: Sat, 28 Dec 2019 12:28:04 +0800 Subject: [PATCH] =?UTF-8?q?improvement(test):=20=E5=A2=9E=E5=8A=A02?= =?UTF-8?q?=E4=B8=AA=E7=94=A8=E6=88=B7=E9=80=9A=E8=AE=AF=E5=BD=95=E5=8F=AF?= =?UTF-8?q?=E8=A7=81=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/tests/test_normal_user_view.py | 208 +++++++++++++++++++++++++++- 1 file changed, 207 insertions(+), 1 deletion(-) diff --git a/test/tests/test_normal_user_view.py b/test/tests/test_normal_user_view.py index 1ce940b62..fb3506ace 100644 --- a/test/tests/test_normal_user_view.py +++ b/test/tests/test_normal_user_view.py @@ -3,7 +3,7 @@ 测试普通用户可见性视图 ''' from django.urls import reverse -from rest_framework.status import HTTP_200_OK, HTTP_403_FORBIDDEN +from rest_framework.status import HTTP_200_OK, HTTP_403_FORBIDDEN, HTTP_404_NOT_FOUND from siteapi.v1.tests import TestCase from oneid_meta.models import User @@ -12,6 +12,21 @@ class NormalUserViewTestCase(TestCase): ''' 测试普通用户通讯录及应用可见性 ''' + def test_manager_one_ucenter_view(self): + ''' + 测试用户 13899990001(部门一admin)普通用户视图 + 设定权限: + 1.管理范围:所在分组及下级分组(部门一及下属) + 2.应用权限:应用二 + 3.基础权限:无 + ''' + manager_one = User.objects.filter(username='13899990001').first() + client = self.login_as(manager_one) + + # 不可查看非权限内用户信息 + res_view_user = client.get(reverse('siteapi:ucenter_user_detail', args=('138999900020', ))) + self.assertEqual(res_view_user.status_code, HTTP_404_NOT_FOUND) + def test_dept_one_normal_users_app_view(self): # pylint: disable=invalid-name ''' 应用十:部门权限 > 白名单 > 部门一(成员包括13899990007-13899990011) @@ -543,3 +558,194 @@ def test_normal_user_view(self): # 可查看用户信息 res_view_user = client.get(reverse('siteapi:ucenter_user_detail', args=('13899990002', ))) self.assertEqual(res_view_user.status_code, HTTP_200_OK) + + def test_dept_fourtwo_user_view(self): + ''' + 测试部门四二成员可见通讯录: + ''' + dept_fourtwo_user = User.objects.filter(username='13899990022').first() + client = self.login_as(dept_fourtwo_user) + + # 可见7人,包括自身,其他6人为所有人可见部门成员 + res = client.get(reverse('siteapi:ucenter_node_tree', args=('d_root', )), data={'user_required': True}) + phone_book = { + 'info': { + 'dept_id': 1, + 'node_uid': 'd_root', + 'node_subject': 'dept', + 'uid': 'root', + 'name': '部门', + 'remark': '所有顶级的部门的父级,可视为整个公司。请勿修改' + }, + 'users': [], + 'nodes': [{ + 'info': { + 'dept_id': 2, + 'node_uid': 'd_bumenyi', + 'node_subject': 'dept', + 'uid': 'bumenyi', + 'name': '部门一(所有人可见)', + 'remark': '' + }, + 'users': [{ + 'user_id': 4, + 'username': '13899990001', + 'name': '部门一admin' + }], + 'nodes': [{ + 'info': { + 'dept_id': 7, + 'node_uid': 'd_bumenyiyi', + 'node_subject': 'dept', + 'uid': 'bumenyiyi', + 'name': '部门一(一)', + 'remark': '' + }, + 'users': [{ + 'user_id': 9, + 'username': '13899990006', + 'name': '部门一一user' + }], + 'nodes': [], + 'headcount': 1 + }], + 'headcount': + 2 + }, { + 'info': { + 'dept_id': 3, + 'node_uid': 'd_bumener', + 'node_subject': 'dept', + 'uid': 'bumener', + 'name': '部门二(组内可见下属不可见)' + }, + 'users': [], + 'nodes': [{ + 'info': { + 'dept_id': 12, + 'node_uid': 'd_bumeneryi', + 'node_subject': 'dept', + 'uid': 'bumeneryi', + 'name': '部门二(一)', + 'remark': '' + }, + 'users': [{ + 'user_id': 15, + 'username': '13899990011', + 'name': '部门二一user' + }], + 'nodes': [], + 'headcount': 1 + }], + 'headcount': + 1 + }, { + 'info': { + 'dept_id': 4, + 'node_uid': 'd_bumensan', + 'node_subject': 'dept', + 'uid': 'bumensan', + 'name': '部门三(组内成员及下属分组可见)' + }, + 'users': [], + 'nodes': [{ + 'info': { + 'dept_id': 17, + 'node_uid': 'd_bumensanyi', + 'node_subject': 'dept', + 'uid': 'bumensanyi', + 'name': '部门三(一)', + 'remark': '' + }, + 'users': [{ + 'user_id': 20, + 'username': '13899990016', + 'name': '部门三一user' + }], + 'nodes': [], + 'headcount': 1 + }], + 'headcount': + 1 + }, { + 'info': { + 'dept_id': 5, + 'node_uid': 'd_bumensisuoyourenbukejian', + 'node_subject': 'dept', + 'uid': 'bumensisuoyourenbukejian', + 'name': '部门四(所有人不可见)' + }, + 'users': [], + 'nodes': [{ + 'info': { + 'dept_id': 18, + 'node_uid': 'd_bumensiyi', + 'node_subject': 'dept', + 'uid': 'bumensiyi', + 'name': '部门四(一)', + 'remark': '' + }, + 'users': [{ + 'user_id': 25, + 'username': '13899990021', + 'name': '部门四一user' + }], + 'nodes': [], + 'headcount': 1 + }, { + 'info': { + 'dept_id': 24, + 'node_uid': 'd_bumensier', + 'node_subject': 'dept', + 'uid': 'bumensier', + 'name': '部门四(二)', + 'remark': '' + }, + 'users': [{ + 'user_id': 26, + 'username': '13899990022', + 'name': '部门四二user' + }], + 'nodes': [], + 'headcount': 1 + }], + 'headcount': + 2 + }, { + 'info': { + 'dept_id': 6, + 'node_uid': 'd_bumenwubufenrenkejian', + 'node_subject': 'dept', + 'uid': 'bumenwubufenrenkejian', + 'name': '部门五(部分人可见)' + }, + 'users': [], + 'nodes': [{ + 'info': { + 'dept_id': 19, + 'node_uid': 'd_bumenwuyi', + 'node_subject': 'dept', + 'uid': 'bumenwuyi', + 'name': '部门五(一)', + 'remark': '' + }, + 'users': [{ + 'user_id': 30, + 'username': '13899990026', + 'name': '部门五一user' + }], + 'nodes': [], + 'headcount': 1 + }], + 'headcount': + 1 + }], + 'headcount': + 7 + } + self.assertEqual(res.json(), phone_book) + self.assertEqual(res.json()['headcount'], 7) + + # 可查看其他组内用户信息 + res_view_user = client.get(reverse('siteapi:ucenter_user_detail', args=('13899990012', ))) + self.assertEqual(res_view_user.status_code, HTTP_200_OK)