forked from influxdata/influxdb
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move the influxdb test to an examples directory
These tests weren't designed to be run automatically via the ci. They were a proof of concept and to demonstrate the api in action
- Loading branch information
Showing
2 changed files
with
200 additions
and
190 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
package examples | ||
|
||
import ( | ||
"fmt" | ||
|
||
"github.com/influxdb/influxdb/client" | ||
) | ||
|
||
func main() { | ||
TestClient() | ||
} | ||
|
||
func TestClient() { | ||
internalTest(true) | ||
} | ||
|
||
func TestClientWithoutCompression() { | ||
internalTest(false) | ||
} | ||
|
||
func internalTest(compression bool) { | ||
c, err := client.NewClient(&client.ClientConfig{}) | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
admins, err := c.GetClusterAdminList() | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
if len(admins) == 1 { | ||
if err := c.CreateClusterAdmin("admin", "password"); err != nil { | ||
panic(err) | ||
} | ||
} | ||
|
||
admins, err = c.GetClusterAdminList() | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
if len(admins) != 2 { | ||
panic("more than two admins returned") | ||
} | ||
|
||
dbs, err := c.GetDatabaseList() | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
if len(dbs) == 0 { | ||
if err := c.CreateDatabase("foobar"); err != nil { | ||
panic(err) | ||
} | ||
} | ||
|
||
dbs, err = c.GetDatabaseList() | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
if len(dbs) != 1 && dbs[0]["foobar"] == nil { | ||
panic("List of databases don't match") | ||
} | ||
|
||
users, err := c.GetDatabaseUserList("foobar") | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
if len(users) == 0 { | ||
if err := c.CreateDatabaseUser("foobar", "dbuser", "pass"); err != nil { | ||
panic(err) | ||
} | ||
|
||
if err := c.AlterDatabasePrivilege("foobar", "dbuser", true); err != nil { | ||
panic(err) | ||
} | ||
} | ||
|
||
users, err = c.GetDatabaseUserList("foobar") | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
if len(users) != 1 { | ||
panic("more than one user returned") | ||
} | ||
|
||
c, err = client.NewClient(&client.ClientConfig{ | ||
Username: "dbuser", | ||
Password: "pass", | ||
Database: "foobar", | ||
}) | ||
|
||
if !compression { | ||
c.DisableCompression() | ||
} | ||
|
||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
name := "ts9" | ||
if !compression { | ||
name = "ts9_uncompressed" | ||
} | ||
|
||
series := &client.Series{ | ||
Name: name, | ||
Columns: []string{"value"}, | ||
Points: [][]interface{}{ | ||
{1.0}, | ||
}, | ||
} | ||
if err := c.WriteSeries([]*client.Series{series}); err != nil { | ||
panic(err) | ||
} | ||
|
||
result, err := c.Query("select * from " + name) | ||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
if len(result) != 1 { | ||
panic(fmt.Errorf("expected one time series returned: %d", len(result))) | ||
} | ||
|
||
if len(result[0].Points) != 1 { | ||
panic(fmt.Errorf("Expected one point: %d", len(result[0].Points))) | ||
} | ||
|
||
if result[0].Points[0][2].(float64) != 1 { | ||
panic("Value not equal to 1") | ||
} | ||
|
||
c, err = client.NewClient(&client.ClientConfig{ | ||
Username: "root", | ||
Password: "root", | ||
}) | ||
|
||
if err != nil { | ||
panic(err) | ||
} | ||
|
||
spaces, err := c.GetShardSpaces() | ||
if err != nil || len(spaces) == 0 { | ||
panic(fmt.Errorf("Got empty spaces back: %s", err)) | ||
} | ||
if spaces[0].Name != "default" { | ||
panic("Space name isn't default") | ||
} | ||
space := &client.ShardSpace{Name: "foo", Regex: "/^paul_is_rad/"} | ||
err = c.CreateShardSpace("foobar", space) | ||
if err != nil { | ||
panic(err) | ||
} | ||
spaces, _ = c.GetShardSpaces() | ||
if spaces[1].Name != "foo" { | ||
panic("Space name isn't foo") | ||
} | ||
shards, err := c.GetShards() | ||
if err != nil { | ||
panic(fmt.Errorf("Couldn't get shards back: %s", err)) | ||
} | ||
|
||
c, err = client.NewClient(&client.ClientConfig{ | ||
Username: "root", | ||
Password: "root", | ||
Database: "", | ||
}) | ||
series = &client.Series{ | ||
Name: "paul_is_rad", | ||
Columns: []string{"value"}, | ||
Points: [][]interface{}{ | ||
{1.0}, | ||
}, | ||
} | ||
if err := c.WriteSeries([]*client.Series{series}); err != nil { | ||
panic(err) | ||
} | ||
|
||
spaces, _ = c.GetShardSpaces() | ||
count := 0 | ||
for _, s := range shards.All { | ||
if s.SpaceName == "foo" { | ||
count++ | ||
} | ||
} | ||
|
||
if err := c.DropShardSpace("foobar", "foo"); err != nil { | ||
panic(fmt.Errorf("Error: %s", err)) | ||
} | ||
|
||
spaces, err = c.GetShardSpaces() | ||
if err != nil || len(spaces) != 1 || spaces[0].Name != "default" { | ||
panic(fmt.Errorf("Error: %s, %d, %s", err, len(spaces), spaces[0].Name)) | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.