Browse Source

add more tests

kevin 4 years ago
parent
commit
4c9315e984
2 changed files with 33 additions and 1 deletions
  1. 1 1
      rest/internal/context/params.go
  2. 32 0
      rest/internal/context/params_test.go

+ 1 - 1
rest/internal/context/params.go

@@ -23,5 +23,5 @@ func WithPathVars(r *http.Request, params map[string]string) *http.Request {
 type contextKey string
 
 func (c contextKey) String() string {
-	return "rest/internal/context context key" + string(c)
+	return "rest/internal/context key: " + string(c)
 }

+ 32 - 0
rest/internal/context/params_test.go

@@ -0,0 +1,32 @@
+package context
+
+import (
+	"context"
+	"net/http"
+	"strings"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func TestVars(t *testing.T) {
+	expect := map[string]string{
+		"a": "1",
+		"b": "2",
+	}
+	r, err := http.NewRequest(http.MethodGet, "/", nil)
+	assert.Nil(t, err)
+	r = r.WithContext(context.WithValue(context.Background(), pathVars, expect))
+	assert.EqualValues(t, expect, Vars(r))
+}
+
+func TestVarsNil(t *testing.T) {
+	r, err := http.NewRequest(http.MethodGet, "/", nil)
+	assert.Nil(t, err)
+	assert.Nil(t, Vars(r))
+}
+
+func TestContextKey(t *testing.T) {
+	ck := contextKey("hello")
+	assert.True(t, strings.Contains(ck.String(), "hello"))
+}