Codebase list golang-github-go-kit-kit / e2d71a0
brought etcdv3 registrar only test to its own run (#724) Bas van Beek authored 5 years ago Peter Bourgon committed 5 years ago
1 changed file(s) with 44 addition(s) and 8 deletion(s). Raw diff Collapse all Expand all
3232 )
3333
3434 // Register our instance.
35 registrar.Register()
36 t.Log("Registered")
37
38 // Deregister our instance. (so we test registrar only scenario)
39 registrar.Deregister()
40 t.Log("Deregistered")
41
42 // Re-Register our instance.
4335 registrar.Register()
4436 t.Log("Registered")
4537
171163 runIntegration(settings, client, service, t)
172164 }
173165
166 func TestIntegrationRegistrarOnly(t *testing.T) {
167 settings := testIntegrationSettings(t)
168 client, err := NewClient(context.Background(), []string{settings.addr}, ClientOptions{
169 DialTimeout: 2 * time.Second,
170 DialKeepAlive: 2 * time.Second,
171 })
172 if err != nil {
173 t.Fatalf("NewClient(%q): %v", settings.addr, err)
174 }
175
176 service := Service{
177 Key: settings.key,
178 Value: settings.value,
179 TTL: NewTTLOption(time.Second*3, time.Second*10),
180 }
181 defer client.Deregister(service)
182
183 // Verify test data is initially empty.
184 entries, err := client.GetEntries(settings.key)
185 if err != nil {
186 t.Fatalf("GetEntries(%q): expected no error, got one: %v", settings.key, err)
187 }
188 if len(entries) > 0 {
189 t.Fatalf("GetEntries(%q): expected no instance entries, got %d", settings.key, len(entries))
190 }
191 t.Logf("GetEntries(%q): %v (OK)", settings.key, entries)
192
193 // Instantiate a new Registrar, passing in test data.
194 registrar := NewRegistrar(
195 client,
196 service,
197 log.With(log.NewLogfmtLogger(os.Stderr), "component", "registrar"),
198 )
199
200 // Register our instance.
201 registrar.Register()
202 t.Log("Registered")
203
204 // Deregister our instance. (so we test registrar only scenario)
205 registrar.Deregister()
206 t.Log("Deregistered")
207
208 }
209
174210 func within(d time.Duration, f func() bool) bool {
175211 deadline := time.Now().Add(d)
176212 for time.Now().Before(deadline) {