hermez-node/eth/wdelayer_test.go
eth/wdelayer_test.goRaw
1package eth
2
3import (
4 "math/big"
5 "testing"
6
7 "github.com/stretchr/testify/assert"
8 "github.com/stretchr/testify/require"
9)
10
11var wdelayerClient *WDelayerClient
12
13// var wdelayerClientKep *WDelayerClient
14
15var initWithdrawalDelay = big.NewInt(60)
16var newWithdrawalDelay = big.NewInt(79)
17
18func TestWDelayerGetHermezGovernanceDAOAddress(t *testing.T) {
19 governanceAddress, err := wdelayerClient.WDelayerGetHermezGovernanceDAOAddress()
20 require.Nil(t, err)
21 assert.Equal(t, &hermezGovernanceDAOAddressConst, governanceAddress)
22}
23
24func TestWDelayerSetHermezGovernanceDAOAddress(t *testing.T) {
25 wdelayerClientGov := NewWDelayerClient(ethereumClientGovDAO, wdelayerAddressConst)
26 _, err := wdelayerClientGov.WDelayerSetHermezGovernanceDAOAddress(auxAddressConst)
27 require.Nil(t, err)
28 auxAddress, err := wdelayerClient.WDelayerGetHermezGovernanceDAOAddress()
29 require.Nil(t, err)
30 assert.Equal(t, &auxAddressConst, auxAddress)
31 wdelayerClientAux := NewWDelayerClient(ethereumClientAux, wdelayerAddressConst)
32 _, err = wdelayerClientAux.WDelayerSetHermezGovernanceDAOAddress(hermezGovernanceDAOAddressConst)
33 require.Nil(t, err)
34}
35
36func TestWDelayerGetHermezKeeperAddress(t *testing.T) {
37 keeperAddress, err := wdelayerClient.WDelayerGetHermezKeeperAddress()
38 require.Nil(t, err)
39 assert.Equal(t, &hermezKeeperAddressConst, keeperAddress)
40}
41
42func TestWDelayerSetHermezKeeperAddress(t *testing.T) {
43 wdelayerClientKep := NewWDelayerClient(ethereumClientKep, wdelayerAddressConst)
44 _, err := wdelayerClientKep.WDelayerSetHermezKeeperAddress(auxAddressConst)
45 require.Nil(t, err)
46 auxAddress, err := wdelayerClient.WDelayerGetHermezKeeperAddress()
47 require.Nil(t, err)
48 assert.Equal(t, &auxAddressConst, auxAddress)
49 wdelayerClientAux := NewWDelayerClient(ethereumClientAux, wdelayerAddressConst)
50 _, err = wdelayerClientAux.WDelayerSetHermezKeeperAddress(hermezKeeperAddressConst)
51 require.Nil(t, err)
52}
53
54func TestWDelayerGetWhiteHackGroupAddress(t *testing.T) {
55 whiteHackGroupAddress, err := wdelayerClient.WDelayerGetWhiteHackGroupAddress()
56 require.Nil(t, err)
57 assert.Equal(t, &whiteHackGroupAddressConst, whiteHackGroupAddress)
58}
59
60func TestWDelayerSetWhiteHackGroupAddress(t *testing.T) {
61 wdelayerClientWhite := NewWDelayerClient(ethereumClientWhite, wdelayerAddressConst)
62 _, err := wdelayerClientWhite.WDelayerSetWhiteHackGroupAddress(auxAddressConst)
63 require.Nil(t, err)
64 auxAddress, err := wdelayerClient.WDelayerGetWhiteHackGroupAddress()
65 require.Nil(t, err)
66 assert.Equal(t, &auxAddressConst, auxAddress)
67 wdelayerClientAux := NewWDelayerClient(ethereumClientAux, wdelayerAddressConst)
68 _, err = wdelayerClientAux.WDelayerSetWhiteHackGroupAddress(whiteHackGroupAddressConst)
69 require.Nil(t, err)
70}
71
72func TestWDelayerIsEmergencyMode(t *testing.T) {
73 emergencyMode, err := wdelayerClient.WDelayerIsEmergencyMode()
74 require.Nil(t, err)
75 assert.Equal(t, false, emergencyMode)
76}
77
78func TestWDelayerGetWithdrawalDelay(t *testing.T) {
79 withdrawalDelay, err := wdelayerClient.WDelayerGetWithdrawalDelay()
80 require.Nil(t, err)
81 assert.Equal(t, initWithdrawalDelay, withdrawalDelay)
82}
83
84func TestWDelayerEnableEmergencyMode(t *testing.T) {
85 wdelayerClientKep := NewWDelayerClient(ethereumClientKep, wdelayerAddressConst)
86 _, err := wdelayerClientKep.WDelayerEnableEmergencyMode()
87 require.Nil(t, err)
88 emergencyMode, err := wdelayerClient.WDelayerIsEmergencyMode()
89 require.Nil(t, err)
90 assert.Equal(t, true, emergencyMode)
91}
92
93func TestWDelayerChangeWithdrawalDelay(t *testing.T) {
94 wdelayerClientKep := NewWDelayerClient(ethereumClientKep, wdelayerAddressConst)
95 _, err := wdelayerClientKep.WDelayerChangeWithdrawalDelay(newWithdrawalDelay.Uint64())
96 require.Nil(t, err)
97 withdrawalDelay, err := wdelayerClient.WDelayerGetWithdrawalDelay()
98 require.Nil(t, err)
99 assert.Equal(t, newWithdrawalDelay, withdrawalDelay)
100}
101
102func TestWDelayerGetEmergencyModeStartingTime(t *testing.T) {
103 emergencyModeStartingTime, err := wdelayerClient.WDelayerGetEmergencyModeStartingTime()
104 require.Nil(t, err)
105 // `emergencyModeStartingTime` is initialized to 0 in the smart
106 // contract construction. Since we called WDelayerEnableEmergencyMode
107 // previously, `emergencyModeStartingTime` is set to the time when the
108 // call was made, so it's > 0.
109 assert.True(t, emergencyModeStartingTime.Cmp(big.NewInt(0)) == 1)
110}
111
112/* func TestWDelayerDeposit(t *testing.T) {
113 if wdelayerClient != nil {
114
115 }
116}
117
118func TestWDelayerDepositInfo(t *testing.T) {
119 if wdelayerClient != nil {
120
121 }
122}
123
124func TestWDelayerWithdrawal(t *testing.T) {
125 if wdelayerClient != nil {
126
127 }
128}
129
130func TestWDelayerEscapeHatchWithdrawal(t *testing.T) {
131 if wdelayerClient != nil {
132
133 }
134} */