修复:明确旧删除接口固定拒绝
This commit is contained in:
@@ -108,8 +108,8 @@ async def edit_master_customer(
|
||||
|
||||
@customer_controller.delete(
|
||||
'/{customer_ids}',
|
||||
summary='删除客户接口',
|
||||
description='用于删除客户',
|
||||
summary='兼容旧接口,固定拒绝,请使用测试数据批次清理',
|
||||
description='兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理',
|
||||
response_model=ResponseBaseModel,
|
||||
dependencies=[UserInterfaceAuthDependency('master:customer:remove')],
|
||||
)
|
||||
|
||||
@@ -106,8 +106,8 @@ async def edit_master_line(
|
||||
|
||||
@line_controller.delete(
|
||||
'/{line_ids}',
|
||||
summary='删除生产线接口',
|
||||
description='用于删除生产线',
|
||||
summary='兼容旧接口,固定拒绝,请使用测试数据批次清理',
|
||||
description='兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理',
|
||||
response_model=ResponseBaseModel,
|
||||
dependencies=[UserInterfaceAuthDependency('master:line:remove')],
|
||||
)
|
||||
|
||||
@@ -120,8 +120,8 @@ async def edit_master_pallet(
|
||||
|
||||
@pallet_controller.delete(
|
||||
'/{pallet_ids}',
|
||||
summary='删除托盘接口',
|
||||
description='用于删除尚未入库且没有流转事件的托盘',
|
||||
summary='兼容旧接口,固定拒绝,请使用测试数据批次清理',
|
||||
description='兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理',
|
||||
response_model=ResponseBaseModel,
|
||||
dependencies=[UserInterfaceAuthDependency('master:pallet:remove')],
|
||||
)
|
||||
|
||||
@@ -158,8 +158,8 @@ async def edit_master_site(
|
||||
|
||||
@site_controller.delete(
|
||||
'/{site_ids}',
|
||||
summary='删除客户现场接口',
|
||||
description='用于删除客户现场',
|
||||
summary='兼容旧接口,固定拒绝,请使用测试数据批次清理',
|
||||
description='兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理',
|
||||
response_model=ResponseBaseModel,
|
||||
dependencies=[UserInterfaceAuthDependency('master:site:remove')],
|
||||
)
|
||||
|
||||
@@ -108,8 +108,8 @@ async def edit_master_strain(
|
||||
|
||||
@strain_controller.delete(
|
||||
'/{strain_ids}',
|
||||
summary='删除菌种接口',
|
||||
description='用于删除菌种',
|
||||
summary='兼容旧接口,固定拒绝,请使用测试数据批次清理',
|
||||
description='兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理',
|
||||
response_model=ResponseBaseModel,
|
||||
dependencies=[UserInterfaceAuthDependency('master:strain:remove')],
|
||||
)
|
||||
|
||||
@@ -163,8 +163,8 @@ async def edit_master_warehouse(
|
||||
|
||||
@warehouse_controller.delete(
|
||||
'/{warehouse_ids}',
|
||||
summary='删除仓库接口',
|
||||
description='用于删除仓库',
|
||||
summary='兼容旧接口,固定拒绝,请使用测试数据批次清理',
|
||||
description='兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理',
|
||||
response_model=ResponseBaseModel,
|
||||
dependencies=[UserInterfaceAuthDependency('master:warehouse:remove')],
|
||||
)
|
||||
|
||||
@@ -965,6 +965,21 @@ class TestMasterControllers(unittest.TestCase):
|
||||
self.assertIn(f'{prefix}/{{{resource}_id}}', schema['paths'])
|
||||
self.assertIn('get', schema['paths'][f'{prefix}/{{{resource}_id}}'])
|
||||
|
||||
def test_legacy_delete_openapi_declares_fixed_rejection(self) -> None:
|
||||
app = FastAPI()
|
||||
for router in self.ROUTERS.values():
|
||||
app.include_router(router)
|
||||
schema = app.openapi()
|
||||
|
||||
expected_summary = '兼容旧接口,固定拒绝,请使用测试数据批次清理'
|
||||
expected_description = '兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理'
|
||||
for resource in self.ROUTERS:
|
||||
with self.subTest(resource=resource):
|
||||
operation = schema['paths'][f'/master/{resource}/{{{resource}_ids}}']['delete']
|
||||
self.assertEqual(expected_summary, operation['summary'])
|
||||
self.assertEqual(expected_description, operation['description'])
|
||||
self.assertNotIn('用于删除', operation['description'])
|
||||
|
||||
def test_all_twenty_five_permission_dependencies_are_exact(self) -> None:
|
||||
expected_permissions = {
|
||||
(f'/master/{resource}/list', 'GET'): f'master:{resource}:list' for resource in self.ROUTERS
|
||||
|
||||
@@ -1263,6 +1263,21 @@ class TestPalletAndAssignmentControllers(unittest.IsolatedAsyncioTestCase):
|
||||
schema['paths']['/master/pallet/{pallet_id}/qrcode']['get']['responses']['200']['content'],
|
||||
)
|
||||
|
||||
def test_legacy_delete_openapi_declares_fixed_rejection(self) -> None:
|
||||
app = FastAPI()
|
||||
for router in self._routers():
|
||||
app.include_router(router)
|
||||
operation = app.openapi()['paths']['/master/pallet/{pallet_ids}']['delete']
|
||||
|
||||
self.assertEqual('兼容旧接口,固定拒绝,请使用测试数据批次清理', operation['summary'])
|
||||
self.assertEqual(
|
||||
'兼容旧接口,固定拒绝单条物理删除,请使用测试数据批次清理',
|
||||
operation['description'],
|
||||
)
|
||||
self.assertNotIn('用于删除', operation['description'])
|
||||
self.assertNotIn('尚未入库', operation['description'])
|
||||
self.assertNotIn('没有流转事件', operation['description'])
|
||||
|
||||
def test_route_response_models_are_exact(self) -> None:
|
||||
routes = self._routes()
|
||||
self.assertEqual(
|
||||
|
||||
Reference in New Issue
Block a user