added separate clients per caller in integration tests

This commit is contained in:
markturansky 2015-09-18 13:23:21 -04:00
parent a1692e06e6
commit 9c7d03b2b6

View File

@ -42,20 +42,21 @@ func TestPersistentVolumeClaimBinder(t *testing.T) {
defer s.Close() defer s.Close()
deleteAllEtcdKeys() deleteAllEtcdKeys()
client := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()}) binderClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
testClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(client, 1*time.Second) binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(binderClient, 1*time.Second)
binder.Run() binder.Run()
defer binder.Stop() defer binder.Stop()
for _, volume := range createTestVolumes() { for _, volume := range createTestVolumes() {
_, err := client.PersistentVolumes().Create(volume) _, err := testClient.PersistentVolumes().Create(volume)
if err != nil { if err != nil {
t.Fatalf("Unexpected error: %v", err) t.Fatalf("Unexpected error: %v", err)
} }
} }
volumes, err := client.PersistentVolumes().List(labels.Everything(), fields.Everything()) volumes, err := testClient.PersistentVolumes().List(labels.Everything(), fields.Everything())
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@ -64,13 +65,13 @@ func TestPersistentVolumeClaimBinder(t *testing.T) {
} }
for _, claim := range createTestClaims() { for _, claim := range createTestClaims() {
_, err := client.PersistentVolumeClaims(api.NamespaceDefault).Create(claim) _, err := testClient.PersistentVolumeClaims(api.NamespaceDefault).Create(claim)
if err != nil { if err != nil {
t.Fatalf("Unexpected error: %v", err) t.Fatalf("Unexpected error: %v", err)
} }
} }
claims, err := client.PersistentVolumeClaims(api.NamespaceDefault).List(labels.Everything(), fields.Everything()) claims, err := testClient.PersistentVolumeClaims(api.NamespaceDefault).List(labels.Everything(), fields.Everything())
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@ -79,7 +80,7 @@ func TestPersistentVolumeClaimBinder(t *testing.T) {
} }
// the binder will eventually catch up and set status on Claims // the binder will eventually catch up and set status on Claims
watch, err := client.PersistentVolumeClaims(api.NamespaceDefault).Watch(labels.Everything(), fields.Everything(), "0") watch, err := testClient.PersistentVolumeClaims(api.NamespaceDefault).Watch(labels.Everything(), fields.Everything(), "0")
if err != nil { if err != nil {
t.Fatalf("Couldn't subscribe to PersistentVolumeClaims: %v", err) t.Fatalf("Couldn't subscribe to PersistentVolumeClaims: %v", err)
} }
@ -99,7 +100,7 @@ func TestPersistentVolumeClaimBinder(t *testing.T) {
} }
for _, claim := range createTestClaims() { for _, claim := range createTestClaims() {
claim, err := client.PersistentVolumeClaims(api.NamespaceDefault).Get(claim.Name) claim, err := testClient.PersistentVolumeClaims(api.NamespaceDefault).Get(claim.Name)
if err != nil { if err != nil {
t.Fatalf("Unexpected error: %v", err) t.Fatalf("Unexpected error: %v", err)
} }
@ -213,13 +214,15 @@ func TestPersistentVolumeRecycler(t *testing.T) {
defer s.Close() defer s.Close()
deleteAllEtcdKeys() deleteAllEtcdKeys()
client := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()}) binderClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
recyclerClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
testClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(client, 1*time.Second) binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(binderClient, 1*time.Second)
binder.Run() binder.Run()
defer binder.Stop() defer binder.Stop()
recycler, _ := volumeclaimbinder.NewPersistentVolumeRecycler(client, 1*time.Second, []volume.VolumePlugin{&volume.FakeVolumePlugin{"plugin-name", volume.NewFakeVolumeHost("/tmp/fake", nil, nil)}}) recycler, _ := volumeclaimbinder.NewPersistentVolumeRecycler(recyclerClient, 1*time.Second, []volume.VolumePlugin{&volume.FakeVolumePlugin{"plugin-name", volume.NewFakeVolumeHost("/tmp/fake", nil, nil)}})
recycler.Run() recycler.Run()
defer recycler.Stop() defer recycler.Stop()
@ -242,17 +245,17 @@ func TestPersistentVolumeRecycler(t *testing.T) {
}, },
} }
watch, _ := client.PersistentVolumes().Watch(labels.Everything(), fields.Everything(), "0") watch, _ := testClient.PersistentVolumes().Watch(labels.Everything(), fields.Everything(), "0")
defer watch.Stop() defer watch.Stop()
_, _ = client.PersistentVolumes().Create(pv) _, _ = testClient.PersistentVolumes().Create(pv)
_, _ = client.PersistentVolumeClaims(api.NamespaceDefault).Create(pvc) _, _ = testClient.PersistentVolumeClaims(api.NamespaceDefault).Create(pvc)
// wait until the binder pairs the volume and claim // wait until the binder pairs the volume and claim
waitForPersistentVolumePhase(watch, api.VolumeBound) waitForPersistentVolumePhase(watch, api.VolumeBound)
// deleting a claim releases the volume, after which it can be recycled // deleting a claim releases the volume, after which it can be recycled
if err := client.PersistentVolumeClaims(api.NamespaceDefault).Delete(pvc.Name); err != nil { if err := testClient.PersistentVolumeClaims(api.NamespaceDefault).Delete(pvc.Name); err != nil {
t.Errorf("error deleting claim %s", pvc.Name) t.Errorf("error deleting claim %s", pvc.Name)
} }
@ -275,13 +278,15 @@ func TestPersistentVolumeDeleter(t *testing.T) {
defer s.Close() defer s.Close()
deleteAllEtcdKeys() deleteAllEtcdKeys()
client := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()}) binderClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
recyclerClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
testClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Default.Version()})
binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(client, 1*time.Second) binder := volumeclaimbinder.NewPersistentVolumeClaimBinder(binderClient, 1*time.Second)
binder.Run() binder.Run()
defer binder.Stop() defer binder.Stop()
recycler, _ := volumeclaimbinder.NewPersistentVolumeRecycler(client, 1*time.Second, []volume.VolumePlugin{&volume.FakeVolumePlugin{"plugin-name", volume.NewFakeVolumeHost("/tmp/fake", nil, nil)}}) recycler, _ := volumeclaimbinder.NewPersistentVolumeRecycler(recyclerClient, 1*time.Second, []volume.VolumePlugin{&volume.FakeVolumePlugin{"plugin-name", volume.NewFakeVolumeHost("/tmp/fake", nil, nil)}})
recycler.Run() recycler.Run()
defer recycler.Stop() defer recycler.Stop()
@ -304,17 +309,17 @@ func TestPersistentVolumeDeleter(t *testing.T) {
}, },
} }
w, _ := client.PersistentVolumes().Watch(labels.Everything(), fields.Everything(), "0") w, _ := testClient.PersistentVolumes().Watch(labels.Everything(), fields.Everything(), "0")
defer w.Stop() defer w.Stop()
_, _ = client.PersistentVolumes().Create(pv) _, _ = testClient.PersistentVolumes().Create(pv)
_, _ = client.PersistentVolumeClaims(api.NamespaceDefault).Create(pvc) _, _ = testClient.PersistentVolumeClaims(api.NamespaceDefault).Create(pvc)
// wait until the binder pairs the volume and claim // wait until the binder pairs the volume and claim
waitForPersistentVolumePhase(w, api.VolumeBound) waitForPersistentVolumePhase(w, api.VolumeBound)
// deleting a claim releases the volume, after which it can be recycled // deleting a claim releases the volume, after which it can be recycled
if err := client.PersistentVolumeClaims(api.NamespaceDefault).Delete(pvc.Name); err != nil { if err := testClient.PersistentVolumeClaims(api.NamespaceDefault).Delete(pvc.Name); err != nil {
t.Errorf("error deleting claim %s", pvc.Name) t.Errorf("error deleting claim %s", pvc.Name)
} }