From d87f1bbca1fa088670eefecce7e82e87dbc5f5ae Mon Sep 17 00:00:00 2001 From: Michael Baird Date: Tue, 27 Jun 2017 14:06:12 -0500 Subject: [PATCH] Input Definition Struct encoding error tests --- input_definition.go | 2 +- input_definition_test.go | 21 +++++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/input_definition.go b/input_definition.go index a8e2e709e..aba684fb6 100644 --- a/input_definition.go +++ b/input_definition.go @@ -232,7 +232,7 @@ func (o *InputDefinitionField) Encode() (*internal.InputDefinitionField, error) return &field, nil } -// Action descripes the mapping method for the field in the InputDefinition. +// Action describes the mapping method for the field in the InputDefinition. type Action struct { Frame string `json:"frame,omitempty"` ValueDestination string `json:"valueDestination,omitempty"` diff --git a/input_definition_test.go b/input_definition_test.go index 753681e51..925adb724 100644 --- a/input_definition_test.go +++ b/input_definition_test.go @@ -120,12 +120,6 @@ func TestInputDefinition_LoadDefinition(t *testing.T) { t.Fatalf("Expected invalid ValueDestination error, actual error: %s", err) } - act := pilosa.Action{Frame: "f", ValueDestination: pilosa.InputSingleRowBool, ValueMap: map[string]uint64{"Green": 1}} - _, err = act.Encode() - if !strings.Contains(err.Error(), "rowID required for single-row-boolean") { - t.Fatalf("Expected rowID required for single-row-boolean error, actual error: %s", err) - } - action = internal.InputDefinitionAction{Frame: "f", ValueDestination: pilosa.InputMapping, RowID: 100} field = internal.InputDefinitionField{Name: "id", PrimaryKey: true, InputDefinitionActions: []*internal.InputDefinitionAction{&action}} def = &internal.InputDefinition{Name: "test", Frames: []*internal.Frame{&frames}, Fields: []*internal.InputDefinitionField{&field}} @@ -159,6 +153,21 @@ func TestInputDefinition_LoadDefinition(t *testing.T) { } } +func TestActionEncoding(t *testing.T) { + action := pilosa.Action{Frame: "f", ValueDestination: pilosa.InputSingleRowBool, ValueMap: map[string]uint64{"Green": 1}} + _, err := action.Encode() + if !strings.Contains(err.Error(), "rowID required for single-row-boolean") { + t.Fatalf("Expected rowID required for single-row-boolean error, actual error: %s", err) + } + + field := pilosa.InputDefinitionField{Name: "id", PrimaryKey: false, Actions: []pilosa.Action{action}} + info := pilosa.InputDefinitionInfo{Fields: []pilosa.InputDefinitionField{field}} + _, err = info.Encode() + if !strings.Contains(err.Error(), "rowID required for single-row-boolean") { + t.Fatalf("Expected rowID required for single-row-boolean error, actual error: %s", err) + } +} + func TestHandleAction(t *testing.T) { var value interface{} colID := uint64(0)