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}