86
87
// TestClusterMembershipUpsertCanPageRead verifies that we can UpsertClusterMembership and read our result
89
>
expectedIds := make(map[string]int, 100)
90
>
for range 100 {
91
>
hostID := uuid.New()
92
>
93
>
expectedIds[hostID.String()]++
94
>
hostIDBytes, err := hostID.MarshalBinary()
95
>
s.NoError(err)
96
>
97
>
req := &p.UpsertClusterMembershipRequest{
98
>
HostID: hostIDBytes,
99
>
RPCAddress: net.ParseIP("127.0.0.2"),
100
>
RPCPort: 123,
101
>
Role: p.Frontend,
102
>
SessionStart: time.Now().UTC(),
103
>
RecordExpiry: 3 * time.Second,
104
>
}
105
>
106
>
err = s.ClusterMetadataManager.UpsertClusterMembership(s.ctx, req)
107
>
s.NoError(err)
108
>
}
109
111
>
var nextPageToken []byte
112
>
for {
113
>
resp, err := s.ClusterMetadataManager.GetClusterMembers(s.ctx, &p.GetClusterMembersRequest{PageSize: 9, NextPageToken: nextPageToken})
114
>
s.NoError(err)
115
>
nextPageToken = resp.NextPageToken
116
>
for _, member := range resp.ActiveMembers {
117
>
hostID, err := uuid.FromBytes(member.HostID)
118
>
s.NoError(err)
119
>
expectedIds[hostID.String()]--
120
>
hostCount++
121
>
}
122
124
>
break
125
}
126
}
127
129
>
for id, val := range expectedIds {
130
>
s.Zero(val, "identifier was either not found in db, or shouldn't be there - "+id)
131
>
}
132
134
}
135