Project

General

Profile

Actions

QA验收 #8

open
RA

三方客户联系人信息查询 API 与 Apifox 同步

QA验收 #8: 三方客户联系人信息查询 API 与 Apifox 同步

Added by Redmine Admin 26 days ago. Updated 26 days ago.

Status:
新建
Priority:
普通
Assignee:
-
Start date:
10/16/2026
Due date:
% Done:

0%

Estimated time:

Description

新增只读三方接口,按联系人 ID 或手机号(二选一)查询联系人 ID、姓名、公司 ID、公司名称、职位。独立 client:read Scope,HMAC 鉴权,手机号精确匹配主/备用号码,重复匹配报歧义,排除已删除联系人/公司。覆盖参数、权限、查询边界、白名单和回归测试,记录逐条 QA 结果。用户要求同步 Apifox 并直接上线;提交授权依项目约束待候选准备完成后确认,生产上线意图已明确。

RA Updated by Redmine Admin 26 days ago Actions #1

开发聚焦测试证据 - 2026-10-16(非正式QA验收)

分支 feature/client-contact-query;SQLite内存库,出站网络封锁;49项Pass。正式QA线程拒收协调派单,当前Blocked;不把此记录视为QA已完成。

编号/测试 预期 实际 状态
api.application_auth.tests.ApplicationAuthTests.test_canonical_query_sorts_keys_and_preserves_duplicates 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_canonical_query_uses_rfc3986_space_encoding 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_disallowed_ip_is_forbidden 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_expired_timestamp_is_rejected 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_invalid_forwarded_ip_is_not_persisted 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_missing_scope_is_forbidden 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_reused_nonce_is_rejected 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_valid_signature_authenticates_application 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationAuthTests.test_wrong_signature_is_rejected 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationManagementTests.test_create_returns_secret_once_and_list_never_returns_it 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationManagementTests.test_non_admin_cannot_manage_applications 测试断言全部满足 all assertions passed Pass
api.application_auth.tests.ApplicationManagementTests.test_rotate_secret_invalidates_previous_secret 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_default_only_active_and_whitelisted_fields 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_disabled_application_rejected 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_email_is_exact_and_case_insensitive 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_existing_scopes_do_not_grant_user_directory 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_explicit_inactive_and_inactive_hidden_by_default 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_filters_combine_with_and 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_id_filter 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_invalid_query_returns_http_400 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_name_matches_chinese_and_english 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_no_credentials_rejected 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_pagination_order_total_and_empty_page 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_read_only_route 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_replay_rejected 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_schema_preserves_envelope_parameters_and_security 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_scope_is_available_to_application_management 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_trailing_slash_optional_without_redirect 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_users.InternalUsersTests.test_wrong_signature_rejected 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_deleted_contact_and_company_are_hidden 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_deleted_duplicate_does_not_cause_ambiguity 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_disabled_app_and_disallowed_ip 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_id_lookup_whitelist 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_invalid_missing_combined_unknown_and_repeated_queries 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_missing_contact_is_404 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_missing_credentials_bad_signature_and_replay 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_multiple_contacts_are_ambiguous_including_cross_field 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_no_company_is_hidden 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_no_write_methods_or_redirect 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_null_ordinary_fields_are_retained 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_other_scopes_do_not_grant_contact_read 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_primary_and_backup_phone_exact 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_query_only_loads_projection_fields 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_resolve_route_is_unchanged 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_same_record_matching_both_phones_is_unique 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_schema_contract 测试断言全部满足 all assertions passed Pass
api.application_auth.tests_internal_clients.InternalClientsTests.test_scope_available_without_automatic_grant 测试断言全部满足 all assertions passed Pass
api.meetings.tests.MeetingApiTests.test_resolve_contact_and_ambiguity 测试断言全部满足 all assertions passed Pass
api.meetings.tests.MeetingApiTests.test_resolve_contact_requires_new_auth_after_number_replacement 测试断言全部满足 all assertions passed Pass

证据:outputs/client-contact-query-20261016/backend-recorded-tests.log、backend-test-cases.json。首轮62项中的2失败/12错误日志保留;本功能装置及边界修复后聚焦49项通过,既有专家JSON查询不兼容SQLite,未声明完整PostgreSQL回归通过。尚未提交/发布/导入Apifox;AOCI既有治理漂移阻塞。

RA Updated by Redmine Admin 26 days ago Actions #2

用户已明确授权本次仅提交6个功能/文档文件及3个版本文件、立即发布后端生产v1.20.3,并明确回复“本次豁免独立 QA,按现有验证发布”。本轮开发49项Pass和运维只读独立审核为实际证据;正式QA未执行,按用户决定Skipped,不宣称QA验收完成。前端及preview不发布,既有.aoci/config.json保留,应用Scope不自动增权。生产与Apifox结果另行追加。

RA Updated by Redmine Admin 26 days ago Actions #3

交付结果:后端正式v1.20.3已发布,main/tag指向4d952e3ccf3ce9b2fd6c34f19925fa23c2e98e1f。CNB https://cnb.cool/mindsetech/NDB/backend/-/build/logs/cnb-933-1k51orne7 success;版本镜像、production alias、生产部署触发成功,测试阶段skipped。生产公开version HTTP200=1.20.3,新接口匿名401,实时schema五字段/参数/权限/错误状态一致。Apifox原8928025/main新增1接口+3模型,总指南已同步,公开页面读回验证:https://s.apifox.cn/bb842d4f-b365-47eb-a864-3cb75d422f82/525388094e0 。49项开发聚焦Pass;独立QA按用户明确豁免未执行,真实PostgreSQL集成及线上签名客户读取未验证,不自动授予client:read。仅原.aoci/config.json保留,frontend/preview不变。证据outputs/client-contact-query-20261016/release-result.md、apifox-result.md。

Actions

Also available in: PDF Atom