github.com/MetalBlockchain/metalgo@v1.11.9/tests/fixture/tmpnet/network_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 tmpnet
     5  
     6  import (
     7  	"bytes"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestNetworkSerialization(t *testing.T) {
    14  	require := require.New(t)
    15  
    16  	tmpDir := t.TempDir()
    17  
    18  	network := NewDefaultNetwork("testnet")
    19  	require.NoError(network.EnsureDefaultConfig(&bytes.Buffer{}, "/path/to/avalanche/go", ""))
    20  	require.NoError(network.Create(tmpDir))
    21  	// Ensure node runtime is initialized
    22  	require.NoError(network.readNodes())
    23  
    24  	loadedNetwork, err := ReadNetwork(network.Dir)
    25  	require.NoError(err)
    26  	for _, key := range loadedNetwork.PreFundedKeys {
    27  		// Address() enables comparison with the original network by
    28  		// ensuring full population of a key's in-memory representation.
    29  		_ = key.Address()
    30  	}
    31  	require.Equal(network, loadedNetwork)
    32  }