mainCtrl.c.restDuplicateCtrl.Init()
// Read subIds and subscriptions from database
- go mainCtrl.c.ReadE2Subscriptions() // This needs to be run in own go routine when called from here <<--- improve this
+ mainCtrl.c.ReadE2Subscriptions()
mc.TestLog(t, "mainCtrl.c.registry.register:")
- /*
- for subId, subs := range mainCtrl.c.registry.register {
- mc.TestLog(t, " subId=%v", subId)
- mc.TestLog(t, " subs.SubRespRcvd=%v", subs.SubRespRcvd)
- mc.TestLog(t, " subs=%v\n", subs)
- }
- */
+ for subId, subs := range mainCtrl.c.registry.register {
+ mc.TestLog(t, " subId=%v", subId)
+ mc.TestLog(t, " subs.SubRespRcvd=%v", subs.SubRespRcvd)
+ mc.TestLog(t, " subs=%v\n", subs)
+ }
+
// Read REST subIds and REST subscriptions from database
mainCtrl.c.ReadRESTSubscriptions()
mc.TestLog(t, "mainCtrl.c.registry.restSubscriptions:")
mc.TestLog(t, " restSubId=%v", restSubId)
mc.TestLog(t, " restSubs=%v\n", restSubs)
}
- //go mainCtrl.c.HandleUncompletedSubscriptions(mainCtrl.c.registry.register) // This needs to be run in own go routine when called from here
}
func (mc *testingSubmgrControl) MakeTransactionNil(t *testing.T, subId uint32) {
mainCtrl.c.registry.Initialize()
}
-func PringSubscriptionQueryResult(resp models.SubscriptionList) {
+func PrintSubscriptionQueryResult(resp models.SubscriptionList) {
for _, item := range resp {
fmt.Printf("item.SubscriptionID=%v\n", item.SubscriptionID)
fmt.Printf("item.Meid=%v\n", item.Meid)
return retCounterMap
}
-func (mc *testingSubmgrControl) sendGetRequest(t *testing.T, addr string, path string) {
+func (mc *testingSubmgrControl) SendGetRequest(t *testing.T, addr string, path string) []byte {
mc.TestLog(t, "GET http://"+addr+"%v", path)
req, err := http.NewRequest("GET", "http://"+addr+path, nil)
+ if err != nil {
+ mc.TestError(t, "Error reading request. %v", err)
+ return nil
+ }
+
+ req.Header.Set("accept", "application/json")
+ client := &http.Client{Timeout: time.Second * 2}
+ resp, err := client.Do(req)
+ if err != nil {
+ mc.TestError(t, "Error reading response. %v", err)
+ return nil
+ }
+ defer resp.Body.Close()
+
+ mc.TestLog(t, "Response status: %v", resp.Status)
+ mc.TestLog(t, "Response Headers: %v", resp.Header)
+ if !strings.Contains(resp.Status, "200 OK") {
+ mc.TestError(t, "Wrong response status")
+ return nil
+ }
+
+ respBody, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ mc.TestError(t, "Error reading body. %v", err)
+ return nil
+ }
+ mc.TestLog(t, "%s", respBody)
+ return respBody
+}
+
+func (mc *testingSubmgrControl) SendPostRequest(t *testing.T, addr string, path string) {
+
+ mc.TestLog(t, "POST http://"+addr+"%v", path)
+ req, err := http.NewRequest("POST", "http://"+addr+path, nil)
if err != nil {
mc.TestError(t, "Error reading request. %v", err)
return
}
- req.Header.Set("Cache-Control", "no-cache")
+ req.Header.Set("accept", "application/json")
client := &http.Client{Timeout: time.Second * 2}
resp, err := client.Do(req)
if err != nil {
return
}
-func (mc *testingSubmgrControl) sendPostRequest(t *testing.T, addr string, path string) {
+func (mc *testingSubmgrControl) SendDeleteRequest(t *testing.T, addr string, path string) {
- mc.TestLog(t, "POST http://"+addr+"%v", path)
- req, err := http.NewRequest("POST", "http://"+addr+path, nil)
+ mc.TestLog(t, "DELETE http://"+addr+"%v", path)
+ req, err := http.NewRequest("DELETE", "http://"+addr+path, nil)
if err != nil {
mc.TestError(t, "Error reading request. %v", err)
return
}
+ req.Header.Set("accept", "application/json")
client := &http.Client{Timeout: time.Second * 2}
resp, err := client.Do(req)
if err != nil {
mc.TestLog(t, "Response status: %v", resp.Status)
mc.TestLog(t, "Response Headers: %v", resp.Header)
- if !strings.Contains(resp.Status, "200 OK") {
+
+ // Note that xapp gets '204 No Content' response through Swagger generated delete route.
+ // Inject route returns '200 OK'
+ if !(strings.Contains(resp.Status, "204 No Content") || strings.Contains(resp.Status, "200 OK")) {
mc.TestError(t, "Wrong response status")
return
}
return
}
-//-----------------------------------------------------------------------------
-//
-//-----------------------------------------------------------------------------
func (mc *testingSubmgrControl) SetE2State(t *testing.T, ranNameState string) {
if err := mc.c.e2IfStateDb.XappRnibStoreAndPublish("RAN_CONNECTION_STATUS_CHANGE", ranNameState, "key1", "data1"); err != nil {
t.Errorf("XappRnibStoreAndPublish failed: %v", err)
}
}
+
+func (mc *testingSubmgrControl) VerifyStringExistInSlice(verifiedString string, list []string) bool {
+
+ for _, listItem := range list {
+ if listItem == verifiedString {
+ return true
+ }
+ }
+ return false
+}