[node.sh] added ExampleLoadKeys

pull/3219/head
Jacky Wang 4 years ago
parent 07cae5b1ed
commit 648a88bc26
No known key found for this signature in database
GPG Key ID: 1085CE5F4FF5842C
  1. 58
      cmd/harmony/blsloader/loader_test.go

@ -2,10 +2,68 @@ package blsloader
import ( import (
"errors" "errors"
"fmt"
"os"
"path/filepath"
"reflect" "reflect"
"testing" "testing"
) )
func ExampleLoadKeys() {
dir, err := prepareDataForExample()
if err != nil {
fmt.Println(err)
return
}
config := Config{
BlsDir: &dir,
PassSrcType: PassSrcFile, // not assign PassFile to dynamically use .pass path
AwsCfgSrcType: AwsCfgSrcNil, // disable loading file with kms
}
keys, err := LoadKeys(config)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("loaded %v keys\n", len(keys))
for i, key := range keys {
fmt.Printf(" key %v: %x\n", i, key.Pub.Bytes)
}
// Output:
//
// loaded 2 keys
// key 0: 0e969f8b302cf7648bc39652ca7a279a8562b72933a3f7cddac2252583280c7c3495c9ae854f00f6dd19c32fc5a17500
// key 1: 152beed46d7a0002ef0f960946008887eedd4775bdf2ed238809aa74e20d31fdca267443615cc6f4ede49d58911ee083
}
func prepareDataForExample() (string, error) {
unitTestDir := filepath.Join(baseTestDir, "ExampleLoadKeys")
os.Remove(unitTestDir)
os.MkdirAll(unitTestDir, 0700)
if err := writeKeyAndPass(unitTestDir, testKeys[0]); err != nil {
return "", err
}
if err := writeKeyAndPass(unitTestDir, testKeys[1]); err != nil {
return "", err
}
return unitTestDir, nil
}
func writeKeyAndPass(dir string, key testKey) error {
keyFile := filepath.Join(dir, key.publicKey+basicKeyExt)
if err := writeFile(keyFile, key.keyFileData); err != nil {
return fmt.Errorf("cannot write key file data: %v", err)
}
passFile := filepath.Join(dir, key.publicKey+passExt)
if err := writeFile(passFile, key.passphrase); err != nil {
return fmt.Errorf("cannot write pass file data: %v", err)
}
return nil
}
func TestGetKeyDecrypters(t *testing.T) { func TestGetKeyDecrypters(t *testing.T) {
tests := []struct { tests := []struct {
config Config config Config

Loading…
Cancel
Save