github.com/go-chef/chef@v0.30.1/stats_test.go (about)

     1  package chef
     2  
     3  import (
     4  	"fmt"
     5  	"net/http"
     6  	"reflect"
     7  	"testing"
     8  )
     9  
    10  func TestStatsGet(t *testing.T) {
    11  	setup()
    12  	defer teardown()
    13  
    14  	mux.HandleFunc("/_stats", func(w http.ResponseWriter, r *http.Request) {
    15  		switch {
    16  		case r.Method == "GET":
    17  			fmt.Fprintf(w, `[{"stat": "value"}]`)
    18  		}
    19  	})
    20  
    21  	wantStats := Stats{
    22  		map[string]interface{}{
    23  			"stat": "value",
    24  		},
    25  	}
    26  
    27  	stats, err := client.Stats.Get("statsuser", "password")
    28  	if err != nil {
    29  		t.Errorf("Stat.Get returned error: %s", err.Error())
    30  	}
    31  
    32  	if !reflect.DeepEqual(stats, wantStats) {
    33  		t.Errorf("Stat.Get returned %+v, want %+v, error %+v", stats, wantStats, err)
    34  	}
    35  
    36  }