Skip to content

Commit

Permalink
Merge pull request etcd-io#16888 from greenmoon55/greenmoon55-patch-1
Browse files Browse the repository at this point in the history
tests: add comments for clientv3test.TestWatchResumeInitRev
  • Loading branch information
ahrtr authored Dec 16, 2023
2 parents 4e98636 + 4c85377 commit f7be2df
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions tests/integration/clientv3/watch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,9 @@ func putAndWatch(t *testing.T, wctx *watchctx, key, val string) {
}
}

func TestWatchResumeInitRev(t *testing.T) {
// TestWatchResumeAfterDisconnect tests watch resume after member disconnects then connects.
// It ensures that correct events are returned corresponding to the start revision.
func TestWatchResumeAfterDisconnect(t *testing.T) {
integration2.BeforeTest(t)
clus := integration2.NewCluster(t, &integration2.ClusterConfig{Size: 1, UseBridge: true})
defer clus.Terminate(t)
Expand All @@ -367,7 +369,10 @@ func TestWatchResumeInitRev(t *testing.T) {
t.Fatal(err)
}

// watch from revision 1
wch := clus.Client(0).Watch(context.Background(), "a", clientv3.WithRev(1), clientv3.WithCreatedNotify())
// response for the create watch request, no events are in this response
// the current revision of etcd should be 4
if resp, ok := <-wch; !ok || resp.Header.Revision != 4 {
t.Fatalf("got (%v, %v), expected create notification rev=4", resp, ok)
}
Expand All @@ -389,12 +394,16 @@ func TestWatchResumeInitRev(t *testing.T) {
if !ok {
t.Fatal("unexpected watch close")
}
if len(resp.Events) == 0 {
t.Fatal("expected event on watch")
// Events should be put(a, 3) and put(a, 4)
if len(resp.Events) != 2 {
t.Fatal("expected two events on watch")
}
if string(resp.Events[0].Kv.Value) != "3" {
t.Fatalf("expected value=3, got event %+v", resp.Events[0])
}
if string(resp.Events[1].Kv.Value) != "4" {
t.Fatalf("expected value=4, got event %+v", resp.Events[1])
}
case <-time.After(5 * time.Second):
t.Fatal("watch timed out")
}
Expand Down

0 comments on commit f7be2df

Please sign in to comment.