ozzo-routing
ozzo-routing copied to clipboard
NewContext() is not populating parameters from provided URL
I'm trying to write a unit test, as I would in Express+Supertest. I'm finding that when I provide a test URL, that the parameters are not parsed.
import (
"context"
"net/http"
"net/http/httptest"
"testing"
"github.com/go-ozzo/ozzo-routing"
"github.com/go-ozzo/ozzo-routing/content"
"github.com/stretchr/testify/assert"
)
func TestContextParamsPopulatedByOzzo(test *testing.T) {
assert := assert.New(test)
// Initialize app
router := routing.New()
router.Get("/test/<id>", routing.NotFoundHandler)
// Mock up a request
res := httptest.NewRecorder()
req, err := http.NewRequest("GET", "/test/23", nil)
assert.NoError(err)
// Mock up a routing context
routeCtx := routing.NewContext(res, req)
// Sanity check
assert.Equal("23", routeCtx.Param("id"))
}