use a UUID for the sessionId

This commit is contained in:
Alfred Kamanda 2024-10-03 17:47:48 +03:00
parent d6cd2766df
commit b7d93c2249
Signed by untrusted user: Alfred-mk
GPG Key ID: 7EA3D01708908703
3 changed files with 13 additions and 10 deletions

1
go.mod
View File

@ -15,6 +15,7 @@ require (
github.com/barbashov/iso639-3 v0.0.0-20211020172741-1f4ffb2d8d1c // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/fxamacker/cbor/v2 v2.4.0 // indirect
github.com/gofrs/uuid v4.4.0+incompatible
github.com/graygnuorg/go-gdbm v0.0.0-20220711140707-71387d66dce4 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/mattn/kinako v0.0.0-20170717041458-332c0a7e205a // indirect

2
go.sum
View File

@ -12,6 +12,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fxamacker/cbor/v2 v2.4.0 h1:ri0ArlOR+5XunOP8CRUowT0pSJOwhW098ZCUyskZD88=
github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/graygnuorg/go-gdbm v0.0.0-20220711140707-71387d66dce4 h1:U4kkNYryi/qfbBF8gh7Vsbuz+cVmhf5kt6pE9bYYyLo=
github.com/graygnuorg/go-gdbm v0.0.0-20220711140707-71387d66dce4/go.mod h1:zpZDgZFzeq9s0MIeB1P50NIEWDFFHSFBohI/NbaTD/Y=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=

View File

@ -3,14 +3,13 @@ package main
import (
"bytes"
"context"
"crypto/rand"
"encoding/hex"
"regexp"
"testing"
"time"
"git.grassecon.net/urdt/ussd/driver"
enginetest "git.grassecon.net/urdt/ussd/engine"
"github.com/gofrs/uuid"
)
var (
@ -18,14 +17,13 @@ var (
sessionID string
)
// GenerateRandomSessionID generates a random session ID of 10 characters
func GenerateRandomSessionID() string {
bytes := make([]byte, 5)
_, err := rand.Read(bytes)
// GenerateRandomSessionID generates a random UUID for the sessionID
func GenerateUUID() string {
u, err := uuid.NewV4()
if err != nil {
return "default_session"
return "default_uuid"
}
return hex.EncodeToString(bytes)
return u.String()
}
// Extract the public key from the engine response
@ -40,7 +38,7 @@ func extractPublicKey(response []byte) string {
}
func TestMain(m *testing.M) {
sessionID = GenerateRandomSessionID()
sessionID = GenerateUUID()
m.Run()
}
@ -77,7 +75,9 @@ func TestAccountCreationSuccessful(t *testing.T) {
}
func TestAccountRegistrationRejectTerms(t *testing.T) {
en, fn := enginetest.TestEngine(sessionID + "_b")
// Generate a new UUID for this edge case test
edgeCaseSessionID := GenerateUUID()
en, fn := enginetest.TestEngine(edgeCaseSessionID)
defer fn()
ctx := context.Background()
sessions := testData