From 282db5150b72ec408b53b9d65f1dd2025abefb89 Mon Sep 17 00:00:00 2001 From: Eric Lin Date: Fri, 30 Dec 2022 10:13:33 +0000 Subject: [PATCH] tests: add tests with specifying MaxBytes option Signed-off-by: Eric Lin --- tests/common/kv_test.go | 1 + tests/e2e/ctl_v3_kv_test.go | 1 + tests/framework/config/client.go | 1 + tests/framework/e2e/etcdctl.go | 3 +++ tests/framework/integration/integration.go | 3 +++ 5 files changed, 9 insertions(+) diff --git a/tests/common/kv_test.go b/tests/common/kv_test.go index 1f619ff01ba9..9cb92a99d7c5 100644 --- a/tests/common/kv_test.go +++ b/tests/common/kv_test.go @@ -101,6 +101,7 @@ func TestKVGet(t *testing.T) { {begin: "foo", options: config.GetOptions{Prefix: true}, wkv: []string{"foo", "foo/abc"}}, {begin: "foo", options: config.GetOptions{FromKey: true}, wkv: []string{"foo", "foo/abc", "fop"}}, {begin: "", options: config.GetOptions{Prefix: true, Limit: 2}, wkv: wantKvs[:2]}, + {begin: "", options: config.GetOptions{Prefix: true, MaxBytes: 42}, wkv: wantKvs[:3]}, {begin: "", options: config.GetOptions{Prefix: true, Order: clientv3.SortAscend, SortBy: clientv3.SortByModRevision}, wkv: wantKvs}, {begin: "", options: config.GetOptions{Prefix: true, Order: clientv3.SortAscend, SortBy: clientv3.SortByVersion}, wkv: kvsByVersion}, {begin: "", options: config.GetOptions{Prefix: true, Order: clientv3.SortNone, SortBy: clientv3.SortByCreateRevision}, wkv: wantKvs}, diff --git a/tests/e2e/ctl_v3_kv_test.go b/tests/e2e/ctl_v3_kv_test.go index 9df307ba0734..f1f080aa9a76 100644 --- a/tests/e2e/ctl_v3_kv_test.go +++ b/tests/e2e/ctl_v3_kv_test.go @@ -139,6 +139,7 @@ func getTest(cx ctlCtx) { {[]string{"", "--from-key"}, kvs}, {[]string{"key", "--prefix"}, kvs}, {[]string{"key", "--prefix", "--limit=2"}, kvs[:2]}, + {[]string{"key", "--prefix", "--max-bytes=36"}, kvs[:2]}, {[]string{"key", "--prefix", "--order=ASCEND", "--sort-by=MODIFY"}, kvs}, {[]string{"key", "--prefix", "--order=ASCEND", "--sort-by=VERSION"}, kvs}, {[]string{"key", "--prefix", "--sort-by=CREATE"}, kvs}, // ASCEND by default diff --git a/tests/framework/config/client.go b/tests/framework/config/client.go index e570c9c119f3..d99e706bbde0 100644 --- a/tests/framework/config/client.go +++ b/tests/framework/config/client.go @@ -35,6 +35,7 @@ type GetOptions struct { Prefix bool FromKey bool Limit int + MaxBytes int Order clientv3.SortOrder SortBy clientv3.SortTarget Timeout time.Duration diff --git a/tests/framework/e2e/etcdctl.go b/tests/framework/e2e/etcdctl.go index 2b1b1690f2bd..76e561854a6e 100644 --- a/tests/framework/e2e/etcdctl.go +++ b/tests/framework/e2e/etcdctl.go @@ -106,6 +106,9 @@ func (ctl *EtcdctlV3) Get(ctx context.Context, key string, o config.GetOptions) if o.Limit != 0 { args = append(args, fmt.Sprintf("--limit=%d", o.Limit)) } + if o.MaxBytes != 0 { + args = append(args, fmt.Sprintf("--max-bytes=%d", o.MaxBytes)) + } if o.FromKey { args = append(args, "--from-key") } diff --git a/tests/framework/integration/integration.go b/tests/framework/integration/integration.go index 8d5f786e7177..046b1f05c91e 100644 --- a/tests/framework/integration/integration.go +++ b/tests/framework/integration/integration.go @@ -158,6 +158,9 @@ func (c integrationClient) Get(ctx context.Context, key string, o config.GetOpti if o.Limit != 0 { clientOpts = append(clientOpts, clientv3.WithLimit(int64(o.Limit))) } + if o.MaxBytes != 0 { + clientOpts = append(clientOpts, clientv3.WithMaxBytes(int64(o.MaxBytes))) + } if o.FromKey { clientOpts = append(clientOpts, clientv3.WithFromKey()) }