| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package influxdb
- import (
- "io/ioutil"
- "net/url"
- "testing"
- "github.com/grafana/grafana/pkg/components/simplejson"
- "github.com/grafana/grafana/pkg/models"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestInfluxDB(t *testing.T) {
- Convey("InfluxDB", t, func() {
- datasource := &models.DataSource{
- Url: "http://awesome-influxdb:1337",
- Database: "awesome-db",
- JsonData: simplejson.New(),
- }
- query := "SELECT awesomeness FROM somewhere"
- e := &InfluxDBExecutor{
- QueryParser: &InfluxdbQueryParser{},
- ResponseParser: &ResponseParser{},
- }
- Convey("createRequest with GET httpMode", func() {
- req, _ := e.createRequest(datasource, query)
- Convey("as default", func() {
- So(req.Method, ShouldEqual, "GET")
- })
- Convey("has a 'q' GET param that equals to query", func() {
- q := req.URL.Query().Get("q")
- So(q, ShouldEqual, query)
- })
- Convey("has an empty body", func() {
- So(req.Body, ShouldEqual, nil)
- })
- })
- Convey("createRequest with POST httpMode", func() {
- datasource.JsonData.Set("httpMode", "POST")
- req, _ := e.createRequest(datasource, query)
- Convey("method should be POST", func() {
- So(req.Method, ShouldEqual, "POST")
- })
- Convey("has no 'q' GET param", func() {
- q := req.URL.Query().Get("q")
- So(q, ShouldEqual, "")
- })
- Convey("has the request as GET param in body", func() {
- body, _ := ioutil.ReadAll(req.Body)
- testBodyValues := url.Values{}
- testBodyValues.Add("q", query)
- testBody := testBodyValues.Encode()
- So(string(body[:]), ShouldEqual, testBody)
- })
- })
- Convey("createRequest with PUT httpMode", func() {
- datasource.JsonData.Set("httpMode", "PUT")
- _, err := e.createRequest(datasource, query)
- Convey("should miserably fail", func() {
- So(err, ShouldEqual, ErrInvalidHttpMode)
- })
- })
- })
- }
|