add privkey to clientIdentity + tests
This commit is contained in:
parent
c8a8aa0d43
commit
88167f39a6
@ -9,6 +9,7 @@ import (
|
|||||||
type ClientIdentity interface {
|
type ClientIdentity interface {
|
||||||
String() string // human readable identity
|
String() string // human readable identity
|
||||||
Pubkey() []byte // 512-bit public key
|
Pubkey() []byte // 512-bit public key
|
||||||
|
PrivKey() []byte // 512-bit private key
|
||||||
}
|
}
|
||||||
|
|
||||||
type SimpleClientIdentity struct {
|
type SimpleClientIdentity struct {
|
||||||
@ -17,10 +18,11 @@ type SimpleClientIdentity struct {
|
|||||||
customIdentifier string
|
customIdentifier string
|
||||||
os string
|
os string
|
||||||
implementation string
|
implementation string
|
||||||
|
privkey []byte
|
||||||
pubkey []byte
|
pubkey []byte
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewSimpleClientIdentity(clientIdentifier string, version string, customIdentifier string, pubkey []byte) *SimpleClientIdentity {
|
func NewSimpleClientIdentity(clientIdentifier string, version string, customIdentifier string, privkey []byte, pubkey []byte) *SimpleClientIdentity {
|
||||||
clientIdentity := &SimpleClientIdentity{
|
clientIdentity := &SimpleClientIdentity{
|
||||||
clientIdentifier: clientIdentifier,
|
clientIdentifier: clientIdentifier,
|
||||||
version: version,
|
version: version,
|
||||||
@ -28,6 +30,7 @@ func NewSimpleClientIdentity(clientIdentifier string, version string, customIden
|
|||||||
os: runtime.GOOS,
|
os: runtime.GOOS,
|
||||||
implementation: runtime.Version(),
|
implementation: runtime.Version(),
|
||||||
pubkey: pubkey,
|
pubkey: pubkey,
|
||||||
|
privkey: privkey,
|
||||||
}
|
}
|
||||||
|
|
||||||
return clientIdentity
|
return clientIdentity
|
||||||
@ -50,8 +53,12 @@ func (c *SimpleClientIdentity) String() string {
|
|||||||
c.implementation)
|
c.implementation)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *SimpleClientIdentity) Privkey() []byte {
|
||||||
|
return c.privkey
|
||||||
|
}
|
||||||
|
|
||||||
func (c *SimpleClientIdentity) Pubkey() []byte {
|
func (c *SimpleClientIdentity) Pubkey() []byte {
|
||||||
return []byte(c.pubkey)
|
return c.pubkey
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *SimpleClientIdentity) SetCustomIdentifier(customIdentifier string) {
|
func (c *SimpleClientIdentity) SetCustomIdentifier(customIdentifier string) {
|
||||||
|
@ -1,13 +1,22 @@
|
|||||||
package p2p
|
package p2p
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"runtime"
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestClientIdentity(t *testing.T) {
|
func TestClientIdentity(t *testing.T) {
|
||||||
clientIdentity := NewSimpleClientIdentity("Ethereum(G)", "0.5.16", "test", []byte("pubkey"))
|
clientIdentity := NewSimpleClientIdentity("Ethereum(G)", "0.5.16", "test", []byte("privkey"), []byte("pubkey"))
|
||||||
|
key := clientIdentity.Privkey()
|
||||||
|
if !bytes.Equal(key, []byte("privkey")) {
|
||||||
|
t.Errorf("Expected Privkey to be %x, got %x", key, []byte("privkey"))
|
||||||
|
}
|
||||||
|
key = clientIdentity.Pubkey()
|
||||||
|
if !bytes.Equal(key, []byte("pubkey")) {
|
||||||
|
t.Errorf("Expected Pubkey to be %x, got %x", key, []byte("pubkey"))
|
||||||
|
}
|
||||||
clientString := clientIdentity.String()
|
clientString := clientIdentity.String()
|
||||||
expected := fmt.Sprintf("Ethereum(G)/v0.5.16/test/%s/%s", runtime.GOOS, runtime.Version())
|
expected := fmt.Sprintf("Ethereum(G)/v0.5.16/test/%s/%s", runtime.GOOS, runtime.Version())
|
||||||
if clientString != expected {
|
if clientString != expected {
|
||||||
|
Loading…
Reference in New Issue
Block a user