fix: cloud expects dataType in csv files (#449)

This commit is contained in:
Jeffrey Smith II
2022-10-19 15:13:20 -04:00
committed by GitHub
parent 6142b7a4a3
commit 121864a550
3 changed files with 18 additions and 9 deletions

View File

@ -11,7 +11,7 @@ import (
type csvColumn struct { type csvColumn struct {
Name string `csv:"name"` Name string `csv:"name"`
Type api.ColumnSemanticType `csv:"type"` Type api.ColumnSemanticType `csv:"type"`
DataType *api.ColumnDataType `csv:"data_type,omitempty"` DataType *api.ColumnDataType `csv:"dataType,omitempty"`
} }
func init() { func init() {

View File

@ -20,7 +20,7 @@ func TestDecodeCSV(t *testing.T) {
{ {
name: "valid", name: "valid",
data: heredoc.Doc(` data: heredoc.Doc(`
name,type,data_type name,type,dataType
time,timestamp, time,timestamp,
host,tag, host,tag,
usage_user,field,float usage_user,field,float
@ -30,7 +30,7 @@ func TestDecodeCSV(t *testing.T) {
{ {
name: "valid with alternate order", name: "valid with alternate order",
data: heredoc.Doc(` data: heredoc.Doc(`
type,data_type,name type,dataType,name
timestamp,,time timestamp,,time
tag,,host tag,,host
field,float,usage_user field,float,usage_user
@ -40,7 +40,7 @@ func TestDecodeCSV(t *testing.T) {
{ {
name: "invalid column type", name: "invalid column type",
data: heredoc.Doc(` data: heredoc.Doc(`
name,type,data_type name,type,dataType
time,foo, time,foo,
`), `),
expErr: `failed to decode CSV: record on line 0; parse error on line 2, column 2: "foo" is not a valid column type. Valid values are [timestamp, tag, field]`, expErr: `failed to decode CSV: record on line 0; parse error on line 2, column 2: "foo" is not a valid column type. Valid values are [timestamp, tag, field]`,
@ -48,23 +48,32 @@ func TestDecodeCSV(t *testing.T) {
{ {
name: "invalid column data type", name: "invalid column data type",
data: heredoc.Doc(` data: heredoc.Doc(`
name,type,data_type name,type,dataType
time,field,floaty time,field,floaty
`), `),
expErr: `failed to decode CSV: record on line 0; parse error on line 2, column 3: "floaty" is not a valid column data type. Valid values are [integer, float, boolean, string, unsigned]`, expErr: `failed to decode CSV: record on line 0; parse error on line 2, column 3: "floaty" is not a valid column data type. Valid values are [integer, float, boolean, string, unsigned]`,
}, },
{
name: "invalid dataType header",
data: heredoc.Doc(`
name,type,data_type
time,field,float
time2,field,
`),
expErr: `failed to decode CSV: found unmatched struct field with tags [dataType]`,
},
{ {
name: "invalid headers", name: "invalid headers",
data: heredoc.Doc(` data: heredoc.Doc(`
name,foo name,foo,
time,field time,field
`), `),
expErr: `failed to decode CSV: found unmatched struct field with tags [type data_type]`, expErr: `failed to decode CSV: record on line 2: wrong number of fields`,
}, },
{ {
name: "invalid CSV", name: "invalid CSV",
data: heredoc.Doc(` data: heredoc.Doc(`
type,type,data_type type,type,dataType
time,timestamp time,timestamp
`), `),
expErr: `failed to decode CSV: record on line 2: wrong number of fields`, expErr: `failed to decode CSV: record on line 2: wrong number of fields`,

View File

@ -1,4 +1,4 @@
name,type,data_type name,type,dataType
time,timestamp, time,timestamp,
host,tag, host,tag,
usage_user,field,float usage_user,field,float
1 name type data_type dataType
2 time timestamp
3 host tag
4 usage_user field float float