git.wit.org/jcarr/packr@v1.10.8/http_box_test.go (about) 1 package packr 2 3 import ( 4 "net/http" 5 "net/http/httptest" 6 "strings" 7 "testing" 8 9 "github.com/stretchr/testify/require" 10 ) 11 12 func Test_HTTPBox(t *testing.T) { 13 r := require.New(t) 14 15 mux := http.NewServeMux() 16 mux.Handle("/", http.FileServer(testBox)) 17 18 req, err := http.NewRequest("GET", "/hello.txt", nil) 19 r.NoError(err) 20 21 res := httptest.NewRecorder() 22 23 mux.ServeHTTP(res, req) 24 25 r.Equal(200, res.Code) 26 r.Equal("hello world!", strings.TrimSpace(res.Body.String())) 27 } 28 29 func Test_HTTPBox_NotFound(t *testing.T) { 30 r := require.New(t) 31 32 mux := http.NewServeMux() 33 mux.Handle("/", http.FileServer(testBox)) 34 35 req, err := http.NewRequest("GET", "/notInBox.txt", nil) 36 r.NoError(err) 37 38 res := httptest.NewRecorder() 39 40 mux.ServeHTTP(res, req) 41 42 r.Equal(404, res.Code) 43 } 44 45 func Test_HTTPBox_Handles_IndexHTML(t *testing.T) { 46 r := require.New(t) 47 48 mux := http.NewServeMux() 49 mux.Handle("/", http.FileServer(testBox)) 50 51 req, err := http.NewRequest("GET", "/", nil) 52 r.NoError(err) 53 54 res := httptest.NewRecorder() 55 56 mux.ServeHTTP(res, req) 57 58 r.Equal("<h1>Index!</h1>", strings.TrimSpace(res.Body.String())) 59 }