Project

General

Profile

Actions

缺陷 #22

open
RA

QA验收 #21: #6380 收款信息脱敏回写修复及相似流程验收

[测试] 合成支付宝收款主档最小创建返回HTTP500/HTML

缺陷 #22: [测试] 合成支付宝收款主档最小创建返回HTTP500/HTML

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

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

0%

Estimated time:

Description

仅测试tcrm-api,BE1.20.7b0/eeb164c86859b3b9079f1a93e46300625dc72d2a,FE2.16.5-beta.0/80ddf79e9acd9a85a3d7d6368ea60a6c90e07015。父QA #21,标记QA6380-20261023-21-a81c,测试专用PM16。

真实测试API复现:POST /v1/candidates/574238/payments/,JSON仅category=alipay、不可付款随机合成account、QA标记username(不含真实身份证/银行账号/联系方式)。这些是NewCandidatePaymentInfosSerializers声明的必需字段。
预期:成功创建合成支付宝主档,或合法校验失败返回JSON业务错误;不应HTTP500/HTML。
实际:HTTP500、Content-Type text/html,非JSON。request ID 7fb3c38c-8c68-4a7c-9d80-6ec0765c3f0b。前一次五方式准备循环在首个alipay时同样得到HTML,未拿到status;已GET确认仅此前成功的unionpay12/corporate13,query-before-retry后用最小字段单次定向确认500,未再重试。

此前首轮unionpay因合成证件值超18字符业务400属于fixture格式问题,已另行修正且GET零账户后成功,不与本500混淆。
影响:本轮五种方式与推荐人支付宝/手工新增相关依赖场景受阻;不等于所有费用引用保存失败。QA不修源码、不扩大生产范围。
脱敏证据outputs/payment-info-reference-20261023/qa/alipay-creation-check.json,现场仅合成专家574238/574239/574240、项目93/Task141;保留用于定位,不包含真实资料或原始错误正文。请Backend/Ops根据request ID限定检查测试运行栈,尚未确认根因或是否既有缺陷。

RA Updated by Redmine Admin 19 days ago Actions #1

QA6380-DEFECT22-ROOT-20261023

原#22 Fail保持,不重试、不修库、不关闭。仅补充Operations独立只读诊断证据:

  • 同requestId 7fb3c38c-8c68-4a7c-9d80-6ec0765c3f0b,HTTP500/HTML:IntegrityError,candidate_payment_infos.bank_country插入NULL违反NOT NULL。
  • 同logger上下文:api/candidates/views.py:1518 serializer.save → DRF create → PostgreSQL INSERT。
  • 实际测试PG16.15元数据:information_schema.is_nullable=NO,pg_attribute.attnotnull=true;candidates.0009迁移账本已applied。
  • 当前model及migration0009均null=True;非unionpay/corporate置bank_country=None逻辑早于本包。已确认测试实际结构与声明不一致,未调查漂移原因/时点,也不外推生产状态。
  • 原始脱敏证据:outputs/payment-info-reference-20261023/release/qa-alipay-diagnosis.md、qa-alipay-request-error.json、qa-alipay-schema-read.json。QA读取报告,未冒充自行连接DB或独立查运行日志。

相关PayPal/Joyowo新主档前置本轮Blocked,不重复制造同根500。已取得银联/对公ID引用成功不代表这三类新建通过。只有后续明确授权修复并重测才能更新本缺陷结论。

RA Updated by Redmine Admin 19 days ago Actions #2

QA22-SHARED-R1-c177dad6 — #22修复后测试站补测

执行时间:2026-10-23 12:06:01–12:06:06 Asia/Shanghai。仅测试tcrm-api;原QA责任聊天,真实密码认证的PM16/roles=[pm],复用Task141/专家574238。没有浏览器、mock响应、真实付款、审批、通知或QA DB直写。

本轮15个实际测试站判定项:15 Pass / 0 Fail / 0 Blocked / 0 Skipped。另有33项runner离线检查与Backend24个真实PG本地方法,分别标层,不计入这15项。原#21的28P/1F/2B及#22 journal269不改写;本轮是修复后新候选补测,不是重跑旧包。

