From e84b338018ee4f1d2228d51e1ccecd5c88ba84a8 Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Wed, 4 Mar 2015 12:44:56 -0800 Subject: [PATCH] Transplant 'SHOW TAG KEYS' tests --- cmd/influxd/server_integration_test.go | 27 ++++++ httpd/handler_test.go | 112 ------------------------- 2 files changed, 27 insertions(+), 112 deletions(-) diff --git a/cmd/influxd/server_integration_test.go b/cmd/influxd/server_integration_test.go index 869c8fa6f8..f90e80527a 100644 --- a/cmd/influxd/server_integration_test.go +++ b/cmd/influxd/server_integration_test.go @@ -352,6 +352,7 @@ func runTestsData(t *testing.T, testName string, nodes Cluster, database, retent }, // Metadata display tests + { reset: true, write: `{"database" : "%DB%", "retentionPolicy" : "%RP%", "points": [ @@ -391,6 +392,7 @@ func runTestsData(t *testing.T, testName string, nodes Cluster, database, retent queryDb: "%DB%", expected: `{"results":[{"series":[{"name":"cpu","columns":["id","host","region"],"values":[[3,"server01","useast"],[4,"server02","useast"]]}]}]}`, }, + { reset: true, write: `{"database" : "%DB%", "retentionPolicy" : "%RP%", "points": [ @@ -417,6 +419,31 @@ func runTestsData(t *testing.T, testName string, nodes Cluster, database, retent expected: `{"results":[{"series":[{"name":"measurements","columns":["name"],"values":[["cpu"]]}]}]}`, }, + { + reset: true, + write: `{"database" : "%DB%", "retentionPolicy" : "%RP%", "points": [ + {"name": "cpu", "tags": {"host": "server01"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, + {"name": "cpu", "tags": {"host": "server01", "region": "uswest"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, + {"name": "cpu", "tags": {"host": "server01", "region": "useast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, + {"name": "cpu", "tags": {"host": "server02", "region": "useast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, + {"name": "gpu", "tags": {"host": "server02", "region": "useast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, + {"name": "gpu", "tags": {"host": "server03", "region": "caeast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}} + ]}`, + query: "SHOW TAG KEYS", + queryDb: "%DB%", + expected: `{"results":[{"series":[{"name":"cpu","columns":["tagKey"],"values":[["host"],["region"]]},{"name":"gpu","columns":["tagKey"],"values":[["host"],["region"]]}]}]}`, + }, + { + query: "SHOW TAG KEYS FROM cpu", + queryDb: "%DB%", + expected: `{"results":[{"series":[{"name":"cpu","columns":["tagKey"],"values":[["host"],["region"]]}]}]}`, + }, + { + query: "SHOW TAG KEYS FROM bad", + queryDb: "%DB%", + expected: `{"results":[{"error":"measurement \"bad\" not found"}]}`, + }, + // User control tests { name: "show users, no actual users", diff --git a/httpd/handler_test.go b/httpd/handler_test.go index aa850df620..894f8c0bb3 100644 --- a/httpd/handler_test.go +++ b/httpd/handler_test.go @@ -1322,118 +1322,6 @@ func str2iface(strs []string) []interface{} { return a } -func TestHandler_serveShowTagKeys(t *testing.T) { - srvr := OpenAuthlessServer(NewMessagingClient()) - srvr.CreateDatabase("foo") - srvr.CreateRetentionPolicy("foo", influxdb.NewRetentionPolicy("bar")) - srvr.SetDefaultRetentionPolicy("foo", "bar") - s := NewHTTPServer(srvr) - defer s.Close() - - status, body := MustHTTP("POST", s.URL+`/write`, nil, nil, `{"database" : "foo", "retentionPolicy" : "bar", "points": [ - {"name": "cpu", "tags": {"host": "server01"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, - {"name": "cpu", "tags": {"host": "server01", "region": "uswest"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, - {"name": "cpu", "tags": {"host": "server01", "region": "useast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, - {"name": "cpu", "tags": {"host": "server02", "region": "useast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, - {"name": "gpu", "tags": {"host": "server02", "region": "useast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}}, - {"name": "gpu", "tags": {"host": "server03", "region": "caeast"},"timestamp": "2009-11-10T23:00:00Z","fields": {"value": 100}} - ]}`) - - if status != http.StatusOK { - t.Log(body) - t.Fatalf("unexpected status after write: %d", status) - } - - var tests = []struct { - q string - r *influxdb.Results - err string - }{ - // SHOW TAG KEYS - { - q: `SHOW TAG KEYS`, - r: &influxdb.Results{ - Results: []*influxdb.Result{ - { - Series: []*influxql.Row{ - { - Name: "cpu", - Columns: []string{"tagKey"}, - Values: [][]interface{}{ - str2iface([]string{"host"}), - str2iface([]string{"region"}), - }, - }, - { - Name: "gpu", - Columns: []string{"tagKey"}, - Values: [][]interface{}{ - str2iface([]string{"host"}), - str2iface([]string{"region"}), - }, - }, - }, - }, - }, - }, - }, - // SHOW TAG KEYS FROM... - { - q: `SHOW TAG KEYS FROM cpu`, - r: &influxdb.Results{ - Results: []*influxdb.Result{ - { - Series: []*influxql.Row{ - { - Name: "cpu", - Columns: []string{"tagKey"}, - Values: [][]interface{}{ - str2iface([]string{"host"}), - str2iface([]string{"region"}), - }, - }, - }, - }, - }, - }, - }, - // SHOW TAG KEYS FROM - { - q: `SHOW TAG KEYS FROM bad`, - err: `measurement "bad" not found`, - }, - } - for i, tt := range tests { - query := map[string]string{"db": "foo", "q": tt.q} - status, body = MustHTTP("GET", s.URL+`/query`, query, nil, "") - - if (tt.err == "" && status != http.StatusOK) || - (tt.err != "" && status != http.StatusInternalServerError) { - t.Logf("query #%d: %s", i, tt.q) - t.Logf("body = %s\n", body) - t.Errorf("unexpected status: %d", status) - } - - r := &influxdb.Results{} - if err := json.Unmarshal([]byte(body), r); err != nil { - t.Logf("query #%d: %s", i, tt.q) - t.Logf("body = %s\n", body) - t.Error(err) - } - - if !reflect.DeepEqual(tt.err, errstring(r.Results[0].Err)) { - t.Logf("body = %s\n", body) - fmt.Printf("r.Results[0].Err) = %v\n", r.Results[0].Err) - t.Errorf("%d. %s: error mismatch:\n exp=%s\n got=%s\n\n", i, tt.q, tt.err, errstring(r.Results[0].Err)) - } else if tt.err == "" && !reflect.DeepEqual(tt.r, r) { - b, _ := json.Marshal(tt.r) - t.Log(string(b)) - t.Log(body) - t.Errorf("%d. %s: result mismatch:\n\nexp=%#v\n\ngot=%#v\n\n", i, tt.q, tt.r, r) - } - } -} - func TestHandler_serveShowTagValues(t *testing.T) { srvr := OpenAuthlessServer(NewMessagingClient()) srvr.CreateDatabase("foo")