后端优化,增加新需求

This commit is contained in:
super
2026-07-21 19:53:47 +08:00
parent ba48bbc6af
commit bca1335dc6
16 changed files with 529 additions and 61 deletions

View File

@@ -1,6 +1,6 @@
import io
import unittest
from unittest.mock import patch
from unittest.mock import Mock, patch
from flask import jsonify
@@ -72,6 +72,36 @@ class DedupeTotalDataAdminTest(unittest.TestCase):
self.assertEqual('import-1', response.get_json()['import_id'])
self.assertEqual({'operatorId': 31}, proxy.call_args.kwargs['data'])
def test_export_forwards_filters_and_session_operator(self):
self._login(31)
java_response = Mock(
status_code=200,
content=b'xlsx-data',
headers={
'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'Content-Disposition': 'attachment; filename="dedupe-total-data.xlsx"',
},
)
java_session = Mock()
java_session.get.return_value = java_response
with patch('utils.auth.is_session_user_valid', return_value=True), \
patch.object(admin_module, '_ensure_dedupe_total_data_access',
return_value=('normal', {'id': 31, 'username': 'member-b'}, None)), \
patch.object(admin_module, '_get_backend_java_session', return_value=java_session):
response = self.client.get(
'/api/admin/dedupe-total-data/export'
'?username=member&start_date=2026-07-01&end_date=2026-07-20')
self.assertEqual(200, response.status_code)
self.assertEqual(b'xlsx-data', response.data)
self.assertEqual({
'operatorId': 31,
'username': 'member',
'startDate': '2026-07-01',
'endDate': '2026-07-20',
}, java_session.get.call_args.kwargs['params'])
self.assertEqual(60, java_session.get.call_args.kwargs['timeout'])
def test_delete_ignores_client_operator_and_uses_session_user(self):
self._login(41)
java_response = {'success': True, 'message': '删除成功', 'data': None}