| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package api
- import (
- "encoding/json"
- "testing"
- "github.com/grafana/grafana/pkg/models"
- "github.com/grafana/grafana/pkg/bus"
- . "github.com/smartystreets/goconvey/convey"
- )
- const (
- TestOrgID = 1
- TestUserID = 1
- )
- func TestDataSourcesProxy(t *testing.T) {
- Convey("Given a user is logged in", t, func() {
- loggedInUserScenario("When calling GET on", "/api/datasources/", func(sc *scenarioContext) {
- // Stubs the database query
- bus.AddHandler("test", func(query *models.GetDataSourcesQuery) error {
- So(query.OrgId, ShouldEqual, TestOrgID)
- query.Result = []*models.DataSource{
- {Name: "mmm"},
- {Name: "ZZZ"},
- {Name: "BBB"},
- {Name: "aaa"},
- }
- return nil
- })
- // handler func being tested
- sc.handlerFunc = GetDataSources
- sc.fakeReq("GET", "/api/datasources").exec()
- respJSON := []map[string]interface{}{}
- err := json.NewDecoder(sc.resp.Body).Decode(&respJSON)
- So(err, ShouldBeNil)
- Convey("should return list of datasources for org sorted alphabetically and case insensitively", func() {
- So(respJSON[0]["name"], ShouldEqual, "aaa")
- So(respJSON[1]["name"], ShouldEqual, "BBB")
- So(respJSON[2]["name"], ShouldEqual, "mmm")
- So(respJSON[3]["name"], ShouldEqual, "ZZZ")
- })
- })
- })
- }
|