--- /dev/null
--- /dev/null
++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()
++ }
++}
ConstDeviceResourceUsageNetworkGet = "/api/v1/device/resource/usage/network"
// @TODO discovery mgr URI
- ConstDiscoverymgrDevices = "/api/v1/discoverymgr/devices"
+ ConstDiscoverymgrDevicesGet = "/api/v1/discoverymgr/devices"
+ ConstDiscoverymgrDevicesPost = "/api/v1/discoverymgr/devices"
// Service mgr URI
- ConstServicemgrServices = "/api/v1/servicemgr/services"
+ ConstServicemgrServices = "/api/v1/servicemgr/services"
+ ConstServicemgrServicesNoti = "/api/v1/servicemgr/services/notification/"
ConstAppName = "AppName"
ConstServiceName = "ls"
testGet(t, targetURI, http.StatusOK)
}
+func TestAPIV1DiscoverymgrDevicesPost(t *testing.T) {
+ targetURI := ConstDiscoverymgrDevicesPost
+ ServiceNames := make(map[string][]string)
+ ServiceNames["ServiceNames"] = []string{"Distributed Web Engine", "Television", "Soundbox"}
+
+ bdbytes, err := json.Marshal(ServiceNames)
+ if err != nil {
+ t.Log(err.Error())
+ t.Error()
+ }
+ testPost(t, targetURI, bdbytes, http.StatusOK)
+}
func TestAPIV1ServicemgrServicesPost(t *testing.T) {
- registerService(t)
+ executeService(t)
}
- func TestAPIV1ServicemgrServicesGet(t *testing.T) {
- registerService(t)
+ func TestAPIV1ServicemgrServicesNotificationServiceIDPost(t *testing.T) {
+ statusNotificationRequest := make(map[string]interface{})
+ statusNotificationRequest["ServiceID"] = 1
+ statusNotificationRequest["Status"] = "Failed"
- targetURI := ConstServicemgrServices
- testGet(t, targetURI, http.StatusOK)
- }
+ snbytes, _ := json.Marshal(statusNotificationRequest)
- func TestAPIV1ServicemgrServicesGetByAppName(t *testing.T) {
- // @TODO add register service
- registerService(t)
+ targetURI := ConstServicemgrServicesNoti
- targetURI := ConstServicemgrServices + "/" + ConstAppName
- testGet(t, targetURI, http.StatusOK)
- }
-
- func TestAPIV1ServicemgrServicesGetByServiceID(t *testing.T) {
- // @TODO add register service
- createResponse := registerService(t)
-
- targetURI := ConstServicemgrServices + "/" + strconv.FormatUint(createResponse.ServiceList[0].ID, 10)
- testGet(t, targetURI, http.StatusOK)
- }
-
- func TestAPIV1ServicemgrServicesServiceIDPost(t *testing.T) {
- createResponse := registerService(t)
- executeService(t, createResponse.ServiceList[0].ID)
-
- time.Sleep(time.Second * 2)
- }
-
- func TestAPIV1ServicemgrServicesServiceIDDeleteNotFoundService(t *testing.T) {
- // createResponse := registerService(t)
- // executeService(t, createResponse.ServiceList[0].ID)
-
- // time.Sleep(time.Second * 1)
- // targetURI := ConstServicemgrServices + "/" + strconv.FormatUint(createResponse.ServiceList[0].ID, 10)
-
- targetURI := ConstServicemgrServices + "/6"
- res, err := DoDelete(testURL + targetURI)
+ res, err := DoPost(testURL+targetURI+"1", snbytes)
if err != nil {
t.Log(err.Error())
t.Error()
+++ /dev/null
--/*
-- * Edge Orchestration
-- *
-- * Edge Orchestration support to deliver distributed service process environment.
-- *
-- * API version: v1-20190318
-- * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
-- */
--
--package v1
--
--import (
-- "fmt"
-- "net/http"
-- "strings"
--
-- "github.com/gorilla/mux"
--)
--
--// Route type
--type Route struct {
-- Name string
-- Method string
-- Pattern string
-- HandlerFunc http.HandlerFunc
--}
--
--// Routes type
--type Routes []Route
--
--// NewRouter function
--func NewRouter() *mux.Router {
-- router := mux.NewRouter().StrictSlash(true)
-- for _, route := range routes {
-- var handler http.Handler
-- handler = route.HandlerFunc
-- handler = Logger(handler, route.Name)
--
-- router.
-- Methods(route.Method).
-- Path(route.Pattern).
-- Name(route.Name).
-- Handler(handler)
-- }
--
-- return router
--}
--
--// Index function
--func Index(w http.ResponseWriter, r *http.Request) {
-- fmt.Fprintf(w, "Hello World!")
--}
--
--var routes = Routes{
-- Route{
-- "Index",
-- "GET",
-- "/",
-- Index,
-- },
--
-- Route{
-- "APIV1DeviceResourceUsageCPUGet",
-- strings.ToUpper("Get"),
-- "/api/v1/device/resource/usage/cpu",
-- APIV1DeviceResourceUsageCPUGet,
-- },
--
-- Route{
-- "APIV1DeviceResourceUsageDiskGet",
-- strings.ToUpper("Get"),
-- "/api/v1/device/resource/usage/disk",
-- APIV1DeviceResourceUsageDiskGet,
-- },
--
-- Route{
-- "APIV1DeviceResourceUsageMemoryGet",
-- strings.ToUpper("Get"),
-- "/api/v1/device/resource/usage/memory",
-- APIV1DeviceResourceUsageMemoryGet,
-- },
--
-- Route{
-- "APIV1DeviceResourceUsageNetworkGet",
-- strings.ToUpper("Get"),
-- "/api/v1/device/resource/usage/network",
-- APIV1DeviceResourceUsageNetworkGet,
-- },
--
-- Route{
-- "APIV1DiscoverymgrDevicesDeviceIDGet",
-- strings.ToUpper("Get"),
-- "/api/v1/discoverymgr/devices/{deviceid}",
-- APIV1DiscoverymgrDevicesDeviceIDGet,
-- },
--
-- Route{
-- "APIV1DiscoverymgrDevicesGet",
-- strings.ToUpper("Get"),
-- "/api/v1/discoverymgr/devices",
-- APIV1DiscoverymgrDevicesGet,
- },
-
- Route{
- "APIV1DiscoverymgrDevicesPost",
- strings.ToUpper("Post"),
- "/api/v1/discoverymgr/devices",
- APIV1DiscoverymgrDevicesPost,
- },
-
- Route{
- "APIV1ServicemgrServicesAppnameGet",
- strings.ToUpper("Get"),
- "/api/v1/servicemgr/services/{appname}",
- APIV1ServicemgrServicesAppnameGet,
- },
-
- Route{
- "APIV1ServicemgrServicesDelete",
- strings.ToUpper("Delete"),
- "/api/v1/servicemgr/services",
- APIV1ServicemgrServicesDelete,
- },
-
- Route{
- "APIV1ServicemgrServicesGet",
- strings.ToUpper("Get"),
- "/api/v1/servicemgr/services",
- APIV1ServicemgrServicesGet,
-- },
--
-- Route{
-- "APIV1ServicemgrServicesPost",
-- strings.ToUpper("Post"),
-- "/api/v1/servicemgr/services",
-- APIV1ServicemgrServicesPost,
- },
-
- Route{
- "APIV1ServicemgrServicesServiceIDDelete",
- strings.ToUpper("Delete"),
- "/api/v1/servicemgr/services/{serviceid}",
- APIV1ServicemgrServicesServiceIDDelete,
-- },
--
-- Route{
- "APIV1ServicemgrServicesServiceIDPost",
- "APIV1ServicemgrServicesNotificationServiceIDPost",
-- strings.ToUpper("Post"),
- "/api/v1/servicemgr/services/{serviceid}",
- APIV1ServicemgrServicesServiceIDPost,
- "/api/v1/servicemgr/services/notification/{serviceid}",
- APIV1ServicemgrServicesNotificationServiceIDPost,
-- },
--}