候选与影响边界

  • 实际GET版本1.20.7b1,requestId e528238d-ec04-4355-9dbe-68c1fdecc005,HTTP200/JSON/code200。
  • 源ec05f61db80d02394a50d6291e4bdf7102b70f2d;实际preview/tag v1.20.7b1候选59adf594ccd6c4133ae3cba5bf1c9e4c434e80f4。
  • Ops测试收据:outputs/payment-info-reference-20261023/release/issue22-test-release-receipt.json,SHA256 3ab26be3931992fbd5a607d9e154e44bbc99016d3234fc03cda79c21f1c2f4e1;底层issue22-after-runtime.json,SHA256 f52ce0117203c40924e0e4a488641e548f2c13310e326be8ddad2a4d504315e7。实际PG16.15、bank_country可空,ledger129→130仅新增candidates.0016,五服务同镜像且非混版。QA读取Ops元数据回执,未冒称直接连接DB。
  • FE未发布,延用2.16.5-beta.0原流程/截图。变更影响对照outputs/payment-info-reference-20261023/issue22/impact-and-regression.md:仅支付宝国家默认及可空约束修复;归属/脱敏/历史引用、支付锁、金额公式、财务窄编辑与FE界面代码不变。原28项有效通过证据按原层级复用,不新增28个本轮Pass。

逐项结果

共同证据:qa/issue22/QA22-20261023-R1-c177dad6/manifest.json、events.jsonl;事件含请求前requestId/method/path、HTTP/ContentType/code,写成功先登记对象ID再独立GET。只有本轮唯一标记合成数据,无真实收款资料。

编号 操作/预期 实际结果 状态 请求ID/证据
I22-ENV 新BE实际版本及Ops schema/ledger/非混版收据齐备 直接GET200/code200版本1.20.7b1;nullable=true、ledger129→130仅0016;绑定两份收据SHA256 Pass e528238d-ec04-4355-9dbe-68c1fdecc005
I22-CREATE-ALIPAY-OMITTED 支付宝省略国家创建并独立GET默认中国 主档20;国家中国;唯一ID及主档数量+1 Pass 4f437a3b-d35d-425d-a35a-e92a67739517
I22-REFERENCE-ALIPAY 已有ID20窄载荷建cost,完整快照及国家正确 成本38;引用20/alipay/中国;收款账号和姓名等于主档;unpaid;成本数量+1 Pass 892b2bf3-de8d-40db-9561-81d811e8857c
I22-CREATE-ALIPAY-NULL 支付宝显式null创建并独立GET默认中国 主档21;国家中国;唯一ID及主档数量+1 Pass 19f0b026-f8fc-4a59-b173-afa9a4ce84f0
I22-CREATE-ALIPAY-EMPTY 支付宝空串创建并独立GET默认中国 主档22;国家中国;唯一ID及主档数量+1 Pass 09325cfa-1cde-4ad7-bf2f-20ebc060ad80
I22-CREATE-PAYPAL-OMITTED PayPal创建后国家仍可空 主档23;独立GET国家严格null;数量+1 Pass 6beb641f-0759-4141-becb-2b233a35c43c
I22-REFERENCE-PAYPAL 已有ID23窄载荷建cost,完整快照及国家正确 成本39;引用23/paypal/null;收款账号和姓名等于主档;unpaid;成本数量+1 Pass c7bd0b0c-648a-4821-b650-cb4d5b30de1d
I22-CREATE-JOYOWO-OMITTED Joyowo创建后国家仍可空 主档24;独立GET国家严格null;数量+1 Pass 8b9d593f-594c-467e-807d-d1a1169d9455
I22-REFERENCE-JOYOWO 已有ID24窄载荷建cost,完整快照及国家正确 成本40;引用24/joyowo/null;收款账号和姓名等于主档;unpaid;成本数量+1 Pass e9cd5d2f-899d-4ca7-8853-1e9d6f0e4614
I22-EDIT-EXPLICIT 支付宝显式合法非空国家沿旧规则,并不追写成本 新主档20保存美国;成本38完整payment_info摘要不变 Pass ea4b8d7a-fc5a-475a-9d73-f785b988459f
I22-EDIT-OMITTED 支付宝编辑省略国家保留既有非空值 主档20独立GET仍美国;成本38快照不变 Pass a8682f4c-2393-47ba-be71-542ebd3e63d4
I22-EDIT-NULL 支付宝编辑显式null补中国 主档20独立GET中国;成本38快照不变 Pass 5e3b8813-bac1-4a67-8dc8-cd17e1eda72f
I22-EDIT-EMPTY 先正常设美国,再编辑空串补中国 主档20独立GET中国;成本38快照不变;设美国为前置,不另计执行 Pass 20c6e721-a81a-4e84-850b-57a0654d43b5
I22-UNIONPAY-READ-REGRESSION 保留银联主档只读相邻检查,不重放原保存 主档12仍unionpay/中国;未写该主档 Pass 本轮manifest结果及事件
I22-OLD-FIXTURE-UNCHANGED 新建/编辑前后旧成本29/35不得变化 完整旧成本SHA256与准备基线一致,后续清理后再次一致 Pass 本轮manifest结果及事件

