From 778089700e2bcd51877b8793f86b7589bad5da4e Mon Sep 17 00:00:00 2001 From: Lvbo163 Date: Tue, 6 Mar 2018 09:54:45 +0800 Subject: add ut for removeService of msb Issue-ID: MSB-175 Change-Id: I47e35398c8e395f8db36b93301bf6f3cf958aa6c Signed-off-by: Lvbo163 --- src/kube2msb/msb_work_test.go | 68 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) (limited to 'src') diff --git a/src/kube2msb/msb_work_test.go b/src/kube2msb/msb_work_test.go index b5ba681..c3602a1 100644 --- a/src/kube2msb/msb_work_test.go +++ b/src/kube2msb/msb_work_test.go @@ -84,6 +84,74 @@ func TestAddPodMsb(t *testing.T) { addServiceOrPodTest(t, "Pod") } +func removeServiceOrPodTest(t *testing.T, removeType string) { + cases := []struct{ url, ip, serviceInfo string }{ + { // Version is "" + urlPrefix + "/resgisterTest1/version/null/nodes/192.168.1.10/8080", + "192.168.1.10", + `[{ + "port":"8080", + "serviceName":"resgisterTest1", + "version":"", + "url":"/register/test", + "protocol":"http", + "lb_policy":"random", + "visualRange":"1", + "path":"rt", + "enable_ssl":true + }]`, + }, { // version is not "" + urlPrefix + "/resgisterTest2/version/v1/nodes/192.168.1.10/8080", + "192.168.1.10", + `[{ + "port":"8080", + "serviceName":"resgisterTest2", + "version":"v1", + "url":"/register/test", + "protocol":"http", + "lb_policy":"random", + "visualRange":"1", + "path":"rt", + "enable_ssl":true + }]`, + }, + } + + for _, c := range cases { + handler := func(res http.ResponseWriter, req *http.Request) { + if req.Method != "DELETE" { + t.Errorf("DeRegister() request method should be 'DELETE' not %s", req.Method) + } else if c.url != req.URL.String() { + t.Errorf("DeRegister() url should be %s, not %s", c.url, req.URL) + } else { + res.WriteHeader(200) + res.Header().Set("Content-Type", "application/xml") + fmt.Fprintln(res, "deregist success") + } + + } + server := httptest.NewServer(http.HandlerFunc(handler)) + defer server.Close() + + client := MSBAgentWorker{ + agent: &MSBAgent{ + url: server.URL, + }, + } + + if removeType == "Service" { + client.RemoveService(c.ip, c.serviceInfo) + } else if removeType == "Pod" { + client.RemovePod(c.ip, c.serviceInfo) + } + } + +} + +func TestRemoveServiceMsb(t *testing.T) { + removeServiceOrPodTest(t, "Service") +} + func TestMergeIP(t *testing.T) { cases := []struct{ ip, sInfo, want string }{ {"127.0.0.1", "{}", "{\"ip\":\"127.0.0.1\",}"}, -- cgit 1.2.3-korg