fix(query): use query dialect annotations specified in request (#17196)

* fix(query): use query dialect annotations specified in request

Signed-off-by: Jakub Bednar <jakub.bednar@gmail.com>

* chore(query): add tests

Signed-off-by: Jakub Bednar <jakub.bednar@gmail.com>
pull/17512/head
Jakub Bednář 2020-03-28 00:13:20 +01:00 committed by GitHub
parent 2852bf0399
commit 9a71298cc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 0 deletions

View File

@ -126,6 +126,9 @@ func (r QueryRequest) ProxyRequest() *ProxyRequest {
cfg := csv.DefaultEncoderConfig()
cfg.NoHeader = noHeader
cfg.Delimiter = delimiter
if r.Dialect.Annotations != nil {
cfg.Annotations = r.Dialect.Annotations
}
return &ProxyRequest{
Compiler: compiler,

View File

@ -0,0 +1,40 @@
package client
import (
"testing"
"github.com/influxdata/flux/csv"
"github.com/influxdata/influxdb/pkg/testing/assert"
)
func TestRequest_ProxyRequest_Annotations(t *testing.T) {
for _, tt := range []struct {
qr *QueryRequest
annotations []string
}{
{
qr: &QueryRequest{Query: "from"},
annotations: []string{"datatype", "group", "default"},
},
{
qr: &QueryRequest{Query: "from", Dialect: QueryDialect{Annotations: []string{"datatype", "group", "default"}}},
annotations: []string{"datatype", "group", "default"},
},
{
qr: &QueryRequest{Query: "from", Dialect: QueryDialect{Annotations: []string{"datatype", "group"}}},
annotations: []string{"datatype", "group"},
},
{
qr: &QueryRequest{Query: "from", Dialect: QueryDialect{Annotations: nil}},
annotations: []string{"datatype", "group", "default"},
},
{
qr: &QueryRequest{Query: "from", Dialect: QueryDialect{Annotations: []string{}}},
annotations: []string{},
},
} {
dialect := tt.qr.ProxyRequest().Dialect.(csv.Dialect)
assert.Equal(t, dialect.ResultEncoderConfig.Annotations, tt.annotations, "invalid annotations")
}
}