package eth import ( "math/big" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) var wdelayerClient *WDelayerClient // var wdelayerClientKep *WDelayerClient var initWithdrawalDelay = big.NewInt(60) var newWithdrawalDelay = big.NewInt(79) func TestWDelayerGetHermezGovernanceDAOAddress(t *testing.T) { governanceAddress, err := wdelayerClient.WDelayerGetHermezGovernanceDAOAddress() require.Nil(t, err) assert.Equal(t, &hermezGovernanceDAOAddressConst, governanceAddress) } func TestWDelayerSetHermezGovernanceDAOAddress(t *testing.T) { wdelayerClientGov := NewWDelayerClient(ethereumClientGovDAO, wdelayerAddressConst) _, err := wdelayerClientGov.WDelayerSetHermezGovernanceDAOAddress(auxAddressConst) require.Nil(t, err) auxAddress, err := wdelayerClient.WDelayerGetHermezGovernanceDAOAddress() require.Nil(t, err) assert.Equal(t, &auxAddressConst, auxAddress) wdelayerClientAux := NewWDelayerClient(ethereumClientAux, wdelayerAddressConst) _, err = wdelayerClientAux.WDelayerSetHermezGovernanceDAOAddress(hermezGovernanceDAOAddressConst) require.Nil(t, err) } func TestWDelayerGetHermezKeeperAddress(t *testing.T) { keeperAddress, err := wdelayerClient.WDelayerGetHermezKeeperAddress() require.Nil(t, err) assert.Equal(t, &hermezKeeperAddressConst, keeperAddress) } func TestWDelayerSetHermezKeeperAddress(t *testing.T) { wdelayerClientKep := NewWDelayerClient(ethereumClientKep, wdelayerAddressConst) _, err := wdelayerClientKep.WDelayerSetHermezKeeperAddress(auxAddressConst) require.Nil(t, err) auxAddress, err := wdelayerClient.WDelayerGetHermezKeeperAddress() require.Nil(t, err) assert.Equal(t, &auxAddressConst, auxAddress) wdelayerClientAux := NewWDelayerClient(ethereumClientAux, wdelayerAddressConst) _, err = wdelayerClientAux.WDelayerSetHermezKeeperAddress(hermezKeeperAddressConst) require.Nil(t, err) } func TestWDelayerGetWhiteHackGroupAddress(t *testing.T) { whiteHackGroupAddress, err := wdelayerClient.WDelayerGetWhiteHackGroupAddress() require.Nil(t, err) assert.Equal(t, &whiteHackGroupAddressConst, whiteHackGroupAddress) } func TestWDelayerSetWhiteHackGroupAddress(t *testing.T) { wdelayerClientWhite := NewWDelayerClient(ethereumClientWhite, wdelayerAddressConst) _, err := wdelayerClientWhite.WDelayerSetWhiteHackGroupAddress(auxAddressConst) require.Nil(t, err) auxAddress, err := wdelayerClient.WDelayerGetWhiteHackGroupAddress() require.Nil(t, err) assert.Equal(t, &auxAddressConst, auxAddress) wdelayerClientAux := NewWDelayerClient(ethereumClientAux, wdelayerAddressConst) _, err = wdelayerClientAux.WDelayerSetWhiteHackGroupAddress(whiteHackGroupAddressConst) require.Nil(t, err) } func TestWDelayerIsEmergencyMode(t *testing.T) { emergencyMode, err := wdelayerClient.WDelayerIsEmergencyMode() require.Nil(t, err) assert.Equal(t, false, emergencyMode) } func TestWDelayerGetWithdrawalDelay(t *testing.T) { withdrawalDelay, err := wdelayerClient.WDelayerGetWithdrawalDelay() require.Nil(t, err) assert.Equal(t, initWithdrawalDelay, withdrawalDelay) } func TestWDelayerEnableEmergencyMode(t *testing.T) { wdelayerClientKep := NewWDelayerClient(ethereumClientKep, wdelayerAddressConst) _, err := wdelayerClientKep.WDelayerEnableEmergencyMode() require.Nil(t, err) emergencyMode, err := wdelayerClient.WDelayerIsEmergencyMode() require.Nil(t, err) assert.Equal(t, true, emergencyMode) } func TestWDelayerChangeWithdrawalDelay(t *testing.T) { wdelayerClientKep := NewWDelayerClient(ethereumClientKep, wdelayerAddressConst) _, err := wdelayerClientKep.WDelayerChangeWithdrawalDelay(newWithdrawalDelay.Uint64()) require.Nil(t, err) withdrawalDelay, err := wdelayerClient.WDelayerGetWithdrawalDelay() require.Nil(t, err) assert.Equal(t, newWithdrawalDelay, withdrawalDelay) } func TestWDelayerGetEmergencyModeStartingTime(t *testing.T) { emergencyModeStartingTime, err := wdelayerClient.WDelayerGetEmergencyModeStartingTime() require.Nil(t, err) // `emergencyModeStartingTime` is initialized to 0 in the smart // contract construction. Since we called WDelayerEnableEmergencyMode // previously, `emergencyModeStartingTime` is set to the time when the // call was made, so it's > 0. assert.True(t, emergencyModeStartingTime.Cmp(big.NewInt(0)) == 1) } /* func TestWDelayerDeposit(t *testing.T) { if wdelayerClient != nil { } } func TestWDelayerDepositInfo(t *testing.T) { if wdelayerClient != nil { } } func TestWDelayerWithdrawal(t *testing.T) { if wdelayerClient != nil { } } func TestWDelayerEscapeHatchWithdrawal(t *testing.T) { if wdelayerClient != nil { } } */