mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-26 14:46:42 +00:00
whisper: new api tests added + bugfix
This commit is contained in:
parent
40b83c27ab
commit
42aa7b4f62
2 changed files with 125 additions and 67 deletions
|
|
@ -24,6 +24,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestBasic(x *testing.T) {
|
func TestBasic(x *testing.T) {
|
||||||
|
var id string = "test"
|
||||||
api := NewPublicWhisperAPI()
|
api := NewPublicWhisperAPI()
|
||||||
if api == nil {
|
if api == nil {
|
||||||
x.Errorf("failed to create API.")
|
x.Errorf("failed to create API.")
|
||||||
|
|
@ -41,77 +42,129 @@ func TestBasic(x *testing.T) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var id string = "test"
|
|
||||||
|
|
||||||
exist, err := api.HasIdentity(id)
|
|
||||||
if err != nil {
|
|
||||||
x.Errorf("failed HasIdentity: %s.", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if exist {
|
|
||||||
x.Errorf("failed HasIdentity: false positive.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
exist, err = api.HasSymKey(id)
|
|
||||||
if err != nil {
|
|
||||||
x.Errorf("failed HasSymKey: %s.", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if exist {
|
|
||||||
x.Errorf("failed HasSymKey: false positive.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
err = api.DeleteIdentity(id)
|
|
||||||
if err != nil {
|
|
||||||
x.Errorf("failed DeleteIdentity: %s.", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
pub, err := api.NewIdentity()
|
|
||||||
if err != nil {
|
|
||||||
x.Errorf("failed NewIdentity: %s.", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if len(pub) == 0 {
|
|
||||||
x.Errorf("NewIdentity: empty")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
//spub := string(crypto.FromECDSAPub(pub))
|
|
||||||
//fmt.Printf("%s \n", pub)
|
|
||||||
|
|
||||||
exist, err = api.HasIdentity(pub)
|
|
||||||
if err != nil {
|
|
||||||
x.Errorf("failed HasIdentity: %s.", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if !exist {
|
|
||||||
x.Errorf("failed HasIdentity: false negative.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
err = api.DeleteIdentity(pub)
|
|
||||||
if err != nil {
|
|
||||||
x.Errorf("failed DeleteIdentity 2: %s.", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
exist, err = api.HasIdentity(pub)
|
|
||||||
if err != nil {
|
|
||||||
x.Errorf("failed HasIdentity 3: %s.", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if exist {
|
|
||||||
x.Errorf("failed HasIdentity 3: false positive.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var hexnum rpc.HexNumber
|
var hexnum rpc.HexNumber
|
||||||
mail := api.GetFilterChanges(hexnum)
|
mail := api.GetFilterChanges(hexnum)
|
||||||
if len(mail) != 0 {
|
if len(mail) != 0 {
|
||||||
x.Errorf("failed GetFilterChanges")
|
x.Errorf("failed GetFilterChanges")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exist, err := api.HasIdentity(id)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 1 HasIdentity: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if exist {
|
||||||
|
x.Errorf("failed 2 HasIdentity: false positive.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.DeleteIdentity(id)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 3 DeleteIdentity: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
pub, err := api.NewIdentity()
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 4 NewIdentity: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if len(pub) == 0 {
|
||||||
|
x.Errorf("NewIdentity 5: empty")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
exist, err = api.HasIdentity(pub)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 6 HasIdentity: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !exist {
|
||||||
|
x.Errorf("failed 7 HasIdentity: false negative.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.DeleteIdentity(pub)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 8 DeleteIdentity: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
exist, err = api.HasIdentity(pub)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 9 HasIdentity: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if exist {
|
||||||
|
x.Errorf("failed 10 HasIdentity: false positive.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
id = "arbitrary text"
|
||||||
|
id2 := "another arbitrary string"
|
||||||
|
|
||||||
|
exist, err = api.HasSymKey(id)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 11 HasSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if exist {
|
||||||
|
x.Errorf("failed 12 HasSymKey: false positive.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.GenerateSymKey(id)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 13 GenerateSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
exist, err = api.HasSymKey(id)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 14 HasSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !exist {
|
||||||
|
x.Errorf("failed 15 HasSymKey: false negative.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.AddSymKey(id, []byte("some stuff here"))
|
||||||
|
if err == nil {
|
||||||
|
x.Errorf("failed 16 AddSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.AddSymKey(id2, []byte("some stuff here"))
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 17 AddSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
exist, err = api.HasSymKey(id2)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 18 HasSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !exist {
|
||||||
|
x.Errorf("failed 19 HasSymKey: false negative.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.DeleteSymKey(id)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 20 DeleteSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
exist, err = api.HasSymKey(id)
|
||||||
|
if err != nil {
|
||||||
|
x.Errorf("failed 21 HasSymKey: %s.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if exist {
|
||||||
|
x.Errorf("failed 22 HasSymKey: false positive.")
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -216,6 +216,11 @@ func (w *Whisper) AddSymKey(name string, key []byte) error {
|
||||||
|
|
||||||
w.keyMu.Lock()
|
w.keyMu.Lock()
|
||||||
defer w.keyMu.Unlock()
|
defer w.keyMu.Unlock()
|
||||||
|
|
||||||
|
// double check is necessary, because deriveKeyMaterial() is slow
|
||||||
|
if w.symKeys[name] != nil {
|
||||||
|
return fmt.Errorf("Key with name [%s] already exists", name)
|
||||||
|
}
|
||||||
w.symKeys[name] = derived
|
w.symKeys[name] = derived
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue