arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
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} */