github.com/karalabe/go-ethereum@v0.8.5/tests/helper/readers.go (about)

     1  package helper
     2  
     3  import (
     4  	"encoding/json"
     5  	"io"
     6  	"io/ioutil"
     7  	"net/http"
     8  	"os"
     9  	"testing"
    10  )
    11  
    12  func readJSON(t *testing.T, reader io.Reader, value interface{}) {
    13  	data, err := ioutil.ReadAll(reader)
    14  	err = json.Unmarshal(data, &value)
    15  	if err != nil {
    16  		t.Error(err)
    17  	}
    18  }
    19  
    20  func CreateHttpTests(t *testing.T, uri string, value interface{}) {
    21  	resp, err := http.Get(uri)
    22  	if err != nil {
    23  		t.Error(err)
    24  
    25  		return
    26  	}
    27  	defer resp.Body.Close()
    28  
    29  	readJSON(t, resp.Body, value)
    30  }
    31  
    32  func CreateFileTests(t *testing.T, fn string, value interface{}) {
    33  	file, err := os.Open(fn)
    34  	if err != nil {
    35  		t.Error(err)
    36  
    37  		return
    38  	}
    39  	defer file.Close()
    40  
    41  	readJSON(t, file, value)
    42  }