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

     1  package api
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/NebulousLabs/Sia/build"
     8  )
     9  
    10  func TestVersion(t *testing.T) {
    11  	if testing.Short() {
    12  		t.SkipNow()
    13  	}
    14  	st, err := createServerTester("TestVersion")
    15  	if err != nil {
    16  		t.Fatal(err)
    17  	}
    18  	defer st.server.Close()
    19  	var dv DaemonVersion
    20  	st.getAPI("/daemon/version", &dv)
    21  	if dv.Version != build.Version {
    22  		t.Fatalf("/daemon/version reporting bad version: expected %v, got %v", build.Version, dv.Version)
    23  	}
    24  }
    25  
    26  // TestStop tests the /daemon/stop handler.
    27  func TestStop(t *testing.T) {
    28  	st, err := createServerTester("TestStop")
    29  	if err != nil {
    30  		t.Fatal(err)
    31  	}
    32  	var success struct{ Success bool }
    33  	err = st.getAPI("/daemon/stop", &success)
    34  	if err != nil {
    35  		t.Fatal(err)
    36  	}
    37  	// Sleep to give time for server to close, as /daemon/stop will return success
    38  	// before Server.Close() is called.
    39  	time.Sleep(200 * time.Millisecond)
    40  	err = st.getAPI("/daemon/stop", &success)
    41  	if err == nil {
    42  		t.Fatal("after /daemon/stop, subsequent calls should fail")
    43  	}
    44  }