RICPLT-2989 Submgr routing manager client code to support multiple endpoints
[ric-plt/submgr.git] / pkg / control / types_test.go
index f29b3db..caeae7b 100644 (file)
@@ -23,6 +23,35 @@ import (
        "testing"
 )
 
+func TestRmrEndpoint(t *testing.T) {
+
+       testEp := func(t *testing.T, val string, expect *RmrEndpoint) {
+               res := NewRmrEndpoint(val)
+
+               if expect == nil && res == nil {
+                       return
+               }
+               if res == nil {
+                       testError(t, "Endpoint elems for value %s expected addr %s port %d got nil", val, expect.GetAddr(), expect.GetPort())
+                       return
+               }
+               if expect.GetAddr() != res.GetAddr() || expect.GetPort() != res.GetPort() {
+                       testError(t, "Endpoint elems for value %s expected addr %s port %d got addr %s port %d", val, expect.GetAddr(), expect.GetPort(), res.GetAddr(), res.GetPort())
+               }
+               if expect.String() != res.String() {
+                       testError(t, "Endpoint string for value %s expected %s got %s", val, expect.String(), res.Get())
+               }
+
+       }
+
+       testEp(t, "localhost:8080", &RmrEndpoint{"localhost", 8080})
+       testEp(t, "127.0.0.1:8080", &RmrEndpoint{"127.0.0.1", 8080})
+       testEp(t, "localhost:70000", nil)
+       testEp(t, "localhost?8080", nil)
+       testEp(t, "abcdefghijklmnopqrstuvwxyz", nil)
+       testEp(t, "", nil)
+}
+
 func TestAction(t *testing.T) {
 
        testActionString := func(t *testing.T, val int, str string) {
@@ -32,7 +61,7 @@ func TestAction(t *testing.T) {
        }
 
        testActionString(t, 0, "CREATE")
-       testActionString(t, 1, "MERGE")
+       testActionString(t, 1, "UPDATE")
        testActionString(t, 2, "NONE")
        testActionString(t, 3, "DELETE")
        testActionString(t, 5, "UNKNOWN")