brought etcdv3 registrar only test to its own run (#724)
Bas van Beek authored 5 years ago
Peter Bourgon committed 5 years ago
32 | 32 | ) |
33 | 33 | |
34 | 34 | // 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. | |
43 | 35 | registrar.Register() |
44 | 36 | t.Log("Registered") |
45 | 37 | |
171 | 163 | runIntegration(settings, client, service, t) |
172 | 164 | } |
173 | 165 | |
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 | ||
174 | 210 | func within(d time.Duration, f func() bool) bool { |
175 | 211 | deadline := time.Now().Add(d) |
176 | 212 | for time.Now().Before(deadline) { |