Add some unit-test coverage for GuardianSet (#951)
* Add some unit-test coverage for GuardianSet * Remove mu check to fix CI run * Remove unnecessary copy paste
This commit is contained in:
parent
d96afca105
commit
fa237c7bb4
|
@ -0,0 +1,93 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestKeyIndex(t *testing.T) {
|
||||
type test struct {
|
||||
guardianSet GuardianSet
|
||||
address string
|
||||
result bool
|
||||
keyIndex int
|
||||
}
|
||||
|
||||
guardianSet := GuardianSet{
|
||||
Keys: []common.Address{
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed"),
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaee"),
|
||||
},
|
||||
Index: 1,
|
||||
}
|
||||
|
||||
tests := []test{
|
||||
{guardianSet: guardianSet, address: "0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed", result: true, keyIndex: 0},
|
||||
{guardianSet: guardianSet, address: "0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaee", result: true, keyIndex: 1},
|
||||
{guardianSet: guardianSet, address: "0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaef", result: false, keyIndex: -1},
|
||||
}
|
||||
|
||||
for _, testCase := range tests {
|
||||
t.Run(string(testCase.address), func(t *testing.T) {
|
||||
gs := testCase.guardianSet
|
||||
keyIndex, result := gs.KeyIndex(common.HexToAddress(testCase.address))
|
||||
assert.Equal(t, result, testCase.result)
|
||||
assert.Equal(t, keyIndex, testCase.keyIndex)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestKeysAsHexStrings(t *testing.T) {
|
||||
gs := GuardianSet{
|
||||
Keys: []common.Address{
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed"),
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaee"),
|
||||
},
|
||||
Index: 1,
|
||||
}
|
||||
|
||||
keyStrings := make([]string, len(gs.Keys))
|
||||
// Note that go-ethereum common.HexToAddress() will force a supplied all-lower
|
||||
// address to mixedcase for a valid checksum, which is why these are different
|
||||
keyStrings[0] = "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed"
|
||||
keyStrings[1] = "0x5Aaeb6053f3e94c9B9a09F33669435e7EF1BeAee"
|
||||
assert.Equal(t, keyStrings, gs.KeysAsHexStrings())
|
||||
}
|
||||
|
||||
func TestNewGuardianSetState(t *testing.T) {
|
||||
gss := NewGuardianSetState()
|
||||
assert.NotNil(t, gss)
|
||||
assert.Nil(t, gss.current)
|
||||
assert.Nil(t, gss.Get())
|
||||
}
|
||||
|
||||
func TestSet(t *testing.T) {
|
||||
var gs GuardianSet = GuardianSet{
|
||||
Keys: []common.Address{
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed"),
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaee"),
|
||||
},
|
||||
Index: 1,
|
||||
}
|
||||
|
||||
gss := NewGuardianSetState()
|
||||
assert.Nil(t, gss.current)
|
||||
gss.Set(&gs)
|
||||
assert.Equal(t, gss.current, &gs)
|
||||
}
|
||||
|
||||
func TestGet(t *testing.T) {
|
||||
var gs GuardianSet = GuardianSet{
|
||||
Keys: []common.Address{
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed"),
|
||||
common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaee"),
|
||||
},
|
||||
Index: 1,
|
||||
}
|
||||
|
||||
gss := NewGuardianSetState()
|
||||
assert.Nil(t, gss.Get())
|
||||
gss.Set(&gs)
|
||||
assert.Equal(t, gss.Get(), &gs)
|
||||
}
|
Loading…
Reference in New Issue