61 lines
2.3 KiB
Nim
61 lines
2.3 KiB
Nim
import
|
||
unittest2,
|
||
../beacon_chain/conf
|
||
|
||
template reject(val: string) =
|
||
expect CatchableError:
|
||
echo Checkpoint.parseCmdArg(val)
|
||
|
||
suite "Configuration parsing":
|
||
suite "weak-subjectivity-checkpoint":
|
||
test "Correct values":
|
||
let
|
||
c1 = Checkpoint.parseCmdArg("0x3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5:31714")
|
||
c2 = Checkpoint.parseCmdArg("3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5:31714")
|
||
|
||
check:
|
||
c1.epoch == 31714
|
||
c1.root == Eth2Digest.fromHex("3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5")
|
||
c1 == c2
|
||
|
||
#[
|
||
let
|
||
c3 = Checkpoint.parseCmdArg("3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5:0")
|
||
c4 = Checkpoint.parseCmdArg("3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5:1")
|
||
|
||
check:
|
||
c3.epoch == 0
|
||
c4.epoch == 1
|
||
]#
|
||
|
||
test "missing separator":
|
||
reject ""
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5"
|
||
reject "0x3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5"
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb531714"
|
||
|
||
test "missing root":
|
||
reject ":31714"
|
||
|
||
test "shorter root":
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfe:31714"
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb:31714"
|
||
|
||
test "longer root":
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb50:31714"
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb500:31714"
|
||
|
||
test "invalid characters in root":
|
||
reject "1x3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5:31714"
|
||
reject "3g1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb5:31714"
|
||
|
||
test "missing epoch":
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb500:"
|
||
|
||
test "non-number epoch":
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb500:123c"
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb500:а"
|
||
|
||
test "negative epoch":
|
||
reject "3c1e98bf132530c669723f58aa3d395be0d0bfaa653152eecb04605e203bfeb500:-1000"
|