fixed signature check

This commit is contained in:
Stephan D
2025-12-30 00:22:49 +01:00
parent a6374d1136
commit 6a2efd3d22
4 changed files with 138 additions and 26 deletions

View File

@@ -1,6 +1,7 @@
package gateway
import (
"encoding/json"
"testing"
"time"
@@ -38,11 +39,11 @@ func TestMapCallbackToState_StatusMapping(t *testing.T) {
cfg := monetix.DefaultConfig()
cases := []struct {
name string
paymentStatus string
name string
paymentStatus string
operationStatus string
code string
expectedStatus mntxv1.PayoutStatus
code string
expectedStatus mntxv1.PayoutStatus
expectedOutcome string
}{
{
@@ -119,12 +120,20 @@ func TestVerifyCallbackSignature(t *testing.T) {
t.Fatalf("failed to sign payload: %v", err)
}
cb.Signature = sig
if err := verifyCallbackSignature(cb, secret); err != nil {
payload, err := json.Marshal(cb)
if err != nil {
t.Fatalf("failed to marshal callback: %v", err)
}
if _, err := verifyCallbackSignature(payload, secret); err != nil {
t.Fatalf("expected valid signature, got %v", err)
}
cb.Signature = "invalid"
if err := verifyCallbackSignature(cb, secret); err == nil {
payload, err = json.Marshal(cb)
if err != nil {
t.Fatalf("failed to marshal callback: %v", err)
}
if _, err := verifyCallbackSignature(payload, secret); err == nil {
t.Fatalf("expected signature mismatch error")
}
}