层级区分与未重测项

  • 支付宝旧主档原国家为空、编辑省略补中国:复用Backend独占真实迁移PG的test_alipay_edit_missing_saved_country_defaults_to_china,green-final.log为24方法通过,不称共享站真实旧数据测试;没有DB造空值或切换新主档类型凑场景。
  • 银联只做本轮只读邻近检查;对公规则和原引用路径据影响比较未变,复用原METHOD-CORPORATE证据,未拿已软删13充当有效fixture,也未新增对公主档。
  • 新成本只判引用、方式、国家、完整收款来源、数量及未支付状态;未重算金额公式。金额/国家筛选/Excel国家内容的新增覆盖是Backend真实PG/Workbook层,不冒充本轮共享站Excel或UI验收。
  • 未重测未变化的支付中/撤回/全权限/财务/翻译或原客户端重试;后者既有浏览器受控注入层级继续保留,未升级成真实服务端故障恢复。

精确清理及账号

  • 主档20/21/22/23/24、成本38/39/40均只属于本run。全部经公开DELETE软删,8次均code200,并各自列表GET确认不再返回;没有清理旧对象或物理删除。
  • 旧保留Task141/专家链、主档12/16、成本29/35保持;完整成本基线SHA256 0835d91b7c2e3974e378d5ea954fa100b4b72a33f0c17118e686f4f4e83d9bd5,清理前后相同。
  • 本次PM16单次认证,token仅内存;worker执行和finally资源收尾已完成,未创建浏览器空间或持久秘密。finance19未登录、未停用,账号及既有BW条目按规则保留。没有声称服务器JWT已吊销。

增量结论

#22原500在新候选三种支付宝创建输入下补测通过;原PayPal/Joyowo阻塞对应的创建及ID引用也通过。可解除这三个原测试缺口的最新阻塞,但保留原始Fail/Blocked历史及旧候选身份;不自动修改缺陷状态。

生产尚未部署。只将本轮结果交主责后续发布门禁;人类生产授权仍受默认上海22:00后窗口约束。未知外部客户端、实际供应商/付款/通知及生产环境不在本轮实测范围。手册仅做候选/已解决FAQ/结果引用状态增量,原图和原有效三方审核不重拍重审。

RA Updated by Redmine Admin 19 days ago Actions #3

QA22-PRODUCTION-DELIVERY-20261023

2026-10-23生产发布交付记录,引用Operations原始执行证据;QA没有访问生产、重跑业务或创建生产fixture,本条不是新增业务测试轮次,不增加既有15项QA计数。

人类最新“现在就上线吧”给予本次提前窗口例外,覆盖此前22:00等待;主责已暂停原定时自动化。Operations按BE→FE顺序完成实际部署及有界只读smoke,非仅CI/部署触发成功。

