chore: retire legacy rectification runtime
This commit is contained in:
@@ -389,76 +389,6 @@ test("billing, subscriptions, usage authorization, RBAC, and model publication r
|
||||
assert.equal(sql(`select count(*) from public.payment_orders where user_id='${ids.concurrentOverlapUser}' and grant_status='failed' and grant_error='overlapping_subscription'`), "1");
|
||||
sql(`drop trigger test_delay_concurrent_subscription_grant on public.user_subscriptions; drop function public.test_delay_concurrent_subscription_grant()`);
|
||||
|
||||
const subscriptionCaseId = "40000000-0000-4000-8000-000000000001";
|
||||
const declaredBirthInput = {
|
||||
birthDate: "1990-01-01",
|
||||
reportedTime: "05:20",
|
||||
source: "approximate",
|
||||
birthTimeClue: "家人记得天刚亮",
|
||||
uncertaintyBeforeMinutes: 30,
|
||||
uncertaintyAfterMinutes: 30,
|
||||
birthplace: {
|
||||
countryCode: "TW", provinceCode: "TPE", cityCode: "TPE-CITY", districtCode: "DAAN",
|
||||
latitude: 25.0268, longitude: 121.5434, timezoneOffset: 8,
|
||||
},
|
||||
};
|
||||
const firstTurn = {
|
||||
caseId: subscriptionCaseId,
|
||||
journeyProtocol: "conversational-evidence-v3",
|
||||
status: "active",
|
||||
turnVersion: 0,
|
||||
narrative: "我们会用已经发生的人生事件验证当前候选范围。",
|
||||
candidate: { status: "pending_validation", representativeTime: "05:21", rangeStart: "05:10", rangeEnd: "05:30" },
|
||||
technicalReceipt: {
|
||||
calculationVersion: "rectification-v3.1",
|
||||
stableLayers: ["D1"], sensitiveLayers: ["D9"], candidateDifferenceRefs: ["difference-1"],
|
||||
},
|
||||
evidenceRequest: { domains: ["career", "relocation"], datePrecision: "month_preferred", freeTextAllowed: true },
|
||||
evidenceRecap: [],
|
||||
actions: ["answer", "pause", "abandon"],
|
||||
pendingConsultationQuestion: null,
|
||||
};
|
||||
const privateCandidate = {
|
||||
resultId: "40000000-0000-4000-8000-000000000002",
|
||||
representativeTime: "05:21",
|
||||
calculationVersion: "rectification-v3.1",
|
||||
candidateWeights: [0.6, 0.4],
|
||||
};
|
||||
assert.equal(sql(`select source||':'||credits from public.authorize_usage('${ids.subscriber}','rectification',null,'rectification:${subscriptionCaseId}',2)`), "subscription:10");
|
||||
sql(`
|
||||
insert into public.birth_time_rectification_billing (
|
||||
case_id,user_id,price,state,reservation_id,reserve_action_id,balance_after,reserved_at
|
||||
) select '${subscriptionCaseId}','${ids.subscriber}',2,'reserved',id,'${subscriptionCaseId}',10,now()
|
||||
from public.usage_reservations where user_id='${ids.subscriber}' and request_id='rectification:${subscriptionCaseId}';
|
||||
select public.create_conversational_rectification_case(
|
||||
'${ids.subscriber}','${subscriptionCaseId}',0,'${subscriptionCaseId}',null,null,
|
||||
'${sqlJson(declaredBirthInput)}'::jsonb,
|
||||
'${sqlJson(firstTurn)}'::jsonb,
|
||||
'{"modelId":"synthetic-model","schemaValidated":true}'::jsonb,
|
||||
'${sqlJson(privateCandidate)}'::jsonb
|
||||
)
|
||||
`);
|
||||
assert.equal(sql(`select success||':'||billing_state from public.complete_conversational_rectification_fee('${ids.subscriber}','${subscriptionCaseId}',0,'${subscriptionCaseId}')`), "true:charged");
|
||||
assert.equal(sql(`select source||':'||status from public.usage_reservations where user_id='${ids.subscriber}' and request_id='rectification:${subscriptionCaseId}'`), "subscription:completed");
|
||||
assert.equal(sql(`select error_code from public.release_usage('${ids.subscriber}','rectification:${subscriptionCaseId}','must not release completed usage')`), "request_completed");
|
||||
const completedTurn = { ...firstTurn, status: "completed", evidenceRequest: null, actions: [] };
|
||||
sql(`update public.birth_time_rectification_cases set status='completed',turn_state='${sqlJson(completedTurn)}'::jsonb,journey_snapshot='${sqlJson(completedTurn)}'::jsonb where id='${subscriptionCaseId}'`);
|
||||
sql(`select public.conversational_rectification_refund_unconfirmed_case('${ids.subscriber}','${subscriptionCaseId}','40000000-0000-4000-8000-000000000003')`);
|
||||
assert.equal(sql(`select state from public.birth_time_rectification_billing where case_id='${subscriptionCaseId}'`), "released");
|
||||
assert.equal(sql(`select status from public.usage_reservations where user_id='${ids.subscriber}' and request_id='rectification:${subscriptionCaseId}'`), "released");
|
||||
assert.equal(sql(`select source from public.authorize_usage('${ids.subscriber}','rectification',null,'rectification:40000000-0000-4000-8000-000000000004',2)`), "subscription");
|
||||
sql(`select * from public.release_usage('${ids.subscriber}','rectification:40000000-0000-4000-8000-000000000004','cleanup')`);
|
||||
|
||||
const orphanCaseId = "40000000-0000-4000-8000-000000000005";
|
||||
const replacementCaseId = "40000000-0000-4000-8000-000000000006";
|
||||
assert.equal(sql(`select success||':'||credits||':'||billing_state from public.reserve_conversational_rectification_fee('${ids.creditUser}','${orphanCaseId}',0,'${orphanCaseId}',2)`), "true:18:reserved");
|
||||
assert.equal(sql(`select success||':'||credits||':'||billing_state from public.reserve_conversational_rectification_fee('${ids.creditUser}','${orphanCaseId}',0,'${orphanCaseId}',2)`), "true:18:reserved");
|
||||
assert.equal(sql(`select success||':'||credits||':'||billing_state from public.reserve_conversational_rectification_fee('${ids.creditUser}','${replacementCaseId}',0,'${replacementCaseId}',2)`), "true:18:reserved");
|
||||
assert.equal(sql(`select count(*) from public.credit_transactions where user_id='${ids.creditUser}' and request_id='rectification:${orphanCaseId}' and transaction_type='refund'`), "1");
|
||||
assert.equal(sql(`select success||':'||credits||':'||billing_state from public.release_conversational_rectification_fee('${ids.creditUser}','${replacementCaseId}',0,'${replacementCaseId}',2)`), "true:20:released");
|
||||
assert.equal(sql(`select success||':'||credits||':'||billing_state from public.release_conversational_rectification_fee('${ids.creditUser}','${replacementCaseId}',0,'${replacementCaseId}',2)`), "true:20:released");
|
||||
assert.equal(sql(`select count(*) from public.credit_transactions where user_id='${ids.creditUser}' and request_id='rectification:${replacementCaseId}' and transaction_type='refund'`), "1");
|
||||
|
||||
const agenticCaseKey = "rectification:40000000-0000-4000-8000-000000000007";
|
||||
const agenticReservation = sql(`select reservation_id from public.authorize_usage('${ids.creditUser}','rectification',null,'${agenticCaseKey}',2)`);
|
||||
assert.equal(sql(`select reservation_id||':'||credits from public.authorize_usage('${ids.creditUser}','rectification',null,'${agenticCaseKey}',2)`), `${agenticReservation}:18`);
|
||||
|
||||
Reference in New Issue
Block a user