cli

package
v0.0.0-...-aef47e8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2016 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Overview

Example (Basic)
c := newCLITest()
defer c.Stop()

c.Run("kv put a 1 b 2 c 3")
c.Run("kv scan")
c.Run("kv revscan")
c.Run("kv del a c")
c.Run("kv get a")
c.Run("kv get b")
c.Run("kv inc c 1")
c.Run("kv inc c 10")
c.Run("kv inc c 100")
c.Run("kv inc c -- -60")
c.Run("kv inc c -- -9")
c.Run("kv scan")
c.Run("kv revscan")
c.Run("kv inc c b")
Output:

kv put a 1 b 2 c 3
kv scan
"a"	"1"
"b"	"2"
"c"	"3"
3 result(s)
kv revscan
"c"	"3"
"b"	"2"
"a"	"1"
3 result(s)
kv del a c
kv get a
"a" not found
kv get b
"2"
kv inc c 1
1
kv inc c 10
11
kv inc c 100
111
kv inc c -- -60
51
kv inc c -- -9
42
kv scan
"b"	"2"
"c"	42
2 result(s)
kv revscan
"c"	42
"b"	"2"
2 result(s)
kv inc c b
invalid increment: b: strconv.ParseInt: parsing "b": invalid syntax
Example (Cput)
c := newCLITest()
defer c.Stop()

c.Run("kv put a 1 b 2 c 3 d 4")
c.Run("kv scan")
c.Run("kv cput e 5")
c.Run("kv cput b 3 2")
c.Run("kv scan")
Output:

kv put a 1 b 2 c 3 d 4
kv scan
"a"	"1"
"b"	"2"
"c"	"3"
"d"	"4"
4 result(s)
kv cput e 5
kv cput b 3 2
kv scan
"a"	"1"
"b"	"3"
"c"	"3"
"d"	"4"
"e"	"5"
5 result(s)
Example (Insecure)
c := cliTest{}
c.TestServer = &server.TestServer{}
c.Ctx = server.NewTestContext()
c.Ctx.Insecure = true
if err := c.Start(); err != nil {
	log.Fatalf("Could not start server: %v", err)
}
defer c.Stop()

c.Run("kv --insecure put a 1 b 2")
c.Run("kv --insecure scan")
Output:

kv --insecure put a 1 b 2
kv --insecure scan
"a"	"1"
"b"	"2"
2 result(s)
Example (Logging)
c := newCLITest()
defer c.Stop()

c.Run("kv --alsologtostderr=false scan")
c.Run("kv --log-backtrace-at=foo.go:1 scan")
c.Run("kv --log-dir='' scan")
c.Run("kv --logtostderr=true scan")
c.Run("kv --verbosity=0 scan")
c.Run("kv --vmodule=foo=1 scan")
Output:

kv --alsologtostderr=false scan
0 result(s)
kv --log-backtrace-at=foo.go:1 scan
0 result(s)
kv --log-dir='' scan
0 result(s)
kv --logtostderr=true scan
0 result(s)
kv --verbosity=0 scan
0 result(s)
kv --vmodule=foo=1 scan
0 result(s)
Example (Max_results)
c := newCLITest()
defer c.Stop()

c.Run("kv put a 1 b 2 c 3 d 4")
c.Run("kv scan --max-results=3")
c.Run("kv revscan --max-results=2")
c.Run("range split c")
c.Run("range split d")
c.Run("range ls --max-results=2")
Output:

kv put a 1 b 2 c 3 d 4
kv scan --max-results=3
"a"	"1"
"b"	"2"
"c"	"3"
3 result(s)
kv revscan --max-results=2
"d"	"4"
"c"	"3"
2 result(s)
range split c
range split d
range ls --max-results=2
/Min-"c" [1]
	0: node-id=1 store-id=1
"c"-"d" [4]
	0: node-id=1 store-id=1
2 result(s)
Example (Quoted)
c := newCLITest()
defer c.Stop()

c.Run(`kv put a\x00 日本語`)                                  // UTF-8 input text
c.Run(`kv put a\x01 \u65e5\u672c\u8a9e`)                   // explicit Unicode code points
c.Run(`kv put a\x02 \U000065e5\U0000672c\U00008a9e`)       // explicit Unicode code points
c.Run(`kv put a\x03 \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e`) // explicit UTF-8 bytes
c.Run(`kv scan`)
c.Run(`kv get a\x00`)
c.Run(`kv del a\x00`)
c.Run(`kv inc 1\x01`)
c.Run(`kv get 1\x01`)
Output:

