arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
hermez-node/eth/auction_test.go
eth/auction_test.goRaw
  1package eth
  2
  3import (
  4	"os"
  5	"testing"
  6
  7	"github.com/ethereum/go-ethereum/common"
  8	"github.com/ethereum/go-ethereum/ethclient"
  9	"github.com/stretchr/testify/assert"
 10	"github.com/stretchr/testify/require"
 11)
 12
 13const slotDeadlineConst = uint8(20)
 14const openAuctionSlotsConst = 4320
 15const closedAuctionSlotsConst = 2
 16const outbiddingConst = 10
 17const currentSlotConst = 0
 18
 19var allocationRatioConst [3]uint8 = [3]uint8{40, 40, 20}
 20
 21var auctionClient *AuctionClient
 22
 23var donationAddressConstStr = os.Getenv("DONATION_ADDRESS")
 24var bootCoordinatorConstStr = os.Getenv("BOOT_COORDINATOR_ADDRESS")
 25var integration = os.Getenv("INTEGRATION")
 26var ehtClientDialURL = os.Getenv("ETHCLIENT_DIAL_URL")
 27var auctionAddressStr = os.Getenv("AUCTION_ADDRESS")
 28
 29func TestNewAction(t *testing.T) {
 30	if integration != "" {
 31		// Init eth client
 32		ethClient, err := ethclient.Dial(ehtClientDialURL)
 33		require.Nil(t, err)
 34		ethereumClient := NewEthereumClient(ethClient, nil, nil, nil)
 35		auctionAddress := common.HexToAddress(auctionAddressStr)
 36		auctionClient = NewAuctionClient(ethereumClient, auctionAddress)
 37	}
 38}
 39
 40func TestAuctionGetSlotDeadline(t *testing.T) {
 41	if auctionClient != nil {
 42		slotDeadline, err := auctionClient.AuctionGetSlotDeadline()
 43		require.Nil(t, err)
 44		assert.Equal(t, slotDeadlineConst, slotDeadline)
 45	}
 46}
 47
 48func TestAuctionGetOpenAuctionSlots(t *testing.T) {
 49	if auctionClient != nil {
 50		openAuctionSlots, err := auctionClient.AuctionGetOpenAuctionSlots()
 51		require.Nil(t, err)
 52		openAuctionSlotsInt := int(openAuctionSlots)
 53		assert.Equal(t, openAuctionSlotsConst, openAuctionSlotsInt)
 54	}
 55}
 56
 57func TestAuctionGetClosedAuctionSlots(t *testing.T) {
 58	if auctionClient != nil {
 59		closedAuctionSlots, err := auctionClient.AuctionGetClosedAuctionSlots()
 60		require.Nil(t, err)
 61		closedAuctionSlotsInt := int(closedAuctionSlots)
 62		assert.Equal(t, closedAuctionSlotsConst, closedAuctionSlotsInt)
 63	}
 64}
 65
 66func TestAuctionGetOutbidding(t *testing.T) {
 67	if auctionClient != nil {
 68		outbidding, err := auctionClient.AuctionGetOutbidding()
 69		require.Nil(t, err)
 70		outbiddingInt := int(outbidding)
 71		assert.Equal(t, outbiddingConst, outbiddingInt)
 72	}
 73}
 74
 75func TestAuctionGetAllocationRatio(t *testing.T) {
 76	if auctionClient != nil {
 77		allocationRatio, err := auctionClient.AuctionGetAllocationRatio()
 78		require.Nil(t, err)
 79		assert.Equal(t, allocationRatioConst, allocationRatio)
 80	}
 81}
 82
 83func TestAuctionGetDonationAddress(t *testing.T) {
 84	if auctionClient != nil {
 85		donationAddress, err := auctionClient.AuctionGetDonationAddress()
 86		require.Nil(t, err)
 87		donationAddressConst := common.HexToAddress(donationAddressConstStr)
 88		assert.Equal(t, &donationAddressConst, donationAddress)
 89	}
 90}
 91
 92func TestAuctionGetBootCoordinator(t *testing.T) {
 93	if auctionClient != nil {
 94		bootCoordinator, err := auctionClient.AuctionGetBootCoordinator()
 95		require.Nil(t, err)
 96		bootCoordinatorConst := common.HexToAddress(bootCoordinatorConstStr)
 97		assert.Equal(t, &bootCoordinatorConst, bootCoordinator)
 98	}
 99}
100
101func TestAuctionGetCurrentSlotNumber(t *testing.T) {
102	if auctionClient != nil {
103		currentSlot, err := auctionClient.AuctionGetCurrentSlotNumber()
104		require.Nil(t, err)
105		currentSlotInt := int(currentSlot)
106		assert.Equal(t, currentSlotConst, currentSlotInt)
107	}
108}