1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package httputils
- import (
- "fmt"
- "io/ioutil"
- "net/http"
- "net/http/httptest"
- "strings"
- "testing"
- )
- func TestResumableRequestReader(t *testing.T) {
- srvtxt := "some response text data"
- ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintln(w, srvtxt)
- }))
- defer ts.Close()
- var req *http.Request
- req, err := http.NewRequest("GET", ts.URL, nil)
- if err != nil {
- t.Fatal(err)
- }
- client := &http.Client{}
- retries := uint32(5)
- imgSize := int64(len(srvtxt))
- resreq := ResumableRequestReader(client, req, retries, imgSize)
- defer resreq.Close()
- data, err := ioutil.ReadAll(resreq)
- if err != nil {
- t.Fatal(err)
- }
- resstr := strings.TrimSuffix(string(data), "\n")
- if resstr != srvtxt {
- t.Errorf("resstr != srvtxt")
- }
- }
- func TestResumableRequestReaderWithInitialResponse(t *testing.T) {
- srvtxt := "some response text data"
- ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintln(w, srvtxt)
- }))
- defer ts.Close()
- var req *http.Request
- req, err := http.NewRequest("GET", ts.URL, nil)
- if err != nil {
- t.Fatal(err)
- }
- client := &http.Client{}
- retries := uint32(5)
- imgSize := int64(len(srvtxt))
- res, err := client.Do(req)
- if err != nil {
- t.Fatal(err)
- }
- resreq := ResumableRequestReaderWithInitialResponse(client, req, retries, imgSize, res)
- defer resreq.Close()
- data, err := ioutil.ReadAll(resreq)
- if err != nil {
- t.Fatal(err)
- }
- resstr := strings.TrimSuffix(string(data), "\n")
- if resstr != srvtxt {
- t.Errorf("resstr != srvtxt")
- }
- }
|