github.com/ava-labs/avalanchego@v1.11.11/upgrade/upgrade_test.go (about) 1 // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved. 2 // See the file LICENSE for licensing terms. 3 4 package upgrade 5 6 import ( 7 "testing" 8 "time" 9 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestValidDefaultUpgrades(t *testing.T) { 14 for _, upgradeTest := range []struct { 15 name string 16 upgrade Config 17 }{ 18 { 19 name: "Default", 20 upgrade: Default, 21 }, 22 { 23 name: "Fuji", 24 upgrade: Fuji, 25 }, 26 { 27 name: "Mainnet", 28 upgrade: Mainnet, 29 }, 30 } { 31 t.Run(upgradeTest.name, func(t *testing.T) { 32 require := require.New(t) 33 require.NoError(upgradeTest.upgrade.Validate()) 34 }) 35 } 36 } 37 38 func TestInvalidUpgrade(t *testing.T) { 39 require := require.New(t) 40 firstUpgradeTime := time.Now() 41 invalidSecondUpgradeTime := firstUpgradeTime.Add(-1 * time.Second) 42 upgrade := Config{ 43 ApricotPhase1Time: firstUpgradeTime, 44 ApricotPhase2Time: invalidSecondUpgradeTime, 45 } 46 err := upgrade.Validate() 47 require.ErrorIs(err, ErrInvalidUpgradeTimes) 48 }