You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
633 B
28 lines
633 B
package metrics
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestSanitizeMethod(t *testing.T) {
|
|
tests := []struct {
|
|
method string
|
|
expected string
|
|
}{
|
|
{method: "get", expected: "GET"},
|
|
{method: "POST", expected: "POST"},
|
|
{method: "OPTIONS", expected: "OPTIONS"},
|
|
{method: "connect", expected: "CONNECT"},
|
|
{method: "trace", expected: "TRACE"},
|
|
{method: "UNKNOWN", expected: "OTHER"},
|
|
{method: strings.Repeat("ohno", 9999), expected: "OTHER"},
|
|
}
|
|
|
|
for _, d := range tests {
|
|
actual := SanitizeMethod(d.method)
|
|
if actual != d.expected {
|
|
t.Errorf("Not same: expected %#v, but got %#v", d.expected, actual)
|
|
}
|
|
}
|
|
}
|
|
|