kv put a\x00 日本語
kv put a\x01 \u65e5\u672c\u8a9e
kv put a\x02 \U000065e5\U0000672c\U00008a9e
kv put a\x03 \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e
kv scan
"a\x00"	"日本語"
"a\x01"	"日本語"
"a\x02"	"日本語"
"a\x03"	"日本語"
4 result(s)
kv get a\x00
"日本語"
kv del a\x00
kv inc 1\x01
1
kv get 1\x01
1
Example (Ranges)
c := newCLITest()
defer c.Stop()

c.Run("kv put a 1 b 2 c 3 d 4")
c.Run("kv scan")
c.Run("kv revscan")
c.Run("range split c")
c.Run("range ls")
c.Run("kv scan")
c.Run("kv revscan")
c.Run("range merge b")
c.Run("range ls")
c.Run("kv scan")
c.Run("kv revscan")
c.Run("kv delrange a c")
c.Run("kv scan")
Output:

kv put a 1 b 2 c 3 d 4
kv scan
"a"	"1"
"b"	"2"
"c"	"3"
"d"	"4"
4 result(s)
kv revscan
"d"	"4"
"c"	"3"
"b"	"2"
"a"	"1"
4 result(s)
range split c
range ls
/Min-"c" [1]
	0: node-id=1 store-id=1
"c"-/Table/11 [4]
	0: node-id=1 store-id=1
/Table/11-/Table/12 [2]
	0: node-id=1 store-id=1
/Table/12-/Max [3]
	0: node-id=1 store-id=1
4 result(s)
kv scan
"a"	"1"
"b"	"2"
"c"	"3"
"d"	"4"
4 result(s)
kv revscan
"d"	"4"
"c"	"3"
"b"	"2"
"a"	"1"
4 result(s)
range merge b
range ls
/Min-/Table/11 [1]
	0: node-id=1 store-id=1
/Table/11-/Table/12 [2]
	0: node-id=1 store-id=1
/Table/12-/Max [3]
	0: node-id=1 store-id=1
3 result(s)
kv scan
"a"	"1"
"b"	"2"
"c"	"3"
"d"	"4"
4 result(s)
kv revscan
"d"	"4"
"c"	"3"
"b"	"2"
"a"	"1"
4 result(s)
kv delrange a c
kv scan
"c"	"3"
"d"	"4"
2 result(s)
Example (User)
c := newCLITest()
defer c.Stop()

c.Run("user ls")
c.Run("user set foo --password=bar")
// Don't use get, since the output of hashedPassword is random.
// c.Run("user get foo")
c.Run("user ls")
c.Run("user rm foo")
c.Run("user ls")
Output:

user ls
+----------+
| username |
+----------+
+----------+
user set foo --password=bar
OK
user ls
+----------+
| username |
+----------+
| foo      |
+----------+
user rm foo
OK
user ls
+----------+
| username |
+----------+
+----------+
Example (Zone)
c := newCLITest()
defer c.Stop()

zone100 := `replicas:
- attrs: [us-east-1a,ssd]
- attrs: [us-east-1b,ssd]
- attrs: [us-west-1b,ssd]
range_min_bytes: 8388608
range_max_bytes: 67108864
`
c.Run("zone ls")
// Call RunWithArgs to bypass the "split-by-whitespace" arg builder.
c.RunWithArgs([]string{"zone", "set", "100", zone100})
c.Run("zone ls")
c.Run("zone get 100")
c.Run("zone rm 100")
c.Run("zone ls")
Output:

zone ls
zone set 100 replicas:
- attrs: [us-east-1a,ssd]
- attrs: [us-east-1b,ssd]
- attrs: [us-west-1b,ssd]
range_min_bytes: 8388608
range_max_bytes: 67108864

OK
zone ls
Object 100:
replicas:
- attrs: [us-east-1a, ssd]
- attrs: [us-east-1b, ssd]
- attrs: [us-west-1b, ssd]
range_min_bytes: 8388608
range_max_bytes: 67108864
gc:
  ttlseconds: 0

zone get 100
replicas:
- attrs: [us-east-1a, ssd]
- attrs: [us-east-1b, ssd]
- attrs: [us-west-1b, ssd]
range_min_bytes: 8388608
range_max_bytes: 67108864
gc:
  ttlseconds: 0

zone rm 100
OK
zone ls

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(args []string) error

Run ...

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL