refactor index_test to compress the basic expected assertions

Kubernetes-commit: de0043b1d37ee27f1d75c22865667cedc54eec1b
This commit is contained in:
Han Kang 2018-10-08 11:38:19 -07:00 committed by Kubernetes Publisher
parent ba3e01d473
commit 9d900fc3f3

View File

@ -17,6 +17,7 @@ limitations under the License.
package cache package cache
import ( import (
"k8s.io/apimachinery/pkg/util/sets"
"strings" "strings"
"testing" "testing"
@ -70,60 +71,31 @@ func TestMultiIndexKeys(t *testing.T) {
index.Add(pod2) index.Add(pod2)
index.Add(pod3) index.Add(pod3)
erniePods, err := index.ByIndex("byUser", "ernie") expected := map[string]sets.String{}
if err != nil { expected["ernie"] = sets.NewString("one", "tre")
t.Errorf("unexpected error: %v", err) expected["bert"] = sets.NewString("one", "two")
} expected["elmo"] = sets.NewString("tre")
if len(erniePods) != 2 { expected["oscar"] = sets.NewString("two")
t.Errorf("Expected 2 pods but got %v", len(erniePods)) expected["elmo"] = sets.NewString() // let's just make sure we don't get anything back in this case
} {
for _, erniePod := range erniePods { for k, v := range expected {
if erniePod.(*v1.Pod).Name != "one" && erniePod.(*v1.Pod).Name != "tre" { found := sets.String{}
t.Errorf("Expected only 'one' or 'tre' but got %s", erniePod.(*v1.Pod).Name) indexResults, err := index.ByIndex("byUser", k)
} if err != nil {
} t.Errorf("Unexpected error %v", err)
}
bertPods, err := index.ByIndex("byUser", "bert") for _, item := range indexResults {
if err != nil { found.Insert(item.(*v1.Pod).Name)
t.Errorf("unexpected error: %v", err) }
} items := v.List()
if len(bertPods) != 2 { if !found.HasAll(items...) {
t.Errorf("Expected 2 pods but got %v", len(bertPods)) t.Errorf("missing items, index %s, expected %v but found %v", k, items, found.List())
} }
for _, bertPod := range bertPods {
if bertPod.(*v1.Pod).Name != "one" && bertPod.(*v1.Pod).Name != "two" {
t.Errorf("Expected only 'one' or 'two' but got %s", bertPod.(*v1.Pod).Name)
}
}
oscarPods, err := index.ByIndex("byUser", "oscar")
if err != nil {
t.Errorf("unexpected error: %v", err)
}
if len(oscarPods) != 1 {
t.Errorf("Expected 1 pods but got %v", len(erniePods))
}
for _, oscarPod := range oscarPods {
if oscarPod.(*v1.Pod).Name != "two" {
t.Errorf("Expected only 'two' but got %s", oscarPod.(*v1.Pod).Name)
}
}
ernieAndBertKeys, err := index.Index("byUser", pod1)
if err != nil {
t.Errorf("unexpected error: %v", err)
}
if len(ernieAndBertKeys) != 3 {
t.Errorf("Expected 3 pods but got %v", len(ernieAndBertKeys))
}
for _, ernieAndBertKey := range ernieAndBertKeys {
if ernieAndBertKey.(*v1.Pod).Name != "one" && ernieAndBertKey.(*v1.Pod).Name != "two" && ernieAndBertKey.(*v1.Pod).Name != "tre" {
t.Errorf("Expected only 'one', 'two' or 'tre' but got %s", ernieAndBertKey.(*v1.Pod).Name)
} }
} }
index.Delete(pod3) index.Delete(pod3)
erniePods, err = index.ByIndex("byUser", "ernie") erniePods, err := index.ByIndex("byUser", "ernie")
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
} }
@ -147,7 +119,7 @@ func TestMultiIndexKeys(t *testing.T) {
copyOfPod2 := pod2.DeepCopy() copyOfPod2 := pod2.DeepCopy()
copyOfPod2.Annotations["users"] = "oscar" copyOfPod2.Annotations["users"] = "oscar"
index.Update(copyOfPod2) index.Update(copyOfPod2)
bertPods, err = index.ByIndex("byUser", "bert") bertPods, err := index.ByIndex("byUser", "bert")
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
} }
@ -159,5 +131,4 @@ func TestMultiIndexKeys(t *testing.T) {
t.Errorf("Expected only 'one' but got %s", bertPod.(*v1.Pod).Name) t.Errorf("Expected only 'one' but got %s", bertPod.(*v1.Pod).Name)
} }
} }
} }