More UTs added
[ric-plt/xapp-frame.git] / pkg / xapp / xapp_test.go
index 04bbbb8..8b2a952 100755 (executable)
 package xapp
 
 import (
-       "github.com/gorilla/mux"
-       "github.com/spf13/viper"
+       "bytes"
+       "io/ioutil"
        "net/http"
        "net/http/httptest"
-       "github.com/stretchr/testify/assert"
        "os"
        "strings"
        "testing"
        "time"
-       "bytes"
+
+       "github.com/gorilla/mux"
+       "github.com/spf13/viper"
+       "github.com/stretchr/testify/assert"
 )
 
 //var _ = func() bool {
@@ -46,6 +48,8 @@ func (m Consumer) Consume(params *RMRParams) (err error) {
 
 // Test cases
 func TestMain(m *testing.M) {
+       os.Setenv("SERVICE_RICXAPP_UEEC_HTTP_PORT", "tcp://localhost:8080")
+       os.Setenv("SERVICE_RICXAPP_UEEC_RMR_PORT", "tcp://localhost:4561")
        go RunWithParams(Consumer{}, viper.GetBool("controls.waitForSdl"))
        time.Sleep(time.Duration(5) * time.Second)
        code := m.Run()
@@ -118,8 +122,8 @@ func TestMessagesReceivedSuccessfully(t *testing.T) {
                params.Payload = []byte{1, 2, 3, 4, 5, 6}
                params.Meid = &RMRMeid{PlmnID: "1234", EnbID: "7788", RanName: "RanName-1234"}
                params.Xid = "TestXID"
-               
-               if i % 2 == 0 {
+
+               if i%2 == 0 {
                        Rmr.SendMsg(params)
                } else {
                        Rmr.SendWithRetry(params, false, 1)
@@ -332,11 +336,11 @@ func TestAddConfigChangeListener(t *testing.T) {
 
 func TestConfigAccess(t *testing.T) {
        Logger.Info("CASE: AddConfigChangeListener")
-       
-       assert.Equal(t,  Config.GetString("name"), "xapp")
-       assert.Equal(t,  Config.GetInt("controls.logger.level"), 3)
-       assert.Equal(t,  Config.GetUint32("controls.logger.level"), uint32(3))
-       assert.Equal(t,  Config.GetBool("controls.waitForSdl"), false)
+
+       assert.Equal(t, Config.GetString("name"), "xapp")
+       assert.Equal(t, Config.GetInt("controls.logger.level"), 3)
+       assert.Equal(t, Config.GetUint32("controls.logger.level"), uint32(3))
+       assert.Equal(t, Config.GetBool("controls.waitForSdl"), false)
        Config.Get("controls")
        Config.GetStringSlice("messaging.ports")
        Config.GetStringMap("messaging.ports")
@@ -354,7 +358,7 @@ func TestNewSubscriber(t *testing.T) {
 }
 
 func TestNewRMRClient(t *testing.T) {
-       c := map[string]interface{} {"protPort": "tcp:4560"}
+       c := map[string]interface{}{"protPort": "tcp:4560"}
        viper.Set("rmr", c)
        assert.NotNil(t, NewRMRClient(), "NewRMRClient failed")
 
@@ -377,6 +381,7 @@ func TestInjectStatusCb(t *testing.T) {
                return true
        }
        Resource.InjectStatusCb(f)
+       Resource.CheckStatus()
 }
 
 func TestSdlInterfaces(t *testing.T) {
@@ -423,13 +428,53 @@ func TestConfigHandler(t *testing.T) {
        executeRequest(req, handleFunc)
 }
 
+func TestappconfigHandler(t *testing.T) {
+       Logger.Error("CASE: TestappconfigHandler")
+       req, _ := http.NewRequest("POST", "/ric/v1/config", bytes.NewBuffer([]byte{}))
+       handleFunc := http.HandlerFunc(appconfigHandler)
+       executeRequest(req, handleFunc)
+}
+
+func TestConfigChange(t *testing.T) {
+       Logger.Error("CASE: TestConfigChange: %s", os.Getenv("CFG_FILE"))
+
+       input, err := ioutil.ReadFile(os.Getenv("CFG_FILE"))
+       assert.Equal(t, err, nil)
+
+       err = ioutil.WriteFile(os.Getenv("CFG_FILE"), input, 0644)
+       assert.Equal(t, err, nil)
+}
+
+func TestRegisterXapp(t *testing.T) {
+       Logger.Error("CASE: TestRegisterXapp")
+       doRegister()
+}
+
+func TestDeregisterXapp(t *testing.T) {
+       Logger.Error("CASE: TestDeregisterXapp")
+       doDeregister()
+}
+
 func TestMisc(t *testing.T) {
        Logger.Info("CASE: TestMisc")
-
+       var cb = func() {}
        IsReady()
        SetReadyCB(func(interface{}) {}, "")
        XappReadyCb("")
-       SetShutdownCB(func() {})
+       SetShutdownCB(cb)
+       XappShutdownCb()
+       getService("ueec", SERVICE_HTTP)
+
+       Logger.SetFormat(1)
+       Logger.SetLevel(0)
+       Logger.Error("...")
+       Logger.Warn("...")
+       Logger.Info("...")
+
+       mb := Rmr.Allocate(100)
+       Rmr.ReAllocate(mb, 200)
+
+       NewMetrics("", "", Resource.router)
 }
 
 func TestTeardown(t *testing.T) {
@@ -438,6 +483,10 @@ func TestTeardown(t *testing.T) {
        Sdl.Clear()
        Sdl.IsReady()
        Sdl.GetStat()
+       Rnib.GetNodebByGlobalNbId(1, &RNIBGlobalNbId{})
+       Rnib.SaveNodeb(&RNIBNbIdentity{}, &RNIBNodebInfo{})
+       go Sdl.TestConnection()
+       time.Sleep(time.Duration(2) * time.Second)
 }
 
 // Helper functions