实际生产候选

  • BE实际版本 1.20.7,main/tag v1.20.7候选f9767468e6dcdb9b610a54ebc1a603fadb14f877,源ec05f61db80d02394a50d6291e4bdf7102b70f2d;CNB cnb-eb8-1k5jgfs1o成功。实际镜像sha256:0efd0bb637e27fd1db9140a9c50144666a27bf803fe50a0bbaf17908e59143e4,Ops于12:34收据确认实际HTTP版本200、五服务非混版及正常migration exit0。
  • FE实际版本 2.16.5,main/tag v2.16.5候选568bfc7661fd45f2d748465040f8ef1682f220b0;CNB cnb-j7j-1k5jgjevh成功并确认production构建。实际镜像sha256:a88139c648496ec05b1e86669ab9b14660ed6834f5bd3fea05211eef9f47a846。Ops于12:38收据确认真实登录页footer2.16.5/登录控件、公开入口与容器一致,3个支付bundle HTTP200/hash匹配容器且含payment_info_id;BE核验完成后才推FE tag。
  • 生产bank_country为varchar(64)、nullable=true;ledger129→130仅新增candidates.0016_repair_payment_bank_country_nullable,无删除/数据回填。正常自动迁移exit0,实际migration SHA25687e4aaf60f50891d1a461eb6b258b7d986e3355bfc08254db94ffa7bdad0350e,保留源main的0015_merge依赖,不把测试preview父适配带入生产。

生产验证边界与复用

Ops实际只读smoke:BE公开version/接口schema shape、迁移metadata;FE登录展示/版本、公开资源及字节摘要。没有读取业务行/PII,没有生产cost新增、真实付款或通知;不等同生产真实#6380收款信息已成功保存或已付款,未自动操作实际CRM Task6380。

测试#22 journal271的15Pass及#21 journal272关联、原28项有效证据按原层级复用。BE受影响两类serializer AST与测试候选一致,FE支付运行文件与测试候选逐字一致,migration SQL与PG验证源一致;仅版本/merge身份与测试父适配不同,不机械重跑。未知外部客户端/真实供应商与付款未实测,既有客户端重试的浏览器注入层级不升级。

手册已由主责/Ops纳入FE候选,SHA2563edf1c241296fac072e0824c900bedfd7893046d6e25696e9789862da7c7c95d;原01/02/04图和有效限定审核保留测试来源,不改标生产截图。QA本包不修改旧手册或旧15Pass报告。

原始证据与状态

  • outputs/payment-info-reference-20261023/release/issue22-production-final-receipt.json,SHA256cfb513f72bb5d2ee2bdbf095e1b9dfc506efb6c8f802771674641d853c35533b。
  • outputs/payment-info-reference-20261023/release/issue22-production-evidence-reuse.json,SHA256936f16c1bbabf15d04f749931844d553b93852f229760f9a5b4cf74e29294e4f。
  • 底层issue22-production-backend-live.json、issue22-production-frontend-live.json及对应runtime文件;BE runtime SHA256fb6d7b4e64174363ae9026d2bcc44d4129e828eecc33c608d6ecf31642165a18,FE runtime SHA256673b6dbd64c86113d293360758f47af86d71576aba6448eb5507957dbe5d5f59。

BE+FE完整组合及有界生产只读发布验证通过,按项目实际完成态更新#22为“已完成”(3,非“已关闭”4)。原j269/271及测试/生产层级保留;账号16/19未由QA停用/改角色,原dirty/source/preview引用由Ops保留。QA仅执行本条Redmine回写,生产部署与smoke执行者为Operations。

RA Updated by Redmine Admin 19 days ago Actions #4

QA22-PRODUCTION-STATUS-CLARIFICATION-20261023

补充journal273状态读回结论,不重复生产正文、不新增测试结果。生产BE1.20.7/FE2.16.5及Ops有界只读发布验证成功,原journal271的15项测试结果不变。

journal273正文已全文读回,但其中“更新为已完成”仅为请求意图,实际状态仍为新建(1),并未完成状态转换。同一CLI身份GET /issues/22.json?include=allowed_statuses返回allowed_statuses=[];#21亦为空。以本机实际CLI和临时localhost假凭据接收端进行纯序列化诊断,已确认issues update --status 已完成实际生成{"issue":{"status_id":3}},不是CLI漏传字段;该诊断未访问生产或再次向Redmine发送状态写请求。

当前将状态转换记为Redmine工作流/允许转换阻塞(具体配置原因未改动、未推断)。不更换凭据、不改角色或工作流、不强关、不盲重试;请项目管理者按现有工作流处理。生产部署成功与tracker状态未同步分别记录,原历史journal269/271/273均保留;未操作实际CRM Task6380。

Actions

Also available in: PDF Atom