44 "encoding/base64"
55 "encoding/hex"
66 "fmt"
7+
78 "github.com/btcsuite/btcutil/base58"
89 "github.com/stretchr/testify/assert"
910 okapi "github.com/trinsic-id/okapi/go/okapi/proto"
@@ -12,64 +13,79 @@ import (
1213)
1314
1415func TestGenerateKey (t * testing.T ) {
16+ assert := assert .New (t )
17+ dk := DidKey ()
18+
1519 request := okapi.GenerateKeyRequest {}
1620 request .KeyType = okapi .KeyType_KEY_TYPE_ED25519
1721 request .Seed = []byte {1 , 2 , 3 }
1822
19- response , err := DidKey {} .Generate (& request )
20- assert .Nil (t , err )
21- assert .NotNil (t , & response )
23+ response , err := dk .Generate (& request )
24+ assert .Nil (err )
25+ assert .NotNil (response )
2226 assertValidKeyGenerated (t , response )
2327}
2428
2529func TestGenerateKeyNoSeed (t * testing.T ) {
30+ dk := DidKey ()
31+
2632 request := okapi.GenerateKeyRequest {}
2733 request .KeyType = okapi .KeyType_KEY_TYPE_ED25519
28- response , err := DidKey {}.Generate (& request )
34+
35+ response , err := dk .Generate (& request )
2936 assert .Nil (t , err )
3037 assertValidKeyGenerated (t , response )
3138}
3239
3340func TestResolveKey (t * testing.T ) {
41+ dk := DidKey ()
42+
3443 key := "did:key:z6Mkt6QT8FPajKXDrtMefkjxRQENd9wFzKkDFomdQAVFzpzm#z6LSfDq6DuofPeZUqNEmdZsxpvfHvSoUXGEWFhw7JHk4cynN"
3544 request := & okapi.ResolveRequest {}
3645 request .Did = key
37- response , err := DidKey {}.Resolve (request )
46+
47+ response , err := dk .Resolve (request )
3848 assert .Nil (t , err )
3949 assert .NotNil (t , & response )
4050}
4151
4252func TestGenerateKeyThrowsInvalidKeyType (t * testing.T ) {
53+ dk := DidKey ()
54+
4355 request := okapi.GenerateKeyRequest {}
4456 request .KeyType = - 1
45- _ , err := DidKey {}.Generate (& request )
57+
58+ _ , err := dk .Generate (& request )
4659 assert .NotNil (t , err )
4760 assert .IsType (t , & DidError {}, err )
4861}
4962
5063type DataArgument struct {
5164 keyType okapi.KeyType
5265 keyTypeString string
53- seed string
54- response string
66+ seed string
67+ response string
5568}
5669
5770func TestGenerateKeyFromSeed (t * testing.T ) {
71+ dk := DidKey ()
72+
5873 dataArguments := []DataArgument {{keyType : okapi .KeyType_KEY_TYPE_ED25519 , keyTypeString : "Ed25519" ,
5974 seed : "4f66b355aa7b0980ff901f2295b9c562ac3061be4df86703eb28c612faae6578" ,
6075 response : "6fioC1zcDPyPEL19pXRS2E4iJ46zH7xP6uSgAaPdwDrx" },
6176 {keyType : okapi .KeyType_KEY_TYPE_X25519 , keyTypeString : "X25519" ,
6277 seed : "9b29d42b38ddd52ed39c0ff70b39572a6eb9b3cac201918dc6d6a84b4c88d2a5" ,
6378 response : "3EK9AYXoUV4Unn5AjvYY39hyK91n7gg4ExC8rKKSUQXJ" },
6479 }
80+
6581 for index , argument := range dataArguments {
6682 t .Run (fmt .Sprintf ("Run #%d - KeyType.%s" , index + 1 , argument .keyTypeString ), func (t * testing.T ) {
6783 hex , err := hex .DecodeString (argument .seed )
6884 if err != nil {
69- assert .Failf (t ,"Failed to decode hex" , argument .seed )
85+ assert .Failf (t , "Failed to decode hex" , argument .seed )
7086 }
7187 request := okapi.GenerateKeyRequest {KeyType : argument .keyType , Seed : hex }
72- response , err := DidKey {} .Generate (& request )
88+ response , err := dk .Generate (& request )
7389 assert .Nil (t , err )
7490
7591 pk := assertValidKeyGenerated (t , response , argument .keyTypeString )
@@ -92,6 +108,7 @@ func assertValidKeyGenerated(t *testing.T, response *okapi.GenerateKeyResponse,
92108 publicKey := append (x , y ... )
93109 assert .NotNil (t , publicKey )
94110 assert .Equal (t , 32 , len (publicKey ))
111+
95112 response64 , _ := base64 .RawURLEncoding .DecodeString (base64Padding (response .Key [0 ].D ))
96113 assert .NotNil (t , response64 )
97114 assert .Equal (t , 32 , len (response64 ))
@@ -106,4 +123,4 @@ func base64Padding(data string) string {
106123 data += "="
107124 }
108125 return data
109- }
126+ }
0 commit comments