Search
Project
General
Profile
Sign in
Register
Home
Projects
Help
Search
:
NDB
All Projects
NDB
Overview
Activity
Issues
News
Download (4.87 KB)
缺陷 #4
» http-integration-results.json
Redmine Admin
, 10/06/2026 04:27 PM
{
"run"
:
"2026-10-07 isolated real HTTP"
,
"ports"
:
{
"postgres"
:
56488
,
"backend"
:
18000
,
"bff"
:
13000
,
"notificationMock"
:
13001
},
"fixture"
:
{
"meetings"
:
{
"A_started"
:
1
,
"B1_minutes_attend"
:
2
,
"B2_attend_minutes"
:
3
,
"D_paid_no_contract"
:
4
},
"contact_id"
:
2
,
"contract_count"
:
0
},
"checks"
:
[
{
"id"
:
"HTTP-001"
,
"name"
:
"Real NDB+BFF channel readiness"
,
"precondition"
:
"Dedicated ports/databases"
,
"action"
:
"GET /health/ready"
,
"expected"
:
"NDB signed ping and PG both up"
,
"at"
:
"2026-10-06T16:26:07.205Z"
,
"actual"
:
{
"status"
:
"ok"
,
"channelDb"
:
"up"
,
"ndb"
:
"up"
},
"status"
:
"Pass"
},
{
"id"
:
"HTTP-002"
,
"name"
:
"Synthetic zero-contract empty baseline"
,
"precondition"
:
"Fresh migration and seed"
,
"action"
:
"Read isolated ORM snapshot"
,
"expected"
:
"0 Registration, 0 Tasks, 0 Contracts"
,
"at"
:
"2026-10-06T16:26:07.205Z"
,
"actual"
:
{
"registrations"
:
[],
"tasks"
:
[],
"contract_count"
:
0
},
"status"
:
"Pass"
},
{
"id"
:
"HTTP-003"
,
"name"
:
"Anonymous minutes write denied"
,
"precondition"
:
"No JWT"
,
"action"
:
"PUT A minutes"
,
"expected"
:
"401 UNAUTHENTICATED, no mutation"
,
"at"
:
"2026-10-06T16:26:07.988Z"
,
"actual"
:
{
"status"
:
401
,
"data"
:
{
"error"
:
{
"code"
:
"UNAUTHENTICATED"
,
"message"
:
"请先登录"
},
"requestId"
:
"5b0eba33-be90-453c-94e7-8cd54ae9f0a9"
}
},
"status"
:
"Pass"
},
{
"id"
:
"HTTP-004"
,
"name"
:
"Unbound synthetic JWT denied"
,
"precondition"
:
"User lacks phone/contact"
,
"action"
:
"PUT A minutes"
,
"expected"
:
"403 CONTACT_NOT_BOUND"
,
"at"
:
"2026-10-06T16:26:07.990Z"
,
"actual"
:
{
"status"
:
403
,
"data"
:
{
"error"
:
{
"code"
:
"CONTACT_NOT_BOUND"
,
"message"
:
"请先绑定客户联系人"
},
"requestId"
:
"d6fc51dc-c9be-4257-8bed-1865ca970fbe"
}
},
"status"
:
"Pass"
},
{
"id"
:
"HTTP-005"
,
"name"
:
"Legacy subscription is not reservation"
,
"precondition"
:
"Only old channel subscription seeded"
,
"action"
:
"GET A minutes"
,
"expected"
:
"JSON null, no NDB Task"
,
"at"
:
"2026-10-06T16:26:08.000Z"
,
"actual"
:
{
"reservation"
:
null
,
"taskCount"
:
0
},
"status"
:
"Pass"
},
{
"id"
:
"HTTP-006"
,
"name"
:
"A started free minutes-only created"
,
"precondition"
:
"A started,0h,no contract"
,
"action"
:
"PUT A minutes"
,
"expected"
:
"reserved+unified Registration/Task"
,
"at"
:
"2026-10-06T16:26:08.827Z"
,
"status"
:
"Fail"
,
"actual"
:
"{
\"
status
\"
:502,
\"
data
\"
:{
\"
error
\"
:{
\"
code
\"
:
\"
NDB_CONTRACT_ERROR
\"
,
\"
message
\"
:
\"
上游响应格式异常
\"
},
\"
requestId
\"
:
\"
c7586089-567e-4a07-8c1c-63832cead135
\"
}}"
,
"diagnostic"
:
{
"upstreamStatus"
:
200
,
"upstreamBody"
:
{
"code"
:
200
,
"message"
:
"操作成功"
,
"data"
:
{
"id"
:
1
,
"meeting_id"
:
1
,
"client_contact_id"
:
2
,
"task_id"
:
1
,
"status"
:
"reserved"
,
"attendance"
:
"pending"
,
"attend_requested"
:
false
,
"minutes_requested"
:
true
,
"task_status"
:
"ongoing"
,
"charge_status"
:
"unbilled"
,
"payment_status"
:
"not_required"
,
"created_at"
:
"2026-10-07T00:26:08.883534"
}
},
"isolatedSnapshot"
:
{
"registrations"
:
[
{
"id"
:
1
,
"meeting_id"
:
1
,
"client_contact_id"
:
2
,
"task_id"
:
1
,
"attend_requested"
:
false
,
"minutes_requested"
:
true
,
"status"
:
"confirmed"
}
],
"tasks"
:
[
{
"id"
:
1
,
"status"
:
"ongoing"
,
"contract_id"
:
null
,
"charge_total_hours"
:
"0.0000"
,
"actual_price"
:
"0.00"
,
"total_price"
:
"0.00"
}
],
"contract_count"
:
0
}
}
}
],
"summary"
:
{
"executed"
:
6
,
"pass"
:
5
,
"fail"
:
1
},
"fatal"
:
"HTTP-006 failed"
,
"cleanup"
:
{
"services"
:
[
{
"role"
:
"Backend"
,
"pid"
:
52464
,
"exitCode"
:
null
,
"signal"
:
"SIGTERM"
},
{
"role"
:
"BFF"
,
"pid"
:
52466
,
"exitCode"
:
null
,
"signal"
:
"SIGTERM"
}
],
"container"
:
"ndb-qa-minutes-http-20261007-56488"
,
"containerStopped"
:
true
},
"boundaries"
:
{
"realWechatLogin"
:
false
,
"miniUI"
:
false
,
"realEmails"
:
0
,
"sharedBusinessDbWrites"
:
0
},
"mockNotifications"
:
[]
}
« Previous
1
2
3
4
Next »
(1-1/4)
Loading...