Browse Source

Move TestNativeContextMiddleware to mux_test.go

pull/525/head
Franklin Harding 6 years ago
parent
commit
04da6ef885
  1. 30
      context_test.go
  2. 24
      mux_test.go

30
context_test.go

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
package mux
import (
"context"
"net/http"
"testing"
"time"
)
func TestNativeContextMiddleware(t *testing.T) {
withTimeout := func(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
ctx, cancel := context.WithTimeout(r.Context(), time.Minute)
defer cancel()
h.ServeHTTP(w, r.WithContext(ctx))
})
}
r := NewRouter()
r.Handle("/path/{foo}", withTimeout(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
vars := Vars(r)
if vars["foo"] != "bar" {
t.Fatal("Expected foo var to be set")
}
})))
rec := NewRecorder()
req := newRequest("GET", "/path/bar")
r.ServeHTTP(rec, req)
}

24
mux_test.go

@ -7,6 +7,7 @@ package mux @@ -7,6 +7,7 @@ package mux
import (
"bufio"
"bytes"
"context"
"errors"
"fmt"
"io/ioutil"
@ -16,6 +17,7 @@ import ( @@ -16,6 +17,7 @@ import (
"reflect"
"strings"
"testing"
"time"
)
func (r *Route) GoString() string {
@ -2804,6 +2806,28 @@ func TestSubrouterNotFound(t *testing.T) { @@ -2804,6 +2806,28 @@ func TestSubrouterNotFound(t *testing.T) {
}
}
func TestContextMiddleware(t *testing.T) {
withTimeout := func(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
ctx, cancel := context.WithTimeout(r.Context(), time.Minute)
defer cancel()
h.ServeHTTP(w, r.WithContext(ctx))
})
}
r := NewRouter()
r.Handle("/path/{foo}", withTimeout(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
vars := Vars(r)
if vars["foo"] != "bar" {
t.Fatal("Expected foo var to be set")
}
})))
rec := NewRecorder()
req := newRequest("GET", "/path/bar")
r.ServeHTTP(rec, req)
}
// mapToPairs converts a string map to a slice of string pairs
func mapToPairs(m map[string]string) []string {
var i int

Loading…
Cancel
Save