def test_update_config(self, mock_connect, mock_send_auth_code): mock_connect.return_value = True mock_send_auth_code.return_value = True res = self.client.json_patch(reverse('siteapi:config'), data={ 'company_config': { 'fullname_cn': 'demo', 'color': 'color', }, 'ding_config': { 'app_key': 'app_key', }, 'account_config': { 'allow_register': True, 'allow_mobile': True, }, 'sms_config': { 'access_key': 'access_key', 'access_secret': 'pwd', }, 'email_config': { 'host': '12.12.12.12', 'access_secret': 'pwd', } }) expect = { 'company_config': { 'name_cn': '', 'fullname_cn': 'demo', 'name_en': '', 'fullname_en': '', 'icon': '', 'address': '', 'domain': '', 'color': 'color', }, 'ding_config': { 'app_key': 'app_key', 'app_secret': '', 'app_valid': False, 'corp_id': '', 'corp_secret': '', 'corp_valid': False, }, 'account_config': { 'allow_email': False, 'allow_mobile': True, 'allow_register': True, }, 'sms_config': { 'access_key': 'access_key', 'access_secret': SMSConfig.encrypt('pwd'), 'signature': '', 'template_code': '', 'template_register': '', 'template_reset_pwd': '', 'template_activate': '', 'template_reset_mobile': '', 'vendor': 'aliyun', 'is_valid': True, }, 'email_config': { 'access_key': '', 'access_secret': EmailConfig.encrypt('pwd'), 'host': '12.12.12.12', 'nickname': 'OneID', 'port': 587, 'is_valid': True, }, } self.assertEqual(res.json(), expect) self.assertEqual(EmailConfig.get_current().access_secret, 'pwd') self.assertEqual(SMSConfig.get_current().access_secret, 'pwd') res = self.client.json_patch(reverse('siteapi:config'), data={ 'sms_config': { 'access_secret': SMSConfig.encrypt('pwd') }, 'email_config': { 'access_secret': EmailConfig.encrypt('pwd') } }) self.assertEqual(res.json()['sms_config']['access_secret'], SMSConfig.encrypt('pwd')) self.assertEqual(res.json()['email_config']['access_secret'], SMSConfig.encrypt('pwd')) self.assertEqual(SMSConfig.get_current().access_secret, 'pwd') self.assertEqual(EmailConfig.get_current().access_secret, 'pwd')
# pylint: disable=missing-docstring from unittest import mock from django.urls import reverse from siteapi.v1.tests import TestCase from oneid_meta.models import User, CustomField, SMSConfig, EmailConfig EMPTY_SECRET = SMSConfig.encrypt('') class ConfigTestCase(TestCase): def test_get_config(self): res = self.client.get(reverse('siteapi:config')) expect = { 'company_config': { 'name_cn': '', 'fullname_cn': '', 'name_en': '', 'fullname_en': '', 'icon': '', 'address': '', 'domain': '', 'color': '', }, 'ding_config': { 'app_key': '', 'app_secret': '', 'app_valid': False, 'corp_id': '',