功能增加
This commit is contained in:
1 parent
b340fc7ad7
commit
f1993eb388
69 files changed
+2243
-162
No files matched your search
@@ -102,6 +102,28 @@ func TestSettlementProcessorLeavesNonSeedanceSuccessAlone(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSettlementProcessorSettlesSuccessfulMinimaxH3Usage(t *testing.T) {
|
||||
state := &settlementStateStub{}
|
||||
ledger := &settlementLedgerStub{posting: billing.WalletPosting{LedgerID: "minimax-settlement", CreatedAt: time.Date(2026, 9, 4, 8, 0, 0, 0, time.UTC)}}
|
||||
advanced := jobs.Job{
|
||||
ID: "job-h3", Provider: "minimax", ReqKey: billing.MinimaxH3Model, Capability: "video.generate", Status: jobs.StatusSucceeded,
|
||||
ResponsePayload: json.RawMessage(`{"usage":{"outputSeconds":6,"inputSeconds":0,"inputImageCount":1}}`),
|
||||
Billing: json.RawMessage(`{"status":"charged","amountFen":300,"reservedAmountFen":300,"markupMultiplier":1.2,"settlementStatus":"pending","parameters":{"resolution":"768p"}}`),
|
||||
UsageContext: json.RawMessage(`{"organizationId":"org-1","accountId":"account-1"}`),
|
||||
}
|
||||
processor := NewSettlementProcessor(settlementProcessorStub{job: advanced}, ledger, state, time.Now)
|
||||
got, err := processor.Advance(context.Background(), jobs.Job{ID: "job-h3", Provider: "minimax", Status: jobs.StatusRunning})
|
||||
if err != nil || ledger.calls != 1 || ledger.request.DeltaFen != 60 || ledger.request.Metadata["operation"] != "minimax_h3_actual_settlement" {
|
||||
t.Fatalf("job=%#v request=%#v calls=%d err=%v", got, ledger.request, ledger.calls, err)
|
||||
}
|
||||
var snapshot map[string]any
|
||||
_ = json.Unmarshal(got.Billing, &snapshot)
|
||||
usage := snapshot["providerUsage"].(map[string]any)
|
||||
if snapshot["amountFen"] != float64(360) || snapshot["settlementStatus"] != "settled" || usage["outputSeconds"] != float64(6) || usage["videoPriceFenPerSecond"] != float64(50) {
|
||||
t.Fatalf("billing snapshot=%#v", snapshot)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSettlementProcessorRefundsUnusedSeedreamLayerReservation(t *testing.T) {
|
||||
state := &settlementStateStub{}
|
||||
ledger := &settlementLedgerStub{posting: billing.WalletPosting{LedgerID: "layer-settlement", CreatedAt: time.Date(2026, 8, 21, 8, 0, 0, 0, time.UTC)}}
|
||||
|
||||
Reference in new issue
Block a user