diff --git a/server/handler_test.go b/server/handler_test.go index 8d001b529..2b0801585 100644 --- a/server/handler_test.go +++ b/server/handler_test.go @@ -38,6 +38,8 @@ import ( func TestHandler_Endpoints(t *testing.T) { cmd := test.MustRunMainWithCluster(t, 1)[0] h := cmd.Handler.(*http.Handler).Handler + holder := cmd.Server.Holder() + hldr := test.Holder{holder} t.Run("Not Found", func(t *testing.T) { w := httptest.NewRecorder() @@ -57,8 +59,6 @@ func TestHandler_Endpoints(t *testing.T) { } }) - holder := cmd.Server.Holder() - hldr := test.Holder{holder} i0 := hldr.MustCreateIndexIfNotExists("i0", pilosa.IndexOptions{}) i1 := hldr.MustCreateIndexIfNotExists("i1", pilosa.IndexOptions{}) if f, err := i0.CreateFieldIfNotExists("f1", pilosa.FieldOptions{}); err != nil { diff --git a/stats_test.go b/stats_test.go index 1f23dd3f8..7abcfa9c3 100644 --- a/stats_test.go +++ b/stats_test.go @@ -16,12 +16,13 @@ package pilosa_test import ( "context" - "net/http" + "net/http/httptest" "strings" "testing" "time" "github.com/pilosa/pilosa" + "github.com/pilosa/pilosa/http" "github.com/pilosa/pilosa/test" ) @@ -207,120 +208,89 @@ func TestStatsCount_SetProfileAttrs(t *testing.T) { } } -func TestStatsCount_CreateIndex(t *testing.T) { - t.Skip() - hldr := test.MustOpenHolder() - defer hldr.Close() - s := test.NewServer() - s.Handler.API.Holder = hldr.Holder - defer s.Close() - called := false - s.Handler.API.Holder.Stats = &MockStats{ - mockCount: func(name string, value int64, rate float64) { - if name != "createIndex" { - t.Errorf("Expected createIndex, Results %s", name) - } +func TestStatsCount_APICalls(t *testing.T) { + cmd := test.MustRunMainWithCluster(t, 1)[0] + h := cmd.Handler.(*http.Handler).Handler + holder := cmd.Server.Holder() + hldr := test.Holder{Holder: holder} - called = true - }, - } - http.DefaultClient.Do(test.MustNewHTTPRequest("POST", s.URL+"/index/i", nil)) - if !called { - t.Error("Count isn't called") - } -} + t.Run("create index", func(t *testing.T) { + called := false + hldr.Stats = &MockStats{ + mockCount: func(name string, value int64, rate float64) { + if name != "createIndex" { + t.Errorf("Expected createIndex, Results %s", name) + } + called = true + }, + } + w := httptest.NewRecorder() + h.ServeHTTP(w, test.MustNewHTTPRequest("POST", "/index/i", strings.NewReader(""))) + if !called { + t.Error("Count isn't called") + } + }) -func TestStatsCount_DeleteIndex(t *testing.T) { - t.Skip() - hldr := test.MustOpenHolder() - defer hldr.Close() + t.Run("create field", func(t *testing.T) { + called := false + hldr.Stats = &MockStats{ + mockCountWithTags: func(name string, value int64, rate float64, index []string) { + if name != "createField" { + t.Errorf("Expected createField, Results %s", name) + } + if index[0] != "index:i" { + t.Errorf("Expected index:i, Results %s", index) + } - s := test.NewServer() - s.Handler.API.Holder = hldr.Holder - defer s.Close() + called = true + }, + } + w := httptest.NewRecorder() + h.ServeHTTP(w, test.MustNewHTTPRequest("POST", "/index/i/field/f", strings.NewReader(""))) + if !called { + t.Error("Count isn't called") + } + }) - // Create index. - if _, err := hldr.CreateIndexIfNotExists("i", pilosa.IndexOptions{}); err != nil { - t.Fatal(err) - } - called := false - s.Handler.API.Holder.Stats = &MockStats{ - mockCount: func(name string, value int64, rate float64) { - if name != "deleteIndex" { - t.Errorf("Expected deleteIndex, Results %s", name) - } + t.Run("delete field", func(t *testing.T) { + called := false + hldr.Stats = &MockStats{ + mockCountWithTags: func(name string, value int64, rate float64, index []string) { + if name != "deleteField" { + t.Errorf("Expected deleteField, Results %s", name) + } + if index[0] != "index:i" { + t.Errorf("Expected index:i, Results %s", index) + } - called = true - }, - } - http.DefaultClient.Do(test.MustNewHTTPRequest("DELETE", s.URL+"/index/i", strings.NewReader(""))) - if !called { - t.Error("Count isn't called") - } -} + called = true + }, + } + w := httptest.NewRecorder() + h.ServeHTTP(w, test.MustNewHTTPRequest("DELETE", "/index/i/field/f", strings.NewReader(""))) + if !called { + t.Error("Count isn't called") + } + }) -func TestStatsCount_CreateField(t *testing.T) { - t.Skip() - hldr := test.MustOpenHolder() - defer hldr.Close() + t.Run("delete index", func(t *testing.T) { + called := false + hldr.Stats = &MockStats{ + mockCount: func(name string, value int64, rate float64) { + if name != "deleteIndex" { + t.Errorf("Expected deleteIndex, Results %s", name) + } - s := test.NewServer() - s.Handler.API.Holder = hldr.Holder - defer s.Close() + called = true + }, + } + w := httptest.NewRecorder() + h.ServeHTTP(w, test.MustNewHTTPRequest("DELETE", "/index/i", strings.NewReader(""))) + if !called { + t.Error("Count isn't called") + } + }) - // Create index. - if _, err := hldr.CreateIndexIfNotExists("i", pilosa.IndexOptions{}); err != nil { - t.Fatal(err) - } - called := false - s.Handler.API.Holder.Stats = &MockStats{ - mockCountWithTags: func(name string, value int64, rate float64, index []string) { - if name != "createField" { - t.Errorf("Expected createField, Results %s", name) - } - if index[0] != "index:i" { - t.Errorf("Expected index:i, Results %s", index) - } - - called = true - }, - } - http.DefaultClient.Do(test.MustNewHTTPRequest("POST", s.URL+"/index/i/field/f", nil)) - if !called { - t.Error("Count isn't called") - } -} - -func TestStatsCount_DeleteField(t *testing.T) { - t.Skip() - hldr := test.MustOpenHolder() - defer hldr.Close() - - s := test.NewServer() - s.Handler.API.Holder = hldr.Holder - defer s.Close() - called := false - // Create index. - indx, _ := hldr.CreateIndexIfNotExists("i", pilosa.IndexOptions{}) - if _, err := indx.CreateFieldIfNotExists("test", pilosa.FieldOptions{}); err != nil { - t.Fatal(err) - } - s.Handler.API.Holder.Stats = &MockStats{ - mockCountWithTags: func(name string, value int64, rate float64, index []string) { - if name != "deleteField" { - t.Errorf("Expected deleteField, Results %s", name) - } - if index[0] != "index:i" { - t.Errorf("Expected index:i, Results %s", index) - } - - called = true - }, - } - http.DefaultClient.Do(test.MustNewHTTPRequest("DELETE", s.URL+"/index/i/field/f", strings.NewReader(""))) - if !called { - t.Error("Count isn't called") - } } type MockStats struct {