Skip to content

Commit

Permalink
brought etcdv3 registrar only test to its own run (#724)
Browse files Browse the repository at this point in the history
  • Loading branch information
basvanbeek authored and peterbourgon committed Jun 19, 2018
1 parent d5a7c56 commit e2d71a0
Showing 1 changed file with 44 additions and 8 deletions.
52 changes: 44 additions & 8 deletions sd/etcdv3/integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,6 @@ func runIntegration(settings integrationSettings, client Client, service Service
registrar.Register()
t.Log("Registered")

// Deregister our instance. (so we test registrar only scenario)
registrar.Deregister()
t.Log("Deregistered")

// Re-Register our instance.
registrar.Register()
t.Log("Registered")

// Retrieve entries from etcd manually.
entries, err = client.GetEntries(settings.key)
if err != nil {
Expand Down Expand Up @@ -172,6 +164,50 @@ func TestIntegrationTTL(t *testing.T) {
runIntegration(settings, client, service, t)
}

func TestIntegrationRegistrarOnly(t *testing.T) {
settings := testIntegrationSettings(t)
client, err := NewClient(context.Background(), []string{settings.addr}, ClientOptions{
DialTimeout: 2 * time.Second,
DialKeepAlive: 2 * time.Second,
})
if err != nil {
t.Fatalf("NewClient(%q): %v", settings.addr, err)
}

service := Service{
Key: settings.key,
Value: settings.value,
TTL: NewTTLOption(time.Second*3, time.Second*10),
}
defer client.Deregister(service)

// Verify test data is initially empty.
entries, err := client.GetEntries(settings.key)
if err != nil {
t.Fatalf("GetEntries(%q): expected no error, got one: %v", settings.key, err)
}
if len(entries) > 0 {
t.Fatalf("GetEntries(%q): expected no instance entries, got %d", settings.key, len(entries))
}
t.Logf("GetEntries(%q): %v (OK)", settings.key, entries)

// Instantiate a new Registrar, passing in test data.
registrar := NewRegistrar(
client,
service,
log.With(log.NewLogfmtLogger(os.Stderr), "component", "registrar"),
)

// Register our instance.
registrar.Register()
t.Log("Registered")

// Deregister our instance. (so we test registrar only scenario)
registrar.Deregister()
t.Log("Deregistered")

}

func within(d time.Duration, f func() bool) bool {
deadline := time.Now().Add(d)
for time.Now().Before(deadline) {
Expand Down

0 comments on commit e2d71a0

Please sign in to comment.