mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-10 15:01:03 +00:00
test that translate key error messages are correct
This commit is contained in:
parent
f223d2d84b
commit
fed20ffd3e
2 changed files with 69 additions and 84 deletions
|
|
@ -1,84 +0,0 @@
|
|||
package pilosa
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTranslateIndexDbOnNilIndex(t *testing.T) {
|
||||
api := API{}
|
||||
api.holder = &Holder{}
|
||||
r := strings.NewReader("not important tbh")
|
||||
err := api.TranslateIndexDB(context.Background(), "nonExistentIndex", 0, r)
|
||||
expected := fmt.Errorf("index %q not found", "nonExistentIndex")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTranslateIndexDbOnNilTranslateStore(t *testing.T) {
|
||||
api := API{}
|
||||
indexes := make(map[string]*Index)
|
||||
indexes["index"] = &Index{name: "index"}
|
||||
api.holder = &Holder{indexes: indexes}
|
||||
r := strings.NewReader("not important tbh")
|
||||
err := api.TranslateIndexDB(context.Background(), "index", 0, r)
|
||||
expected := fmt.Errorf("index %q has no translate store", "index")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTranslateFieldDbOnNilIndex(t *testing.T) {
|
||||
api := API{}
|
||||
api.holder = &Holder{}
|
||||
r := strings.NewReader("not important tbh")
|
||||
err := api.TranslateFieldDB(context.Background(), "nonExistentIndex", "field", r)
|
||||
expected := fmt.Errorf("index %q not found", "nonExistentIndex")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTranslateFieldDbOnNilField(t *testing.T) {
|
||||
api := API{}
|
||||
indexes := make(map[string]*Index)
|
||||
indexes["index"] = &Index{name: "index"}
|
||||
api.holder = &Holder{indexes: indexes}
|
||||
r := strings.NewReader("not important tbh")
|
||||
err := api.TranslateFieldDB(context.Background(), "index", "nonExistentField", r)
|
||||
expected := fmt.Errorf("field %q/%q not found", "index", "nonExistentField")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTranslateFieldDbOnNilFieldWithFieldName_keys(t *testing.T) {
|
||||
api := API{}
|
||||
indexes := make(map[string]*Index)
|
||||
indexes["index"] = &Index{name: "index"}
|
||||
api.holder = &Holder{indexes: indexes}
|
||||
r := strings.NewReader("not important tbh")
|
||||
err := api.TranslateFieldDB(context.Background(), "index", "_keys", r)
|
||||
if err != nil {
|
||||
t.Fatalf("expected 'nil', got '%#v'", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTranslateFieldDbOnNilTranslateStore(t *testing.T) {
|
||||
api := API{}
|
||||
indexes := make(map[string]*Index)
|
||||
fields := make(map[string]*Field)
|
||||
fields["field"] = &Field{}
|
||||
indexes["index"] = &Index{name: "index", fields: fields}
|
||||
api.holder = &Holder{indexes: indexes}
|
||||
r := strings.NewReader("not important tbh")
|
||||
err := api.TranslateFieldDB(context.Background(), "index", "field", r)
|
||||
expected := fmt.Errorf("field %q/%q has no translate store", "index", "field")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
}
|
||||
69
api_test.go
69
api_test.go
|
|
@ -1356,3 +1356,72 @@ func createFieldForTest(index string, field string, coord *test.Command, t *test
|
|||
t.Fatalf("creating field: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestVariousApiTranslateCalls(t *testing.T) {
|
||||
for i := 1; i < 8; i += 3 {
|
||||
m := test.MustRunCluster(t, i)
|
||||
defer m.Close()
|
||||
node := m.GetNode(0)
|
||||
api := node.API
|
||||
// this should never actually get used because we're testing for errors here
|
||||
r := strings.NewReader("")
|
||||
// test index
|
||||
idx, err := api.Holder().CreateIndex("index", pilosa.IndexOptions{})
|
||||
if err != nil {
|
||||
t.Fatalf("%v: could not create test index", err)
|
||||
}
|
||||
_, err = idx.CreateFieldIfNotExistsWithOptions("field", &pilosa.FieldOptions{Keys: false})
|
||||
t.Run("translateIndexDbOnNilIndex",
|
||||
func(t *testing.T) {
|
||||
err := api.TranslateIndexDB(context.Background(), "nonExistentIndex", 0, r)
|
||||
expected := fmt.Errorf("index %q not found", "nonExistentIndex")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("translateIndexDbOnNilTranslateStore",
|
||||
func(t *testing.T) {
|
||||
err := api.TranslateIndexDB(context.Background(), "index", 0, r)
|
||||
expected := fmt.Errorf("index %q has no translate store", "index")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("translateFieldDbOnNilIndex",
|
||||
func(t *testing.T) {
|
||||
err := api.TranslateFieldDB(context.Background(), "nonExistentIndex", "field", r)
|
||||
expected := fmt.Errorf("index %q not found", "nonExistentIndex")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("translateFieldDbOnNilField",
|
||||
func(t *testing.T) {
|
||||
err := api.TranslateFieldDB(context.Background(), "index", "nonExistentField", r)
|
||||
expected := fmt.Errorf("field %q/%q not found", "index", "nonExistentField")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("translateFieldDbNilField_keys",
|
||||
func(t *testing.T) {
|
||||
err := api.TranslateFieldDB(context.Background(), "index", "_keys", r)
|
||||
if err != nil {
|
||||
t.Fatalf("expected 'nil', got '%#v'", err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("translateFieldDbOnNilTranslateStore",
|
||||
func(t *testing.T) {
|
||||
err := api.TranslateFieldDB(context.Background(), "index", "field", r)
|
||||
expected := fmt.Errorf("field %q/%q has no translate store", "index", "field")
|
||||
if !reflect.DeepEqual(err, expected) {
|
||||
t.Fatalf("expected '%#v', got '%#v'", expected, err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue