10 func httpOK(w http.ResponseWriter, r *http.Request) {
11 w.WriteHeader(http.StatusOK)
14 func httpRedirect(w http.ResponseWriter, r *http.Request) {
15 w.WriteHeader(http.StatusTemporaryRedirect)
18 func httpError(w http.ResponseWriter, r *http.Request) {
19 w.WriteHeader(http.StatusInternalServerError)
22 func TestHTTPSuccess(t *testing.T) {
25 mockT1 := new(testing.T)
26 assert.Equal(HTTPSuccess(mockT1, httpOK, "GET", "/", nil), true)
27 assert.False(mockT1.Failed())
29 mockT2 := new(testing.T)
30 assert.Equal(HTTPSuccess(mockT2, httpRedirect, "GET", "/", nil), false)
31 assert.True(mockT2.Failed())
33 mockT3 := new(testing.T)
34 assert.Equal(HTTPSuccess(mockT3, httpError, "GET", "/", nil), false)
35 assert.True(mockT3.Failed())
38 func TestHTTPRedirect(t *testing.T) {
41 mockT1 := new(testing.T)
42 assert.Equal(HTTPRedirect(mockT1, httpOK, "GET", "/", nil), false)
43 assert.True(mockT1.Failed())
45 mockT2 := new(testing.T)
46 assert.Equal(HTTPRedirect(mockT2, httpRedirect, "GET", "/", nil), true)
47 assert.False(mockT2.Failed())
49 mockT3 := new(testing.T)
50 assert.Equal(HTTPRedirect(mockT3, httpError, "GET", "/", nil), false)
51 assert.True(mockT3.Failed())
54 func TestHTTPError(t *testing.T) {
57 mockT1 := new(testing.T)
58 assert.Equal(HTTPError(mockT1, httpOK, "GET", "/", nil), false)
59 assert.True(mockT1.Failed())
61 mockT2 := new(testing.T)
62 assert.Equal(HTTPError(mockT2, httpRedirect, "GET", "/", nil), false)
63 assert.True(mockT2.Failed())
65 mockT3 := new(testing.T)
66 assert.Equal(HTTPError(mockT3, httpError, "GET", "/", nil), true)
67 assert.False(mockT3.Failed())
70 func TestHTTPStatusesWrapper(t *testing.T) {
72 mockAssert := New(new(testing.T))
74 assert.Equal(mockAssert.HTTPSuccess(httpOK, "GET", "/", nil), true)
75 assert.Equal(mockAssert.HTTPSuccess(httpRedirect, "GET", "/", nil), false)
76 assert.Equal(mockAssert.HTTPSuccess(httpError, "GET", "/", nil), false)
78 assert.Equal(mockAssert.HTTPRedirect(httpOK, "GET", "/", nil), false)
79 assert.Equal(mockAssert.HTTPRedirect(httpRedirect, "GET", "/", nil), true)
80 assert.Equal(mockAssert.HTTPRedirect(httpError, "GET", "/", nil), false)
82 assert.Equal(mockAssert.HTTPError(httpOK, "GET", "/", nil), false)
83 assert.Equal(mockAssert.HTTPError(httpRedirect, "GET", "/", nil), false)
84 assert.Equal(mockAssert.HTTPError(httpError, "GET", "/", nil), true)
87 func httpHelloName(w http.ResponseWriter, r *http.Request) {
88 name := r.FormValue("name")
89 w.Write([]byte(fmt.Sprintf("Hello, %s!", name)))
92 func TestHttpBody(t *testing.T) {
94 mockT := new(testing.T)
96 assert.True(HTTPBodyContains(mockT, httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "Hello, World!"))
97 assert.True(HTTPBodyContains(mockT, httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "World"))
98 assert.False(HTTPBodyContains(mockT, httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "world"))
100 assert.False(HTTPBodyNotContains(mockT, httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "Hello, World!"))
101 assert.False(HTTPBodyNotContains(mockT, httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "World"))
102 assert.True(HTTPBodyNotContains(mockT, httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "world"))
105 func TestHttpBodyWrappers(t *testing.T) {
107 mockAssert := New(new(testing.T))
109 assert.True(mockAssert.HTTPBodyContains(httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "Hello, World!"))
110 assert.True(mockAssert.HTTPBodyContains(httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "World"))
111 assert.False(mockAssert.HTTPBodyContains(httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "world"))
113 assert.False(mockAssert.HTTPBodyNotContains(httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "Hello, World!"))
114 assert.False(mockAssert.HTTPBodyNotContains(httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "World"))
115 assert.True(mockAssert.HTTPBodyNotContains(httpHelloName, "GET", "/", url.Values{"name": []string{"World"}}, "world"))