more test

This commit is contained in:
Linh Vo 2017-09-27 10:10:43 -05:00
parent a1a6c7d717
commit 7e53a4ed1d
3 changed files with 25 additions and 7 deletions

View file

@ -446,7 +446,7 @@ func (f *Frame) GetFields() (*FrameSchema, error) {
// Ensure frame supports fields.
if !f.RangeEnabled() {
return nil, nil
return nil, ErrFrameFieldsNotAllowed
}
err := f.loadSchema()
if err != nil {

View file

@ -849,7 +849,10 @@ func (h *Handler) handleGetFrameField(w http.ResponseWriter, r *http.Request) {
index := h.Holder.index(indexName)
frame := index.frame(frameName)
schema, err := frame.GetFields()
if err != nil {
if err == ErrFrameFieldsNotAllowed {
http.Error(w, err.Error(), http.StatusBadRequest)
return
} else if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}

View file

@ -1072,13 +1072,28 @@ func TestHandler_Frame_GetFields(t *testing.T) {
} else if field.Max != 100 {
t.Fatalf("expected field's max: x, actuall max: %v", field.Max)
}
//
//
//if field := f.Field("x"); field != nil {
// t.Fatalf("expected nil field, got: %#v", field)
//}
})
t.Run("ErrFrameFieldNotAllowed", func(t *testing.T) {
idx := hldr.MustCreateIndexIfNotExists("i", pilosa.IndexOptions{})
_, err := idx.CreateFrameIfNotExists("f1", pilosa.FrameOptions{RangeEnabled: false})
resp, err := http.Get(s.URL + "/index/i/frame/f1/fields")
if err != nil {
t.Fatal(err)
}
if err != nil {
t.Fatal(err)
} else if resp.StatusCode != http.StatusBadRequest {
t.Fatalf("unexpected status code: %d", resp.StatusCode)
} else if body, err := ioutil.ReadAll(resp.Body); err != nil {
t.Fatal(err)
} else if strings.TrimSpace(string(body)) != `frame fields not allowed` {
t.Fatalf("unexpected body: %q", body)
}
})
}
type FrameFields struct {