github.com/avahowell/sia@v0.5.1-beta.0.20160524050156-83dcc3d37c94/modules/host/network_test.go (about)

     1  package host
     2  
     3  /*
     4  import (
     5  	"path/filepath"
     6  	"sync/atomic"
     7  	"testing"
     8  
     9  	"github.com/NebulousLabs/Sia/modules"
    10  )
    11  
    12  // TestRPCMetrics checks that the rpc tracking is counting incoming RPC cals.
    13  func TestRPCMetrics(t *testing.T) {
    14  	if testing.Short() {
    15  		t.SkipNow()
    16  	}
    17  	ht, err := newHostTester("TestRPCMetrics")
    18  	if err != nil {
    19  		t.Fatal(err)
    20  	}
    21  
    22  	// Upload a test file to get some metrics to increment.
    23  	_, err = ht.uploadFile("TestRPCMetrics - 1", renewDisabled)
    24  	if err != nil {
    25  		t.Fatal(err)
    26  	}
    27  	if atomic.LoadUint64(&ht.host.atomicReviseCalls) != 1 {
    28  		t.Error("expected to count a revise call")
    29  	}
    30  	if atomic.LoadUint64(&ht.host.atomicSettingsCalls) != 1 {
    31  		t.Error("expected to count a settings call")
    32  	}
    33  	if atomic.LoadUint64(&ht.host.atomicUploadCalls) != 1 {
    34  		t.Error("expected to count an upload call")
    35  	}
    36  
    37  	// Restart the host and check that the counts persist.
    38  	err = ht.host.Close()
    39  	if err != nil {
    40  		t.Fatal(err)
    41  	}
    42  	rebootHost, err := New(ht.cs, ht.tpool, ht.wallet, "localhost:0", filepath.Join(ht.persistDir, modules.HostDir))
    43  	if err != nil {
    44  		t.Fatal(err)
    45  	}
    46  	if atomic.LoadUint64(&rebootHost.atomicReviseCalls) != 1 {
    47  		t.Error("expected to count a revise call")
    48  	}
    49  	if atomic.LoadUint64(&rebootHost.atomicSettingsCalls) != 1 {
    50  		t.Error("expected to count a settings call")
    51  	}
    52  	if atomic.LoadUint64(&rebootHost.atomicUploadCalls) != 1 {
    53  		t.Error("expected to count an upload call")
    54  	}
    55  }
    56  */