示例#1
0
func main() {
	var attrs client.Attributes
	var objs chan client.Attributes
	var errs chan client.Error
	_ = attrs
	_ = objs
	_ = errs
	var c *client.Client
	var err client.Error
	port, _ := strconv.Atoi(os.Args[2])
	c, er, _ := client.NewClient(os.Args[1], port)
	if er != nil {
		fmt.Println(err)
		os.Exit(1)
	}
	attrs, err = c.Get("kv", "k")
	if err.Status != client.NOTFOUND {
		fmt.Printf("bad status: %d (should be NOTFOUND)\n", err)
	}
	err = c.Put("kv", "k", client.Attributes{"v1": "ABC"})
	if err.Status != client.SUCCESS {
		os.Exit(1)
	}
	attrs, err = c.Get("kv", "k")
	if err.Status != client.SUCCESS {
		fmt.Printf("bad status: %d (should be SUCCESS)\n", err.Status)
	}
	if !sloppyEqualAttributes(attrs, client.Attributes{"v1": "ABC", "v2": ""}) {
		fmt.Printf("%s %s\n", attrs, client.Map{"v1": "ABC", "v2": ""})
		panic("objects not equal")
	}
	err = c.Put("kv", "k", client.Attributes{"v2": "123"})
	if err.Status != client.SUCCESS {
		os.Exit(1)
	}
	attrs, err = c.Get("kv", "k")
	if err.Status != client.SUCCESS {
		fmt.Printf("bad status: %d (should be SUCCESS)\n", err.Status)
	}
	if !sloppyEqualAttributes(attrs, client.Attributes{"v1": "ABC", "v2": "123"}) {
		fmt.Printf("%s %s\n", attrs, client.Map{"v1": "ABC", "v2": "123"})
		panic("objects not equal")
	}
	attrs, err = c.GetPartial("kv", "k", []string{"v1"})
	if err.Status != client.SUCCESS {
		fmt.Printf("bad status: %d (should be SUCCESS)\n", err.Status)
	}
	if !sloppyEqualAttributes(attrs, client.Attributes{"v1": "ABC"}) {
		fmt.Printf("%s %s\n", attrs, client.Map{"v1": "ABC"})
		panic("objects not equal")
	}
	os.Exit(0)
}