1 Star 0 Fork 0

zhuchance / kubernetes

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
example.go 3.58 KB
一键复制 编辑 原始数据 按行查看 历史
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))
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/meoom/kubernetes.git
git@gitee.com:meoom/kubernetes.git
meoom
kubernetes
kubernetes
v1.1.7

搜索帮助

344bd9b3 5694891 D2dac590 5694891