decred.org/dcrdex@v1.0.5/dex/dexnet/http_live_test.go (about)

     1  //go:build live
     2  
     3  package dexnet
     4  
     5  import (
     6  	"context"
     7  	"net/http"
     8  	"testing"
     9  )
    10  
    11  func TestGet(t *testing.T) {
    12  	ctx, cancel := context.WithCancel(context.Background())
    13  	defer cancel()
    14  	uri := "https://dcrdata.decred.org/api/block/best"
    15  	var resp struct {
    16  		Height int64 `json:"height"`
    17  	}
    18  	var code int
    19  	if err := Get(ctx, uri, &resp, WithStatusFunc(func(c int) { code = c })); err != nil {
    20  		t.Fatalf("Get error: %v", err)
    21  	}
    22  	if resp.Height == 0 {
    23  		t.Fatal("Height not parsed")
    24  	}
    25  	if code != http.StatusOK {
    26  		t.Fatalf("expected code 200, got %d", code)
    27  	}
    28  	// Check size limit
    29  	if err := Get(ctx, uri, &resp, WithSizeLimit(1)); err == nil {
    30  		t.Fatal("Didn't get parse error for low size limit")
    31  	}
    32  }