add a dynamic value

This commit is contained in:
Alfred Kamanda 2024-10-01 14:50:45 +03:00
parent 3e74c1d939
commit 14218ffb88
Signed by: Alfred-mk
GPG Key ID: 7EA3D01708908703
2 changed files with 25 additions and 6 deletions

View File

@ -3,6 +3,7 @@ package main
import ( import (
"bytes" "bytes"
"context" "context"
"regexp"
"testing" "testing"
"git.grassecon.net/urdt/ussd/driver" "git.grassecon.net/urdt/ussd/driver"
@ -13,6 +14,17 @@ var (
testData = driver.ReadData() testData = driver.ReadData()
) )
// Extract the public key from the engine response
func extractPublicKey(response []byte) string {
// Regex pattern to match the public key starting with 0x and 40 characters
re := regexp.MustCompile(`0x[a-fA-F0-9]{40}`)
match := re.Find(response)
if match != nil {
return string(match)
}
return ""
}
func TestUserRegistration(t *testing.T) { func TestUserRegistration(t *testing.T) {
en, fn := enginetest.TestEngine("session1234112") en, fn := enginetest.TestEngine("session1234112")
defer fn() defer fn()
@ -108,7 +120,7 @@ func TestAccountRegistrationRejectTerms(t *testing.T) {
} }
func TestAccountRegistrationInvalidPin(t *testing.T) { func TestAccountRegistrationInvalidPin(t *testing.T) {
en, fn := enginetest.TestEngine("session1234112") en, fn := enginetest.TestEngine("session1234112_c")
defer fn() defer fn()
ctx := context.Background() ctx := context.Background()
sessions := testData sessions := testData
@ -161,8 +173,15 @@ func TestSendWithInvalidInputs(t *testing.T) {
} }
b := w.Bytes() b := w.Bytes()
if !bytes.Equal(b, []byte(step.ExpectedContent)) {
t.Fatalf("expected:\n\t%s\ngot:\n\t%s\n", step.ExpectedContent, b) // Extract the dynamic public key from the output
publicKey := extractPublicKey(b)
// Replace placeholder {public_key} with the actual dynamic public key
expectedContent := bytes.Replace([]byte(step.ExpectedContent), []byte("{public_key}"), []byte(publicKey), -1)
if !bytes.Equal(b, expectedContent) {
t.Fatalf("expected:\n\t%s\ngot:\n\t%s\n", expectedContent, b)
} }
} }
} }

View File

@ -129,7 +129,7 @@
}, },
{ {
"input": "0.001", "input": "0.001",
"expectedContent": "065656 will receive 0.001 from 0xd6CF3C87b0D4aD5978448bBbD6Db9EC6D74D624b\nPlease enter your PIN to confirm:\n0:Back\n9:Quit" "expectedContent": "065656 will receive 0.001 from {public_key}\nPlease enter your PIN to confirm:\n0:Back\n9:Quit"
}, },
{ {
"input": "1222", "input": "1222",
@ -137,11 +137,11 @@
}, },
{ {
"input": "1", "input": "1",
"expectedContent": "065656 will receive 0.001 from 0xd6CF3C87b0D4aD5978448bBbD6Db9EC6D74D624b\nPlease enter your PIN to confirm:\n0:Back\n9:Quit" "expectedContent": "065656 will receive 0.001 from {public_key}\nPlease enter your PIN to confirm:\n0:Back\n9:Quit"
}, },
{ {
"input": "1234", "input": "1234",
"expectedContent": "Your request has been sent. 065656 will receive 0.001 from 0xd6CF3C87b0D4aD5978448bBbD6Db9EC6D74D624b." "expectedContent": "Your request has been sent. 065656 will receive 0.001 from {public_key}."
} }
] ]
} }