Files
ttstd-infinite-canvas/backend/internal/protocol/payment_rpc_test.go
ddCat bb2a79d365 feat(payment): 虎皮椒聚合支付 - 官方插件与跨平台可执行文件
新增 xunhupay 官方包,支付 RPC 与宿主只保留订单和验签边界;官方支付包同时带上各系统 provider,避免把 Linux ELF 当成本机入口。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 23:32:11 +08:00

30 lines
1.3 KiB
Go

package protocol
import "testing"
func TestPaymentRPCBackendCandidatesPreferPlatformTaggedFiles(t *testing.T) {
darwin := PaymentRPCBackendCandidates("backend/provider", "darwin", "arm64")
if got, want := darwin[0], "backend/provider-darwin-arm64"; got != want {
t.Fatalf("darwin candidates[0] = %q, want %q (%v)", got, want, darwin)
}
windows := PaymentRPCBackendCandidates("backend/provider", "windows", "amd64")
if got, want := windows[0], "backend/provider-windows-amd64.exe"; got != want {
t.Fatalf("windows candidates[0] = %q, want %q (%v)", got, want, windows)
}
if windows[len(windows)-1] != "backend/provider" {
t.Fatalf("windows fallback = %v", windows)
}
}
func TestHasAnyPaymentRPCBackendAcceptsTaggedArtifacts(t *testing.T) {
if HasAnyPaymentRPCBackend("backend/provider", map[string][]byte{"backend/provider-darwin-arm64": {1}}) != true {
t.Fatal("tagged darwin provider should be accepted")
}
if HasAnyPaymentRPCBackend("backend/provider", map[string][]byte{"backend/windows-amd64/provider.exe": {1}}) != true {
t.Fatal("nested windows provider should be accepted")
}
if HasAnyPaymentRPCBackend("backend/provider", map[string][]byte{"backend/unrelated": {1}}) {
t.Fatal("unrelated backend file should not satisfy the payment entry")
}
}