Browse code

add tests for pkg/httputils

closes #11597

Signed-off-by: Frank Herrmann <fgh@4gh.tv>

Frank Herrmann authored on 2015/03/25 01:27:09
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,83 @@
0
+package httputils
1
+
2
+import (
3
+	"fmt"
4
+	"io/ioutil"
5
+	"net/http"
6
+	"net/http/httptest"
7
+	"strings"
8
+	"testing"
9
+)
10
+
11
+func TestResumableRequestReader(t *testing.T) {
12
+
13
+	srvtxt := "some response text data"
14
+
15
+	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
16
+		fmt.Fprintln(w, srvtxt)
17
+	}))
18
+	defer ts.Close()
19
+
20
+	var req *http.Request
21
+	req, err := http.NewRequest("GET", ts.URL, nil)
22
+	if err != nil {
23
+		t.Fatal(err)
24
+	}
25
+
26
+	client := &http.Client{}
27
+	retries := uint32(5)
28
+	imgSize := int64(len(srvtxt))
29
+
30
+	resreq := ResumableRequestReader(client, req, retries, imgSize)
31
+	defer resreq.Close()
32
+
33
+	data, err := ioutil.ReadAll(resreq)
34
+	if err != nil {
35
+		t.Fatal(err)
36
+	}
37
+
38
+	resstr := strings.TrimSuffix(string(data), "\n")
39
+
40
+	if resstr != srvtxt {
41
+		t.Errorf("resstr != srvtxt")
42
+	}
43
+}
44
+
45
+func TestResumableRequestReaderWithInitialResponse(t *testing.T) {
46
+
47
+	srvtxt := "some response text data"
48
+
49
+	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
50
+		fmt.Fprintln(w, srvtxt)
51
+	}))
52
+	defer ts.Close()
53
+
54
+	var req *http.Request
55
+	req, err := http.NewRequest("GET", ts.URL, nil)
56
+	if err != nil {
57
+		t.Fatal(err)
58
+	}
59
+
60
+	client := &http.Client{}
61
+	retries := uint32(5)
62
+	imgSize := int64(len(srvtxt))
63
+
64
+	res, err := client.Do(req)
65
+	if err != nil {
66
+		t.Fatal(err)
67
+	}
68
+
69
+	resreq := ResumableRequestReaderWithInitialResponse(client, req, retries, imgSize, res)
70
+	defer resreq.Close()
71
+
72
+	data, err := ioutil.ReadAll(resreq)
73
+	if err != nil {
74
+		t.Fatal(err)
75
+	}
76
+
77
+	resstr := strings.TrimSuffix(string(data), "\n")
78
+
79
+	if resstr != srvtxt {
80
+		t.Errorf("resstr != srvtxt")
81
+	}
82
+}