diff --git a/libs/wallet/provider/uphold/uphold.go b/libs/wallet/provider/uphold/uphold.go index 173b449cb..f860b47c0 100644 --- a/libs/wallet/provider/uphold/uphold.go +++ b/libs/wallet/provider/uphold/uphold.go @@ -1183,11 +1183,13 @@ func FundWallet(ctx context.Context, destWallet *Wallet, amount decimal.Decimal) return balance.TotalProbi, nil } +var redactRegexp = []regexp.Regexp{ + *regexp.MustCompile(`"description":\s*"[^"]+"\s*,?`), + *regexp.MustCompile(`"\w+Country":\s*"[^"]+"\s*,?`), +} func redactUnneededContent(sbody string) string { - for _, p := range []string{`"description":\s*"[^"]+"\s*,?`, `"\w+Country":\s*"[^"]+"\s*,?`} { - re := regexp.MustCompile(p) + for _, re := range redactRegexp { sbody = re.ReplaceAllString(sbody, "") } - sbody = strings.ReplaceAll(sbody, ",}", "}") - return sbody + return strings.ReplaceAll(sbody, ",}", "}") } diff --git a/libs/wallet/provider/uphold/uphold_test.go b/libs/wallet/provider/uphold/uphold_test.go index 45cccd3e6..16bcaf918 100644 --- a/libs/wallet/provider/uphold/uphold_test.go +++ b/libs/wallet/provider/uphold/uphold_test.go @@ -354,7 +354,7 @@ func requireDonorWallet(t *testing.T) *Wallet { } func TestRedactUnneeded(t *testing.T) { - response := `{"description":"some unneeded content","UKCountry":"foo","TestCountry":"bar","NoMatch": true}` + response := `{"description":"some unneeded content","OKCountry":"foo","TestCountry":"bar","NoMatch": true}` result := `{"NoMatch": true}` testValue := redactUnneededContent(response) assert.Equal(t, result, testValue)