add fake.DeleteRealServer UT

pull/6/head
Lion-Wei 2017-12-28 21:55:15 +08:00
parent b842f008fc
commit e852ad38f3
1 changed files with 46 additions and 33 deletions

View File

@ -113,46 +113,59 @@ func TestRealServer(t *testing.T) {
Port: uint16(80), Port: uint16(80),
Protocol: string("TCP"), Protocol: string("TCP"),
} }
rss := []*utilipvs.RealServer{
{net.ParseIP("172.16.2.1"), 8080, 1},
{net.ParseIP("172.16.2.2"), 8080, 2},
{net.ParseIP("172.16.2.3"), 8080, 3},
}
err := fake.AddVirtualServer(vs) err := fake.AddVirtualServer(vs)
if err != nil { if err != nil {
t.Errorf("Fail to add virutal server, error: %v", err) t.Errorf("Fail to add virutal server, error: %v", err)
} }
// Add a real server to the virtual server // Add real server to the virtual server
rs1 := &utilipvs.RealServer{ for i := range rss {
Address: net.ParseIP("172.16.2.1"), if err = fake.AddRealServer(vs, rss[i]); err != nil {
t.Errorf("Fail to add real server, error: %v", err)
}
}
// Delete a real server of the virtual server
// Make sure any position of the list can be real deleted
rssLen := len(rss)
for i := range rss {
// List all real servers of the virtual server
list, err := fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
if len(list) != rssLen {
t.Errorf("Expect %d virutal servers, got: %d", len(rss), len(list))
}
rsToDel := list[i]
if err = fake.DeleteRealServer(vs, rsToDel); err != nil {
t.Errorf("Fail to delete real server of the virtual server, error: %v", err)
} else {
dests, err := fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
for _, dest := range dests {
if toRealServerKey(dest).String() == toRealServerKey(rsToDel).String() {
t.Errorf("Expect real server %q be deleted.", rsToDel.String())
}
}
if err = fake.AddRealServer(vs, rsToDel); err != nil {
t.Errorf("Fail to add real server, error: %v", err)
}
}
}
// Test delete real server that not exist
rs := &utilipvs.RealServer{
Address: net.ParseIP("172.16.2.4"),
Port: uint16(8080), Port: uint16(8080),
Weight: 1, Weight: 1,
} }
err = fake.AddRealServer(vs, rs1) if err = fake.DeleteRealServer(vs, rs); err == nil {
if err != nil { t.Errorf("Delete real server that not exist, Expect error, got nil")
t.Errorf("Fail to add real server, error: %v", err)
}
// Add another real server to the virtual server
rs2 := &utilipvs.RealServer{
Address: net.ParseIP("172.16.3.2"),
Port: uint16(8080),
Weight: 2,
}
err = fake.AddRealServer(vs, rs2)
if err != nil {
t.Errorf("Fail to add real server, error: %v", err)
}
// List all real servers of the virtual server
list, err := fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
if len(list) != 2 {
t.Errorf("Expect 2 virutal servers, got: %d", len(list))
}
// Delete a real server of the virtual server
err = fake.DeleteRealServer(vs, rs2)
list, err = fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
if len(list) != 1 {
t.Errorf("Expect 1 real server, got: %d", len(list))
} }
// Delete the virtual server // Delete the virtual server
err = fake.DeleteVirtualServer(vs) err = fake.DeleteVirtualServer(vs)