feat(payment): 虎皮椒聚合支付 - 官方插件与跨平台可执行文件
新增 xunhupay 官方包,支付 RPC 与宿主只保留订单和验签边界;官方支付包同时带上各系统 provider,避免把 Linux ELF 当成本机入口。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
e5a5f0ccc8
commit
a23df0cb32
63 files changed
+2070
-128
No files matched your search
@@ -0,0 +1,29 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user