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

     1  package api
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/NebulousLabs/Sia/build"
     7  	"github.com/NebulousLabs/Sia/modules/gateway"
     8  )
     9  
    10  func TestGatewayStatus(t *testing.T) {
    11  	if testing.Short() {
    12  		t.SkipNow()
    13  	}
    14  	st, err := createServerTester("TestGatewayStatus")
    15  	if err != nil {
    16  		t.Fatal(err)
    17  	}
    18  	defer st.server.Close()
    19  	var info GatewayInfo
    20  	st.getAPI("/gateway", &info)
    21  	if len(info.Peers) != 0 {
    22  		t.Fatal("/gateway gave bad peer list:", info.Peers)
    23  	}
    24  }
    25  
    26  func TestGatewayPeerAdd(t *testing.T) {
    27  	if testing.Short() {
    28  		t.SkipNow()
    29  	}
    30  	st, err := createServerTester("TestGatewayPeerAdd")
    31  	if err != nil {
    32  		t.Fatal(err)
    33  	}
    34  	defer st.server.Close()
    35  	peer, err := gateway.New("localhost:0", build.TempDir("api", "TestGatewayPeerAdd", "gateway"))
    36  	if err != nil {
    37  		t.Fatal(err)
    38  	}
    39  	st.stdPostAPI("/gateway/add/"+string(peer.Address()), nil)
    40  
    41  	var info GatewayInfo
    42  	st.getAPI("/gateway", &info)
    43  	if len(info.Peers) != 1 || info.Peers[0].NetAddress != peer.Address() {
    44  		t.Fatal("/gateway/add did not add peer", peer.Address())
    45  	}
    46  }
    47  
    48  func TestGatewayPeerRemove(t *testing.T) {
    49  	if testing.Short() {
    50  		t.SkipNow()
    51  	}
    52  	st, err := createServerTester("TestGatewayPeerRemove")
    53  	if err != nil {
    54  		t.Fatal(err)
    55  	}
    56  	defer st.server.Close()
    57  	peer, err := gateway.New("localhost:0", build.TempDir("api", "TestGatewayPeerRemove", "gateway"))
    58  	if err != nil {
    59  		t.Fatal(err)
    60  	}
    61  	st.stdPostAPI("/gateway/add/"+string(peer.Address()), nil)
    62  
    63  	var info GatewayInfo
    64  	st.getAPI("/gateway", &info)
    65  	if len(info.Peers) != 1 || info.Peers[0].NetAddress != peer.Address() {
    66  		t.Fatal("/gateway/add did not add peer", peer.Address())
    67  	}
    68  
    69  	st.stdPostAPI("/gateway/remove/"+string(peer.Address()), nil)
    70  	st.getAPI("/gateway", &info)
    71  	if len(info.Peers) != 0 {
    72  		t.Fatal("/gateway/remove did not remove peer", peer.Address())
    73  	}
    74  }