discovery_test.go added
authordamon92 <damon92.lee@samsung.com>
Thu, 28 Mar 2019 10:39:18 +0000 (19:39 +0900)
committerdamon92 <damon92.lee@samsung.com>
Thu, 28 Mar 2019 10:39:18 +0000 (19:39 +0900)
src/discoverymgr/discovery_init.go
src/discoverymgr/test/discoverymgr_test.go [new file with mode: 0644]

index 6b74142..8077833 100644 (file)
@@ -88,15 +88,17 @@ func DeviceList() ([]DeviceReturnInfo, error) {
 }
 
 //InitDiscovery deploy Orchestration service
-func InitDiscovery() {
+func InitDiscovery() error {
 
        registerCh := make(chan error)
        //@ToDo []sting Will be retrieved from configuremgr
        //setServiceNames(ServiceNames)
        ServiceNames := []string{"Distributed Web Engine", "Television", "Soundbox"}
        go registerDevice(ServiceNames, registerCh)
-       if err := <-registerCh; err != nil {
+       err := <-registerCh
+       if err != nil {
                log.Println("[Fail] " + err.Error())
        }
+       return err
 
 }
diff --git a/src/discoverymgr/test/discoverymgr_test.go b/src/discoverymgr/test/discoverymgr_test.go
new file mode 100644 (file)
index 0000000..ebf2e30
--- /dev/null
@@ -0,0 +1,88 @@
+package test
+
+import (
+       "discoverymgr"
+       "net"
+       "os"
+       "testing"
+)
+
+//@Todo os dependency check
+func getIP() string {
+       addrs, err := net.InterfaceAddrs()
+       if err != nil {
+               os.Stderr.WriteString("Oops: " + err.Error() + "\n")
+               os.Exit(1)
+       }
+       var ipv4 string
+       for _, a := range addrs {
+               if ipnet, ok := a.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
+                       if ipnet.IP.To4() != nil {
+                               if ipnet.IP.String()[:2] == "10" {
+                                       os.Stdout.WriteString(ipnet.IP.String() + "\n")
+                                       ipv4 = ipnet.IP.String()
+                                       break
+                               }
+
+                       }
+               }
+       }
+       return ipv4
+}
+func TestSetServiceNames(t *testing.T) {
+       err := discoverymgr.InitDiscovery()
+       if err != nil {
+               t.Fail()
+       }
+       ServiceNames := []string{"Test1", "Test2"}
+       err = discoverymgr.SetServiceNames(ServiceNames)
+       if err != nil {
+               t.Fail()
+       }
+
+       ret, err := discoverymgr.DeviceList()
+       if err != nil {
+               t.Fail()
+       }
+
+       ipv4 := getIP()
+       isExist := -1
+       for i, v := range ret {
+               if v.DeviceIP == ipv4 {
+                       isExist = i
+               }
+       }
+
+       if isExist == -1 {
+               t.Fail()
+       }
+
+       if ret[isExist].ServiceNames[0] != ServiceNames[0] ||
+               ret[isExist].ServiceNames[1] != ServiceNames[1] {
+               t.Fail()
+       }
+}
+func TestInitDiscovery(t *testing.T) {
+       err := discoverymgr.InitDiscovery()
+       if err != nil {
+               t.Fail()
+       }
+
+       ret, err := discoverymgr.DeviceList()
+       if err != nil {
+               t.Fail()
+       }
+
+       ipv4 := getIP()
+       isExist := -1
+       for i, v := range ret {
+               if v.DeviceIP == ipv4 {
+                       isExist = i
+               }
+       }
+
+       if isExist == -1 {
+               t.Error("no device")
+               t.Fail()
+       }
+}