| 528 | } |
| 529 | |
| 530 | func TestKV_keyValid(t *testing.T) { |
| 531 | tests := []struct { |
| 532 | key string |
| 533 | ok bool |
| 534 | }{ |
| 535 | {key: "foo123", ok: true}, |
| 536 | {key: "foo.bar", ok: true}, |
| 537 | {key: "Foo.123=bar_baz-abc", ok: true}, |
| 538 | {key: "foo.*.bar", ok: false}, |
| 539 | {key: "foo.>", ok: false}, |
| 540 | {key: ">", ok: false}, |
| 541 | {key: "*", ok: false}, |
| 542 | {key: "foo!", ok: false}, |
| 543 | {key: "foo bar", ok: false}, |
| 544 | {key: "", ok: false}, |
| 545 | {key: " ", ok: false}, |
| 546 | {key: ".", ok: false}, |
| 547 | {key: ".foo", ok: false}, |
| 548 | {key: "foo.", ok: false}, |
| 549 | } |
| 550 | |
| 551 | for _, test := range tests { |
| 552 | t.Run(test.key, func(t *testing.T) { |
| 553 | res := keyValid(test.key) |
| 554 | if res != test.ok { |
| 555 | t.Fatalf("Invalid result; want: %v; got: %v", test.ok, res) |
| 556 | } |
| 557 | }) |
| 558 | } |
| 559 | } |
| 560 | |
| 561 | func TestKV_searchKeyValid(t *testing.T) { |
| 562 | tests := []struct { |