-
Notifications
You must be signed in to change notification settings - Fork 0
/
thorgo_test.go
79 lines (65 loc) · 1.8 KB
/
thorgo_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package thorgo
import (
"testing"
"github.com/darrenvechain/thorgo/client"
"github.com/darrenvechain/thorgo/solo"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
"github.com/stretchr/testify/assert"
)
var thor *Thor
func init() {
var err error
thor, err = FromURL(solo.URL)
if err != nil {
panic(err)
}
}
func TestBadURL(t *testing.T) {
_, err := FromURL("http://localhost:80")
assert.Error(t, err)
}
func TestFromClient(t *testing.T) {
c, _ := client.FromURL(solo.URL)
thor := FromClient(c)
assert.NotNil(t, thor)
assert.Equal(t, solo.ChainTag(), thor.Client.ChainTag())
}
func TestBlock(t *testing.T) {
block, err := thor.Blocks.ByNumber(0)
assert.NoError(t, err)
assert.NotNil(t, block)
}
func TestGetAccount(t *testing.T) {
soloAccount := common.HexToAddress("0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa")
acc, err := thor.Account(soloAccount).Get()
assert.NoError(t, err, "Account.httpGet should not return an error")
assert.NotNil(t, acc, "Account.httpGet should return an account")
assert.Greater(t, acc.Balance.ToInt().Uint64(), uint64(0))
assert.Greater(t, acc.Energy.ToInt().Uint64(), uint64(0))
assert.False(t, acc.HasCode)
}
func TestTransfers(t *testing.T) {
// account 1
account1 := solo.Keys()[0]
account1Addr := crypto.PubkeyToAddress(account1.PublicKey)
criteria := make([]client.TransferCriteria, 0)
criteria = append(criteria, client.TransferCriteria{
Sender: &account1Addr,
})
events, err := thor.Transfers(criteria).
BlockRange(0, 10000).
Asc().
Apply(0, 100)
assert.NoError(t, err)
assert.NotNil(t, events)
}
func TestEvents(t *testing.T) {
criteria := make([]client.EventCriteria, 0)
events, err := thor.Events(criteria).
BlockRange(0, 10000).
Asc().
Apply(0, 100)
assert.NoError(t, err)
assert.NotNil(t, events)
}