From 5ab525f4fb1678e197ae59401e9050fa0b6cb5fd Mon Sep 17 00:00:00 2001 From: Zak Chitty Date: Sat, 9 Dec 2017 03:08:15 +1100 Subject: [PATCH] Public test API to set URL params (#322) * Add a function to set url params for test * [docs] add justification for SetURLVars and description of alternative approach to setting url vars. * rename SetURLParams to SetURLVars as this is more descriptive. * rename testing to testing_helpers as this is more descriptive. * [docs] add stipulation to SetURLVars that it should only be used for testing purposes --- test_helpers.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 test_helpers.go diff --git a/test_helpers.go b/test_helpers.go new file mode 100644 index 0000000..8b2c4a4 --- /dev/null +++ b/test_helpers.go @@ -0,0 +1,18 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package mux + +import "net/http" + +// SetURLVars sets the URL variables for the given request, to be accessed via +// mux.Vars for testing route behaviour. +// +// This API should only be used for testing purposes; it provides a way to +// inject variables into the request context. Alternatively, URL variables +// can be set by making a route that captures the required variables, +// starting a server and sending the request to that server. +func SetURLVars(r *http.Request, val map[string]string) *http.Request { + return setVars(r, val) +}