40 lines
951 B
Go
40 lines
951 B
Go
|
package utils
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestGetPatternForRestEndpoint(t *testing.T) {
|
||
|
expected := "/hello/"
|
||
|
endpoints := [...]string{"/hello/{param1}", "/hello/{param1}/{param2}", "/hello/{param1}/world/{param2}"}
|
||
|
for _, endpoint := range endpoints {
|
||
|
if ep := getPatternForRestEndpoint(endpoint); ep != expected {
|
||
|
t.Errorf("%s p does not match expected %s", ep, expected)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestReadParameter(t *testing.T) {
|
||
|
expected := "world"
|
||
|
endpoints := [...]string{
|
||
|
"/hello/{p1}",
|
||
|
"/hello/cruel/{p1}",
|
||
|
"/hello/{p1}/my/friend",
|
||
|
"/hello/{p1}/{p2}/friend",
|
||
|
"/hello/{p2}/{p3}/{p1}",
|
||
|
"/{p1}/is/nice",
|
||
|
"/{p1}/{p1}/{p1}",
|
||
|
}
|
||
|
|
||
|
for _, ep := range endpoints {
|
||
|
v, err := readParameter(ep, strings.Replace(ep, "{p1}", expected, -1), "p1")
|
||
|
if err != nil {
|
||
|
t.Errorf("Unexpected error when reading parameter: %s", err.Error())
|
||
|
}
|
||
|
if v != expected {
|
||
|
t.Errorf("'%s' should have returned %s", ep, expected)
|
||
|
}
|
||
|
}
|
||
|
}
|