mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Fixing bug in url query reader and added test cases
This commit is contained in:
parent
6f1b125c48
commit
e8dfbe94b1
@ -10,7 +10,7 @@ type UrlQueryReader struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewUrlQueryReader(urlInfo *url.URL) (*UrlQueryReader, error) {
|
func NewUrlQueryReader(urlInfo *url.URL) (*UrlQueryReader, error) {
|
||||||
u, err := url.ParseQuery(urlInfo.String())
|
u, err := url.ParseQuery(urlInfo.RawQuery)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
. "github.com/smartystreets/goconvey/convey"
|
. "github.com/smartystreets/goconvey/convey"
|
||||||
|
"net/url"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestUrl(t *testing.T) {
|
func TestUrl(t *testing.T) {
|
||||||
@ -43,4 +44,30 @@ func TestUrl(t *testing.T) {
|
|||||||
|
|
||||||
So(result, ShouldEqual, "http://localhost:8080/api/")
|
So(result, ShouldEqual, "http://localhost:8080/api/")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Convey("When joining two urls where lefthand side has a trailing slash and righthand side has preceding slash", t, func() {
|
||||||
|
result := JoinUrlFragments("http://localhost:8080/", "/api/")
|
||||||
|
|
||||||
|
So(result, ShouldEqual, "http://localhost:8080/api/")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewUrlQueryReader(t *testing.T) {
|
||||||
|
u, _ := url.Parse("http://www.abc.com/foo?bar=baz&bar2=baz2")
|
||||||
|
uqr, _ := NewUrlQueryReader(u)
|
||||||
|
|
||||||
|
Convey("when trying to retrieve the first query value", t, func() {
|
||||||
|
result := uqr.Get("bar", "foodef")
|
||||||
|
So(result, ShouldEqual, "baz")
|
||||||
|
})
|
||||||
|
|
||||||
|
Convey("when trying to retrieve the second query value", t, func() {
|
||||||
|
result := uqr.Get("bar2", "foodef")
|
||||||
|
So(result, ShouldEqual, "baz2")
|
||||||
|
})
|
||||||
|
|
||||||
|
Convey("when trying to retrieve from a non-existent key, the default value is returned", t, func() {
|
||||||
|
result := uqr.Get("bar3", "foodef")
|
||||||
|
So(result, ShouldEqual, "foodef")
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
22
pkg/util/validation_test.go
Normal file
22
pkg/util/validation_test.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package util
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
. "github.com/smartystreets/goconvey/convey"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestIsEmail(t *testing.T) {
|
||||||
|
|
||||||
|
Convey("When validating a string that is a valid email", t, func() {
|
||||||
|
result := IsEmail("abc@def.com")
|
||||||
|
|
||||||
|
So(result, ShouldEqual, true)
|
||||||
|
})
|
||||||
|
|
||||||
|
Convey("When validating a string that is not a valid email", t, func() {
|
||||||
|
result := IsEmail("abcdef.com")
|
||||||
|
|
||||||
|
So(result, ShouldEqual, false)
|
||||||
|
})
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user