@@ 3624-3981 (lines=358) @@ | ||
3621 | assert res.json_body['code'] == error.INSUFFICIENT_USER_PROFILE |
|
3622 | ||
3623 | ||
3624 | class TestKnownMembersEndpoint(FunctionalTest): |
|
3625 | # -*- coding: utf-8 -*- |
|
3626 | """ |
|
3627 | Tests for GET /api/v2/users/{user_id} |
|
3628 | """ |
|
3629 | fixtures = [BaseFixture] |
|
3630 | ||
3631 | def test_api__get_user__ok_200__admin__by_name(self): |
|
3632 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
3633 | admin = dbsession.query(models.User) \ |
|
3634 | .filter(models.User.email == '[email protected]') \ |
|
3635 | .one() |
|
3636 | uapi = UserApi( |
|
3637 | current_user=admin, |
|
3638 | session=dbsession, |
|
3639 | config=self.app_config, |
|
3640 | ) |
|
3641 | gapi = GroupApi( |
|
3642 | current_user=admin, |
|
3643 | session=dbsession, |
|
3644 | config=self.app_config, |
|
3645 | ) |
|
3646 | groups = [gapi.get_one_with_name('users')] |
|
3647 | test_user = uapi.create_user( |
|
3648 | email='[email protected]', |
|
3649 | password='pass', |
|
3650 | name='bob', |
|
3651 | groups=groups, |
|
3652 | timezone='Europe/Paris', |
|
3653 | lang='fr', |
|
3654 | do_save=True, |
|
3655 | do_notify=False, |
|
3656 | ) |
|
3657 | test_user2 = uapi.create_user( |
|
3658 | email='[email protected]', |
|
3659 | password='pass', |
|
3660 | name='bob2', |
|
3661 | groups=groups, |
|
3662 | timezone='Europe/Paris', |
|
3663 | lang='fr', |
|
3664 | do_save=True, |
|
3665 | do_notify=False, |
|
3666 | ) |
|
3667 | uapi.save(test_user) |
|
3668 | uapi.save(test_user2) |
|
3669 | transaction.commit() |
|
3670 | user_id = int(admin.user_id) |
|
3671 | ||
3672 | self.testapp.authorization = ( |
|
3673 | 'Basic', |
|
3674 | ( |
|
3675 | '[email protected]', |
|
3676 | '[email protected]' |
|
3677 | ) |
|
3678 | ) |
|
3679 | params = { |
|
3680 | 'acp': 'bob', |
|
3681 | } |
|
3682 | res = self.testapp.get( |
|
3683 | '/api/v2/users/{user_id}/known_members'.format(user_id=user_id), |
|
3684 | status=200, |
|
3685 | params=params, |
|
3686 | ) |
|
3687 | res = res.json_body |
|
3688 | assert len(res) == 2 |
|
3689 | assert res[0]['user_id'] == test_user.user_id |
|
3690 | assert res[0]['public_name'] == test_user.display_name |
|
3691 | assert res[0]['avatar_url'] is None |
|
3692 | ||
3693 | assert res[1]['user_id'] == test_user2.user_id |
|
3694 | assert res[1]['public_name'] == test_user2.display_name |
|
3695 | assert res[1]['avatar_url'] is None |
|
3696 | ||
3697 | def test_api__get_user__ok_200__admin__by_name__deactivated_members(self): |
|
3698 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
3699 | admin = dbsession.query(models.User) \ |
|
3700 | .filter(models.User.email == '[email protected]') \ |
|
3701 | .one() |
|
3702 | uapi = UserApi( |
|
3703 | current_user=admin, |
|
3704 | session=dbsession, |
|
3705 | config=self.app_config, |
|
3706 | ) |
|
3707 | gapi = GroupApi( |
|
3708 | current_user=admin, |
|
3709 | session=dbsession, |
|
3710 | config=self.app_config, |
|
3711 | ) |
|
3712 | groups = [gapi.get_one_with_name('users')] |
|
3713 | test_user = uapi.create_user( |
|
3714 | email='[email protected]', |
|
3715 | password='pass', |
|
3716 | name='bob', |
|
3717 | groups=groups, |
|
3718 | timezone='Europe/Paris', |
|
3719 | lang='fr', |
|
3720 | do_save=True, |
|
3721 | do_notify=False, |
|
3722 | ) |
|
3723 | test_user2 = uapi.create_user( |
|
3724 | email='[email protected]', |
|
3725 | password='pass', |
|
3726 | name='bob2', |
|
3727 | groups=groups, |
|
3728 | timezone='Europe/Paris', |
|
3729 | lang='fr', |
|
3730 | do_save=True, |
|
3731 | do_notify=False, |
|
3732 | ) |
|
3733 | test_user2.is_active = False |
|
3734 | uapi.save(test_user) |
|
3735 | uapi.save(test_user2) |
|
3736 | transaction.commit() |
|
3737 | user_id = int(admin.user_id) |
|
3738 | ||
3739 | self.testapp.authorization = ( |
|
3740 | 'Basic', |
|
3741 | ( |
|
3742 | '[email protected]', |
|
3743 | '[email protected]' |
|
3744 | ) |
|
3745 | ) |
|
3746 | params = { |
|
3747 | 'acp': 'bob', |
|
3748 | } |
|
3749 | res = self.testapp.get( |
|
3750 | '/api/v2/users/{user_id}/known_members'.format(user_id=user_id), |
|
3751 | status=200, |
|
3752 | params=params, |
|
3753 | ) |
|
3754 | res = res.json_body |
|
3755 | assert len(res) == 1 |
|
3756 | assert res[0]['user_id'] == test_user.user_id |
|
3757 | assert res[0]['public_name'] == test_user.display_name |
|
3758 | assert res[0]['avatar_url'] is None |
|
3759 | ||
3760 | def test_api__get_user__ok_200__admin__by_email(self): |
|
3761 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
3762 | admin = dbsession.query(models.User) \ |
|
3763 | .filter(models.User.email == '[email protected]') \ |
|
3764 | .one() |
|
3765 | uapi = UserApi( |
|
3766 | current_user=admin, |
|
3767 | session=dbsession, |
|
3768 | config=self.app_config, |
|
3769 | ) |
|
3770 | gapi = GroupApi( |
|
3771 | current_user=admin, |
|
3772 | session=dbsession, |
|
3773 | config=self.app_config, |
|
3774 | ) |
|
3775 | groups = [gapi.get_one_with_name('users')] |
|
3776 | test_user = uapi.create_user( |
|
3777 | email='[email protected]', |
|
3778 | password='pass', |
|
3779 | name='bob', |
|
3780 | groups=groups, |
|
3781 | timezone='Europe/Paris', |
|
3782 | lang='fr', |
|
3783 | do_save=True, |
|
3784 | do_notify=False, |
|
3785 | ) |
|
3786 | test_user2 = uapi.create_user( |
|
3787 | email='[email protected]', |
|
3788 | password='pass', |
|
3789 | name='bob2', |
|
3790 | groups=groups, |
|
3791 | timezone='Europe/Paris', |
|
3792 | lang='fr', |
|
3793 | do_save=True, |
|
3794 | do_notify=False, |
|
3795 | ) |
|
3796 | uapi.save(test_user) |
|
3797 | uapi.save(test_user2) |
|
3798 | transaction.commit() |
|
3799 | user_id = int(admin.user_id) |
|
3800 | ||
3801 | self.testapp.authorization = ( |
|
3802 | 'Basic', |
|
3803 | ( |
|
3804 | '[email protected]', |
|
3805 | '[email protected]' |
|
3806 | ) |
|
3807 | ) |
|
3808 | params = { |
|
3809 | 'acp': 'test', |
|
3810 | } |
|
3811 | res = self.testapp.get( |
|
3812 | '/api/v2/users/{user_id}/known_members'.format(user_id=user_id), |
|
3813 | status=200, |
|
3814 | params=params, |
|
3815 | ) |
|
3816 | res = res.json_body |
|
3817 | assert len(res) == 2 |
|
3818 | assert res[0]['user_id'] == test_user.user_id |
|
3819 | assert res[0]['public_name'] == test_user.display_name |
|
3820 | assert res[0]['avatar_url'] is None |
|
3821 | ||
3822 | assert res[1]['user_id'] == test_user2.user_id |
|
3823 | assert res[1]['public_name'] == test_user2.display_name |
|
3824 | assert res[1]['avatar_url'] is None |
|
3825 | ||
3826 | def test_api__get_user__err_403__admin__too_small_acp(self): |
|
3827 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
3828 | admin = dbsession.query(models.User) \ |
|
3829 | .filter(models.User.email == '[email protected]') \ |
|
3830 | .one() |
|
3831 | uapi = UserApi( |
|
3832 | current_user=admin, |
|
3833 | session=dbsession, |
|
3834 | config=self.app_config, |
|
3835 | ) |
|
3836 | gapi = GroupApi( |
|
3837 | current_user=admin, |
|
3838 | session=dbsession, |
|
3839 | config=self.app_config, |
|
3840 | ) |
|
3841 | groups = [gapi.get_one_with_name('users')] |
|
3842 | test_user = uapi.create_user( |
|
3843 | email='[email protected]', |
|
3844 | password='pass', |
|
3845 | name='bob', |
|
3846 | groups=groups, |
|
3847 | timezone='Europe/Paris', |
|
3848 | lang='fr', |
|
3849 | do_save=True, |
|
3850 | do_notify=False, |
|
3851 | ) |
|
3852 | test_user2 = uapi.create_user( |
|
3853 | email='[email protected]', |
|
3854 | password='pass', |
|
3855 | name='bob2', |
|
3856 | groups=groups, |
|
3857 | timezone='Europe/Paris', |
|
3858 | lang='fr', |
|
3859 | do_save=True, |
|
3860 | do_notify=False, |
|
3861 | ) |
|
3862 | uapi.save(test_user) |
|
3863 | transaction.commit() |
|
3864 | user_id = int(admin.user_id) |
|
3865 | ||
3866 | self.testapp.authorization = ( |
|
3867 | 'Basic', |
|
3868 | ( |
|
3869 | '[email protected]', |
|
3870 | '[email protected]' |
|
3871 | ) |
|
3872 | ) |
|
3873 | params = { |
|
3874 | 'acp': 't', |
|
3875 | } |
|
3876 | res = self.testapp.get( |
|
3877 | '/api/v2/users/{user_id}/known_members'.format(user_id=user_id), |
|
3878 | status=400, |
|
3879 | params=params |
|
3880 | ) |
|
3881 | assert isinstance(res.json, dict) |
|
3882 | assert 'code' in res.json.keys() |
|
3883 | assert res.json_body['code'] == error.GENERIC_SCHEMA_VALIDATION_ERROR # nopep8 |
|
3884 | ||
3885 | def test_api__get_user__ok_200__normal_user_by_email(self): |
|
3886 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
3887 | admin = dbsession.query(models.User) \ |
|
3888 | .filter(models.User.email == '[email protected]') \ |
|
3889 | .one() |
|
3890 | uapi = UserApi( |
|
3891 | current_user=admin, |
|
3892 | session=dbsession, |
|
3893 | config=self.app_config, |
|
3894 | ) |
|
3895 | gapi = GroupApi( |
|
3896 | current_user=admin, |
|
3897 | session=dbsession, |
|
3898 | config=self.app_config, |
|
3899 | ) |
|
3900 | groups = [gapi.get_one_with_name('users')] |
|
3901 | test_user = uapi.create_user( |
|
3902 | email='[email protected]', |
|
3903 | password='pass', |
|
3904 | name='bob', |
|
3905 | groups=groups, |
|
3906 | timezone='Europe/Paris', |
|
3907 | lang='fr', |
|
3908 | do_save=True, |
|
3909 | do_notify=False, |
|
3910 | ) |
|
3911 | test_user2 = uapi.create_user( |
|
3912 | email='[email protected]', |
|
3913 | password='pass', |
|
3914 | name='bob2', |
|
3915 | groups=groups, |
|
3916 | timezone='Europe/Paris', |
|
3917 | lang='fr', |
|
3918 | do_save=True, |
|
3919 | do_notify=False, |
|
3920 | ) |
|
3921 | test_user3 = uapi.create_user( |
|
3922 | email='[email protected]', |
|
3923 | password='pass', |
|
3924 | name='bob3', |
|
3925 | groups=groups, |
|
3926 | timezone='Europe/Paris', |
|
3927 | lang='fr', |
|
3928 | do_save=True, |
|
3929 | do_notify=False, |
|
3930 | ) |
|
3931 | uapi.save(test_user) |
|
3932 | uapi.save(test_user2) |
|
3933 | uapi.save(test_user3) |
|
3934 | workspace_api = WorkspaceApi( |
|
3935 | current_user=admin, |
|
3936 | session=dbsession, |
|
3937 | config=self.app_config |
|
3938 | ||
3939 | ) |
|
3940 | workspace = WorkspaceApi( |
|
3941 | current_user=admin, |
|
3942 | session=dbsession, |
|
3943 | config=self.app_config, |
|
3944 | ).create_workspace( |
|
3945 | 'test workspace', |
|
3946 | save_now=True |
|
3947 | ) |
|
3948 | role_api = RoleApi( |
|
3949 | current_user=admin, |
|
3950 | session=dbsession, |
|
3951 | config=self.app_config, |
|
3952 | ) |
|
3953 | role_api.create_one(test_user, workspace, UserRoleInWorkspace.READER, False) |
|
3954 | role_api.create_one(test_user2, workspace, UserRoleInWorkspace.READER, False) |
|
3955 | transaction.commit() |
|
3956 | user_id = int(test_user.user_id) |
|
3957 | ||
3958 | self.testapp.authorization = ( |
|
3959 | 'Basic', |
|
3960 | ( |
|
3961 | '[email protected]', |
|
3962 | 'pass' |
|
3963 | ) |
|
3964 | ) |
|
3965 | params = { |
|
3966 | 'acp': 'test', |
|
3967 | } |
|
3968 | res = self.testapp.get( |
|
3969 | '/api/v2/users/{user_id}/known_members'.format(user_id=user_id), |
|
3970 | status=200, |
|
3971 | params=params |
|
3972 | ) |
|
3973 | res = res.json_body |
|
3974 | assert len(res) == 2 |
|
3975 | assert res[0]['user_id'] == test_user.user_id |
|
3976 | assert res[0]['public_name'] == test_user.display_name |
|
3977 | assert res[0]['avatar_url'] is None |
|
3978 | ||
3979 | assert res[1]['user_id'] == test_user2.user_id |
|
3980 | assert res[1]['public_name'] == test_user2.display_name |
|
3981 | assert res[1]['avatar_url'] is None |
|
3982 | ||
3983 | ||
3984 | class TestSetEmailEndpoint(FunctionalTest): |
@@ 1049-1406 (lines=358) @@ | ||
1046 | assert res['is_deleted'] is False |
|
1047 | ||
1048 | ||
1049 | class TestAccountKnownMembersEndpoint(FunctionalTest): |
|
1050 | # -*- coding: utf-8 -*- |
|
1051 | """ |
|
1052 | Tests for GET /api/v2/users/me |
|
1053 | """ |
|
1054 | fixtures = [BaseFixture] |
|
1055 | ||
1056 | def test_api__get_user__ok_200__admin__by_name(self): |
|
1057 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1058 | admin = dbsession.query(models.User) \ |
|
1059 | .filter(models.User.email == '[email protected]') \ |
|
1060 | .one() |
|
1061 | uapi = UserApi( |
|
1062 | current_user=admin, |
|
1063 | session=dbsession, |
|
1064 | config=self.app_config, |
|
1065 | ) |
|
1066 | gapi = GroupApi( |
|
1067 | current_user=admin, |
|
1068 | session=dbsession, |
|
1069 | config=self.app_config, |
|
1070 | ) |
|
1071 | groups = [gapi.get_one_with_name('users')] |
|
1072 | test_user = uapi.create_user( |
|
1073 | email='[email protected]', |
|
1074 | password='pass', |
|
1075 | name='bob', |
|
1076 | groups=groups, |
|
1077 | timezone='Europe/Paris', |
|
1078 | lang='fr', |
|
1079 | do_save=True, |
|
1080 | do_notify=False, |
|
1081 | ) |
|
1082 | test_user2 = uapi.create_user( |
|
1083 | email='[email protected]', |
|
1084 | password='pass', |
|
1085 | name='bob2', |
|
1086 | groups=groups, |
|
1087 | timezone='Europe/Paris', |
|
1088 | lang='fr', |
|
1089 | do_save=True, |
|
1090 | do_notify=False, |
|
1091 | ) |
|
1092 | uapi.save(test_user) |
|
1093 | uapi.save(test_user2) |
|
1094 | transaction.commit() |
|
1095 | user_id = int(admin.user_id) |
|
1096 | ||
1097 | self.testapp.authorization = ( |
|
1098 | 'Basic', |
|
1099 | ( |
|
1100 | '[email protected]', |
|
1101 | '[email protected]' |
|
1102 | ) |
|
1103 | ) |
|
1104 | params = { |
|
1105 | 'acp': 'bob', |
|
1106 | } |
|
1107 | res = self.testapp.get( |
|
1108 | '/api/v2/users/me/known_members'.format(user_id=user_id), |
|
1109 | status=200, |
|
1110 | params=params, |
|
1111 | ) |
|
1112 | res = res.json_body |
|
1113 | assert len(res) == 2 |
|
1114 | assert res[0]['user_id'] == test_user.user_id |
|
1115 | assert res[0]['public_name'] == test_user.display_name |
|
1116 | assert res[0]['avatar_url'] is None |
|
1117 | ||
1118 | assert res[1]['user_id'] == test_user2.user_id |
|
1119 | assert res[1]['public_name'] == test_user2.display_name |
|
1120 | assert res[1]['avatar_url'] is None |
|
1121 | ||
1122 | def test_api__get_user__ok_200__admin__by_name__deactivated_members(self): |
|
1123 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1124 | admin = dbsession.query(models.User) \ |
|
1125 | .filter(models.User.email == '[email protected]') \ |
|
1126 | .one() |
|
1127 | uapi = UserApi( |
|
1128 | current_user=admin, |
|
1129 | session=dbsession, |
|
1130 | config=self.app_config, |
|
1131 | ) |
|
1132 | gapi = GroupApi( |
|
1133 | current_user=admin, |
|
1134 | session=dbsession, |
|
1135 | config=self.app_config, |
|
1136 | ) |
|
1137 | groups = [gapi.get_one_with_name('users')] |
|
1138 | test_user = uapi.create_user( |
|
1139 | email='[email protected]', |
|
1140 | password='pass', |
|
1141 | name='bob', |
|
1142 | groups=groups, |
|
1143 | timezone='Europe/Paris', |
|
1144 | lang='fr', |
|
1145 | do_save=True, |
|
1146 | do_notify=False, |
|
1147 | ) |
|
1148 | test_user2 = uapi.create_user( |
|
1149 | email='[email protected]', |
|
1150 | password='pass', |
|
1151 | name='bob2', |
|
1152 | groups=groups, |
|
1153 | timezone='Europe/Paris', |
|
1154 | lang='fr', |
|
1155 | do_save=True, |
|
1156 | do_notify=False, |
|
1157 | ) |
|
1158 | test_user2.is_active = False |
|
1159 | uapi.save(test_user) |
|
1160 | uapi.save(test_user2) |
|
1161 | transaction.commit() |
|
1162 | user_id = int(admin.user_id) |
|
1163 | ||
1164 | self.testapp.authorization = ( |
|
1165 | 'Basic', |
|
1166 | ( |
|
1167 | '[email protected]', |
|
1168 | '[email protected]' |
|
1169 | ) |
|
1170 | ) |
|
1171 | params = { |
|
1172 | 'acp': 'bob', |
|
1173 | } |
|
1174 | res = self.testapp.get( |
|
1175 | '/api/v2/users/me/known_members'.format(user_id=user_id), |
|
1176 | status=200, |
|
1177 | params=params, |
|
1178 | ) |
|
1179 | res = res.json_body |
|
1180 | assert len(res) == 1 |
|
1181 | assert res[0]['user_id'] == test_user.user_id |
|
1182 | assert res[0]['public_name'] == test_user.display_name |
|
1183 | assert res[0]['avatar_url'] is None |
|
1184 | ||
1185 | def test_api__get_user__ok_200__admin__by_email(self): |
|
1186 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1187 | admin = dbsession.query(models.User) \ |
|
1188 | .filter(models.User.email == '[email protected]') \ |
|
1189 | .one() |
|
1190 | uapi = UserApi( |
|
1191 | current_user=admin, |
|
1192 | session=dbsession, |
|
1193 | config=self.app_config, |
|
1194 | ) |
|
1195 | gapi = GroupApi( |
|
1196 | current_user=admin, |
|
1197 | session=dbsession, |
|
1198 | config=self.app_config, |
|
1199 | ) |
|
1200 | groups = [gapi.get_one_with_name('users')] |
|
1201 | test_user = uapi.create_user( |
|
1202 | email='[email protected]', |
|
1203 | password='pass', |
|
1204 | name='bob', |
|
1205 | groups=groups, |
|
1206 | timezone='Europe/Paris', |
|
1207 | lang='fr', |
|
1208 | do_save=True, |
|
1209 | do_notify=False, |
|
1210 | ) |
|
1211 | test_user2 = uapi.create_user( |
|
1212 | email='[email protected]', |
|
1213 | password='pass', |
|
1214 | name='bob2', |
|
1215 | groups=groups, |
|
1216 | timezone='Europe/Paris', |
|
1217 | lang='fr', |
|
1218 | do_save=True, |
|
1219 | do_notify=False, |
|
1220 | ) |
|
1221 | uapi.save(test_user) |
|
1222 | uapi.save(test_user2) |
|
1223 | transaction.commit() |
|
1224 | user_id = int(admin.user_id) |
|
1225 | ||
1226 | self.testapp.authorization = ( |
|
1227 | 'Basic', |
|
1228 | ( |
|
1229 | '[email protected]', |
|
1230 | '[email protected]' |
|
1231 | ) |
|
1232 | ) |
|
1233 | params = { |
|
1234 | 'acp': 'test', |
|
1235 | } |
|
1236 | res = self.testapp.get( |
|
1237 | '/api/v2/users/me/known_members'.format(user_id=user_id), |
|
1238 | status=200, |
|
1239 | params=params, |
|
1240 | ) |
|
1241 | res = res.json_body |
|
1242 | assert len(res) == 2 |
|
1243 | assert res[0]['user_id'] == test_user.user_id |
|
1244 | assert res[0]['public_name'] == test_user.display_name |
|
1245 | assert res[0]['avatar_url'] is None |
|
1246 | ||
1247 | assert res[1]['user_id'] == test_user2.user_id |
|
1248 | assert res[1]['public_name'] == test_user2.display_name |
|
1249 | assert res[1]['avatar_url'] is None |
|
1250 | ||
1251 | def test_api__get_user__err_403__admin__too_small_acp(self): |
|
1252 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1253 | admin = dbsession.query(models.User) \ |
|
1254 | .filter(models.User.email == '[email protected]') \ |
|
1255 | .one() |
|
1256 | uapi = UserApi( |
|
1257 | current_user=admin, |
|
1258 | session=dbsession, |
|
1259 | config=self.app_config, |
|
1260 | ) |
|
1261 | gapi = GroupApi( |
|
1262 | current_user=admin, |
|
1263 | session=dbsession, |
|
1264 | config=self.app_config, |
|
1265 | ) |
|
1266 | groups = [gapi.get_one_with_name('users')] |
|
1267 | test_user = uapi.create_user( |
|
1268 | email='[email protected]', |
|
1269 | password='pass', |
|
1270 | name='bob', |
|
1271 | groups=groups, |
|
1272 | timezone='Europe/Paris', |
|
1273 | lang='fr', |
|
1274 | do_save=True, |
|
1275 | do_notify=False, |
|
1276 | ) |
|
1277 | test_user2 = uapi.create_user( |
|
1278 | email='[email protected]', |
|
1279 | password='pass', |
|
1280 | name='bob2', |
|
1281 | groups=groups, |
|
1282 | timezone='Europe/Paris', |
|
1283 | lang='fr', |
|
1284 | do_save=True, |
|
1285 | do_notify=False, |
|
1286 | ) |
|
1287 | uapi.save(test_user) |
|
1288 | transaction.commit() |
|
1289 | user_id = int(admin.user_id) |
|
1290 | ||
1291 | self.testapp.authorization = ( |
|
1292 | 'Basic', |
|
1293 | ( |
|
1294 | '[email protected]', |
|
1295 | '[email protected]' |
|
1296 | ) |
|
1297 | ) |
|
1298 | params = { |
|
1299 | 'acp': 't', |
|
1300 | } |
|
1301 | res = self.testapp.get( |
|
1302 | '/api/v2/users/me/known_members'.format(user_id=user_id), |
|
1303 | status=400, |
|
1304 | params=params |
|
1305 | ) |
|
1306 | assert isinstance(res.json, dict) |
|
1307 | assert 'code' in res.json.keys() |
|
1308 | assert res.json_body['code'] == error.GENERIC_SCHEMA_VALIDATION_ERROR # nopep8 |
|
1309 | ||
1310 | def test_api__get_user__ok_200__normal_user_by_email(self): |
|
1311 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
1312 | admin = dbsession.query(models.User) \ |
|
1313 | .filter(models.User.email == '[email protected]') \ |
|
1314 | .one() |
|
1315 | uapi = UserApi( |
|
1316 | current_user=admin, |
|
1317 | session=dbsession, |
|
1318 | config=self.app_config, |
|
1319 | ) |
|
1320 | gapi = GroupApi( |
|
1321 | current_user=admin, |
|
1322 | session=dbsession, |
|
1323 | config=self.app_config, |
|
1324 | ) |
|
1325 | groups = [gapi.get_one_with_name('users')] |
|
1326 | test_user = uapi.create_user( |
|
1327 | email='[email protected]', |
|
1328 | password='pass', |
|
1329 | name='bob', |
|
1330 | groups=groups, |
|
1331 | timezone='Europe/Paris', |
|
1332 | lang='fr', |
|
1333 | do_save=True, |
|
1334 | do_notify=False, |
|
1335 | ) |
|
1336 | test_user2 = uapi.create_user( |
|
1337 | email='[email protected]', |
|
1338 | password='pass', |
|
1339 | name='bob2', |
|
1340 | groups=groups, |
|
1341 | timezone='Europe/Paris', |
|
1342 | lang='fr', |
|
1343 | do_save=True, |
|
1344 | do_notify=False, |
|
1345 | ) |
|
1346 | test_user3 = uapi.create_user( |
|
1347 | email='[email protected]', |
|
1348 | password='pass', |
|
1349 | name='bob3', |
|
1350 | groups=groups, |
|
1351 | timezone='Europe/Paris', |
|
1352 | lang='fr', |
|
1353 | do_save=True, |
|
1354 | do_notify=False, |
|
1355 | ) |
|
1356 | uapi.save(test_user) |
|
1357 | uapi.save(test_user2) |
|
1358 | uapi.save(test_user3) |
|
1359 | workspace_api = WorkspaceApi( |
|
1360 | current_user=admin, |
|
1361 | session=dbsession, |
|
1362 | config=self.app_config |
|
1363 | ||
1364 | ) |
|
1365 | workspace = WorkspaceApi( |
|
1366 | current_user=admin, |
|
1367 | session=dbsession, |
|
1368 | config=self.app_config, |
|
1369 | ).create_workspace( |
|
1370 | 'test workspace', |
|
1371 | save_now=True |
|
1372 | ) |
|
1373 | role_api = RoleApi( |
|
1374 | current_user=admin, |
|
1375 | session=dbsession, |
|
1376 | config=self.app_config, |
|
1377 | ) |
|
1378 | role_api.create_one(test_user, workspace, UserRoleInWorkspace.READER, False) |
|
1379 | role_api.create_one(test_user2, workspace, UserRoleInWorkspace.READER, False) |
|
1380 | transaction.commit() |
|
1381 | user_id = int(test_user.user_id) |
|
1382 | ||
1383 | self.testapp.authorization = ( |
|
1384 | 'Basic', |
|
1385 | ( |
|
1386 | '[email protected]', |
|
1387 | 'pass' |
|
1388 | ) |
|
1389 | ) |
|
1390 | params = { |
|
1391 | 'acp': 'test', |
|
1392 | } |
|
1393 | res = self.testapp.get( |
|
1394 | '/api/v2/users/me/known_members'.format(user_id=user_id), |
|
1395 | status=200, |
|
1396 | params=params |
|
1397 | ) |
|
1398 | res = res.json_body |
|
1399 | assert len(res) == 2 |
|
1400 | assert res[0]['user_id'] == test_user.user_id |
|
1401 | assert res[0]['public_name'] == test_user.display_name |
|
1402 | assert res[0]['avatar_url'] is None |
|
1403 | ||
1404 | assert res[1]['user_id'] == test_user2.user_id |
|
1405 | assert res[1]['public_name'] == test_user2.display_name |
|
1406 | assert res[1]['avatar_url'] is None |
|
1407 | ||
1408 | ||
1409 | class TestSetEmailEndpoint(FunctionalTest): |