github.com/avahowell/sia@v0.5.1-beta.0.20160524050156-83dcc3d37c94/api/server_test.go (about)

     1  package api
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  // TestExplorerPreset checks that the default configuration for the explorer is
     8  // working correctly.
     9  func TestExplorerPreset(t *testing.T) {
    10  	if testing.Short() {
    11  		t.SkipNow()
    12  	}
    13  	st, err := createExplorerServerTester("TestExplorerPreset")
    14  	if err != nil {
    15  		t.Fatal(err)
    16  	}
    17  	defer st.server.Close()
    18  
    19  	// Try calling a legal endpoint without a user agent.
    20  	err = st.stdGetAPIUA("/explorer", "")
    21  	if err != nil {
    22  		t.Fatal(err)
    23  	}
    24  }
    25  
    26  // TestReloading reloads a server and does smoke testing to see that modules
    27  // are still working after reload.
    28  func TestReloading(t *testing.T) {
    29  	if testing.Short() {
    30  		t.SkipNow()
    31  	}
    32  
    33  	// Create a server tester, which will have blocks mined. Then get the
    34  	// reloaded version of the server tester (all persistence files get copied
    35  	// to a new folder, and then the modules are pointed at the new folders
    36  	// during calls to 'New')
    37  	st, err := createServerTester("TestReloading")
    38  	if err != nil {
    39  		t.Fatal(err)
    40  	}
    41  	defer st.server.Close()
    42  	rst, err := st.reloadedServerTester()
    43  	if err != nil {
    44  		t.Fatal(err)
    45  	}
    46  	if st.server.cs.Height() != rst.server.cs.Height() {
    47  		t.Error("server heights do not match")
    48  	}
    49  
    50  	// Mine some blocks on the reloaded server and see if any errors or panics
    51  	// are triggered.
    52  	for i := 0; i < 3; i++ {
    53  		_, err := rst.miner.AddBlock()
    54  		if err != nil {
    55  			t.Fatal(err)
    56  		}
    57  	}
    58  }