OSDN Git Service

Hulk did something
[bytom/vapor.git] / test / integration / run_test.go
1 package integration
2
3 import (
4         "fmt"
5
6         cfg "github.com/vapor/config"
7         "github.com/vapor/crypto/ed25519/chainkd"
8         "github.com/vapor/util"
9 )
10
11 // Mock config.
12 func mockConfig() *cfg.Config {
13         var config = cfg.DefaultConfig()
14         config.Wallet.Disable = false
15         config.Mining = true
16         config.ApiAddress = "127.0.0.1:9888"
17         return config
18 }
19
20 // Test net-info call api.
21 func testNet() bool {
22         data, exitCode := util.ClientCall("/net-info")
23         if exitCode != util.Success {
24                 return false
25         }
26         dataMap, ok := data.(map[string]interface{})
27         if ok && dataMap["listening"].(bool) && dataMap["syncing"].(bool) && dataMap["mining"].(bool) {
28                 return true
29         }
30         return false
31 }
32
33 // Test create-key delete-key list-key api and function.
34 func testKey() bool {
35         var key = struct {
36                 Alias    string `json:"alias"`
37                 Password string `json:"password"`
38         }{Alias: "alice", Password: "123456"}
39
40         data, exitCode := util.ClientCall("/create-key", &key)
41         if exitCode != util.Success {
42                 return false
43         }
44         dataMap, ok := data.(map[string]interface{})
45         if (ok && dataMap["alias"].(string) == "alice") == false {
46                 return false
47         }
48
49         _, exitCode1 := util.ClientCall("/list-keys")
50         if exitCode1 != util.Success {
51                 return false
52         }
53
54         fmt.Println("dataMap", dataMap)
55         xpub := new(chainkd.XPub)
56         if err := xpub.UnmarshalText([]byte(dataMap["xpub"].(string))); err != nil {
57                 return false
58         }
59
60         var key1 = struct {
61                 Password string
62                 XPub     chainkd.XPub `json:"xpubs"`
63         }{XPub: *xpub, Password: "123456"}
64
65         if _, exitCode := util.ClientCall("/delete-key", &key1); exitCode != util.Success {
66                 return false
67         }
68
69         return true
70 }
71
72 // Test node running.
73 /*func TestRunNode(t *testing.T) {
74         // Create & start node
75         config := mockConfig()
76         n := node.NewNodeDefault(config)
77         if _, err := n.Start(); err != nil {
78                 t.Fatalf("Failed to start node: %v", err)
79         }
80
81         go func() {
82                 time.Sleep(3000 * time.Millisecond)
83                 if testNet() && testKey() {
84                         os.RemoveAll("./data")
85                         os.RemoveAll("./keystore")
86                         os.Exit(0)
87                 } else {
88                         os.RemoveAll("./data")
89                         os.RemoveAll("./keystore")
90                         os.Exit(1)
91                 }
92         }()
93         // Trap signal, run forever.
94         n.RunForever()
95 }*/