+var SubscriptionResp = []byte(`{"ID":"deadbeef1234567890", "Version":0, "EventType":"all"}`)
+
+var E2TListResp = []byte(`[{"e2tAddress":"127.0.0.1:0","ranNames":["RanM0","RanN0"]},{"e2tAddress":"127.0.0.1:1","ranNames":["RanM1","RanN1"]},{"e2tAddress":"127.0.0.1:2","ranNames":["RanM2","RanN2"]},{"e2tAddress":"127.0.0.1:3","ranNames":["RanM3","RanN3"]}]`)
+
+var SubscriptionList = []byte(`[{"SubscriptionId":11,"Meid":"Test-Gnb","Endpoint":["127.0.0.1:4056"]}]`)
+
+var InvalidSubResp = []byte(`{"Version":0, "EventType":all}`)
+
+func TestValidateXappCallbackData_1(t *testing.T) {
+ data := models.XappCallbackData{
+ XApps: *swag.String("[]"),
+ Version: *swag.Int64(1),
+ Event: *swag.String("someevent"),
+ ID: *swag.String("123456")}
+
+ err := validateXappCallbackData(&data)
+ if err != nil {
+ t.Error("Invalid XApp callback data: " + err.Error())
+ }
+}
+
+func TestValidateXappCallbackDataInvalid (t *testing.T) {
+ data := models.XappCallbackData{}
+ err := validateXappCallbackData(&data)
+ t.Log(err)
+}
+
+
+func TestValidateXappSubscriptionsData(t *testing.T) {
+
+ ep := make(map[string]*rtmgr.Endpoint)
+ ep["dummy"] = &rtmgr.Endpoint{Uuid: "10.0.0.1:0", Name: "E2TERM", XAppType: "app1", Ip: "", Port: 0, TxMessages: []string{"", ""}, RxMessages: []string{"", ""}, Socket: nil, IsReady: true, Keepalive: true}
+ p := uint16(1234)
+ data := models.XappSubscriptionData{
+ Address: swag.String("10.1.1.1"),
+ Port: &p,
+ SubscriptionID: swag.Int32(123456)}
+
+ var err error
+ err = validateXappSubscriptionData(&data)
+ t.Log(err)
+
+ rtmgr.Eps = ep
+ p = uint16(0)
+ data1 := models.XappSubscriptionData{
+ Address: swag.String(""),
+ Port: &p,
+ SubscriptionID: swag.Int32(123456)}
+ err = validateXappSubscriptionData(&data1)
+ t.Log(err)
+
+ //Validate E2tData
+ data2 := models.E2tData{
+ E2TAddress: swag.String(""),
+ }
+ /*err = validateE2tData(&data2)*/
+
+ e2tchannel := make(chan *models.E2tData, 10)
+ _ = createNewE2tHandleHandlerImpl(e2tchannel, &data2)
+ defer close(e2tchannel)
+
+ //test case for provideXappSubscriptionHandleImp
+ datachannel := make(chan *models.XappSubscriptionData, 10)
+ _ = provideXappSubscriptionHandleImpl(datachannel, &data1)
+ defer close(datachannel)
+
+ //test case for deleteXappSubscriptionHandleImpl
+ _ = deleteXappSubscriptionHandleImpl(datachannel, &data1)
+
+ data3 := models.XappSubscriptionData{
+ Address: swag.String("10.55.55.5"),
+ Port: &p,
+ SubscriptionID: swag.Int32(123456)}
+ //test case for deleteXappSubscriptionHandleImpl
+ _ = deleteXappSubscriptionHandleImpl(datachannel, &data3)
+}
+
+func TestValidateE2tDataEmpty(t *testing.T) {
+ data := models.E2tData{
+ E2TAddress: swag.String(""),
+ }
+ err := validateE2tData(&data)
+ t.Log(err)
+}
+
+func TestValidateE2tDataDNSLookUPfails(t *testing.T) {
+ data := models.E2tData{
+ E2TAddress: swag.String("e2t.1com:1234"),
+ }
+ err := validateE2tData(&data)
+ t.Log(err)
+}
+
+func TestValidateE2tDataInvalid(t *testing.T) {
+ data := models.E2tData{
+ E2TAddress: swag.String("10.101.01.1"),
+ }
+ err := validateE2tData(&data)
+ t.Log(err)
+}
+
+func TestValidateE2tDatavalid(t *testing.T) {
+ data := models.E2tData{
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ }
+
+
+ err := validateE2tData(&data)
+ t.Log(err)
+
+}
+
+func TestValidateE2tDatavalidEndpointPresent(t *testing.T) {
+ data := models.E2tData{
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ }
+
+ // insert endpoint for testing purpose
+ uuid := "10.101.01.1:8098"
+ ep := &rtmgr.Endpoint{
+ Uuid: uuid,
+ }
+ rtmgr.Eps[uuid] = ep
+
+ err := validateE2tData(&data)
+ t.Log(err)
+
+ // delete endpoint for at end of test case
+ delete(rtmgr.Eps, uuid);
+
+}
+
+
+func TestValidateDeleteE2tData(t *testing.T) {
+
+// test-1
+ data := models.E2tDeleteData{
+ E2TAddress: swag.String(""),
+ }
+
+ err := validateDeleteE2tData(&data)
+ if (err.Error() != "E2TAddress is empty!!!") {
+ t.Log(err)
+ }
+
+
+// test-2
+ data = models.E2tDeleteData{
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ }
+
+ err = validateDeleteE2tData(&data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+
+// test-3
+//################ Create End Point dummy entry
+ uuid := "10.101.01.1:8098"
+ ep := &rtmgr.Endpoint{
+ Uuid: uuid,
+ }
+ rtmgr.Eps[uuid] = ep
+//#####################
+
+ data = models.E2tDeleteData{
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ RanAssocList: models.RanE2tMap{
+ {E2TAddress: swag.String("10.101.01.1:8098")},
+ },
+ }
+
+ err = validateDeleteE2tData(&data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+
+ // delete endpoint for at end of test case
+//################ Delete End Point dummy entry
+ delete(rtmgr.Eps, uuid);
+//#####################
+
+// test-4
+
+//################ Create End Point dummy entry
+ uuid = "10.101.01.1:9991"
+ ep = &rtmgr.Endpoint{
+ Uuid: uuid,
+ }
+ rtmgr.Eps[uuid] = ep
+
+ uuid = "10.101.01.1:9992"
+ ep = &rtmgr.Endpoint{
+ Uuid: uuid,
+ }
+ rtmgr.Eps[uuid] = ep
+//#####################
+
+ data = models.E2tDeleteData{
+ E2TAddress: swag.String("10.101.01:8098"),
+ RanAssocList: models.RanE2tMap{
+ {E2TAddress: swag.String("10.101.01.1:9991")},
+ {E2TAddress: swag.String("10.101.01.1:9992")},
+ },
+ }
+
+ err = validateDeleteE2tData(&data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+//################ Delete End Point dummy entry
+ delete(rtmgr.Eps, "10.101.01.1:9991")
+ delete(rtmgr.Eps, "10.101.01.1:9992")
+//#####################
+
+// test-5
+
+ data = models.E2tDeleteData{
+ E2TAddress: swag.String("10.101.01:8098"),
+ RanAssocList: models.RanE2tMap{
+ {E2TAddress: swag.String("10.101.01.19991")},
+ },
+ }
+
+ err = validateDeleteE2tData(&data)
+ if ( err.Error() != "E2T Delete - RanAssocList E2TAddress is not a proper format like ip:port, 10.101.01.19991") {
+ t.Log(err)
+ }
+}
+
+
+func TestValidateE2TAddressRANListData(t *testing.T) {
+
+ data := models.RanE2tMap{
+ {
+ E2TAddress: swag.String(""),
+ },
+ }
+ err := validateE2TAddressRANListData(data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+
+ data = models.RanE2tMap{
+ {
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ },
+ }
+ err = validateE2TAddressRANListData(data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+
+}
+
+func TestAssociateRanToE2THandlerImpl(t *testing.T) {
+
+ associateranchan := make(chan models.RanE2tMap, 10)
+ data := models.RanE2tMap{
+ {
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ },
+ }
+ err := associateRanToE2THandlerImpl(associateranchan, data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+
+//################ Create End Point dummy entry
+ uuid := "10.101.01.1:8098"
+ ep := &rtmgr.Endpoint{
+ Uuid: uuid,
+ }
+ rtmgr.Eps[uuid] = ep
+//#####################
+
+ data = models.RanE2tMap{
+ {
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ },
+ }
+ err = associateRanToE2THandlerImpl(associateranchan, data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+ data1 := <-associateranchan
+
+ fmt.Println(data1)
+//################ Delete End Point dummy entry
+ delete(rtmgr.Eps, uuid);
+//#####################
+}
+
+func TestDisassociateRanToE2THandlerImpl(t *testing.T) {
+
+ disassranchan := make(chan models.RanE2tMap, 10)
+
+ data := models.RanE2tMap{
+ {
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ },
+ }
+ err := disassociateRanToE2THandlerImpl(disassranchan, data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+//################ Create End Point dummy entry
+ uuid := "10.101.01.1:8098"
+ ep := &rtmgr.Endpoint{
+ Uuid: uuid,
+ }
+ rtmgr.Eps[uuid] = ep
+//#####################
+
+ data = models.RanE2tMap{
+ {
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ },
+ }
+ err = disassociateRanToE2THandlerImpl(disassranchan, data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+ data1 := <-disassranchan
+
+ fmt.Println(data1)
+//################ Delete End Point dummy entry
+ delete(rtmgr.Eps, uuid);
+//#####################
+}
+
+func TestDeleteE2tHandleHandlerImpl(t *testing.T) {
+
+ e2tdelchan := make(chan *models.E2tDeleteData, 10)
+ data := models.E2tDeleteData{
+ E2TAddress: swag.String(""),
+ }
+ err := deleteE2tHandleHandlerImpl(e2tdelchan, &data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+
+//################ Create End Point dummy entry
+ uuid := "10.101.01.1:8098"
+ ep := &rtmgr.Endpoint{
+ Uuid: uuid,
+ }
+ rtmgr.Eps[uuid] = ep
+//#####################
+
+ data = models.E2tDeleteData{
+ E2TAddress: swag.String("10.101.01.1:8098"),
+ }
+ err = deleteE2tHandleHandlerImpl(e2tdelchan, &data)
+ if (err != nil ) {
+ t.Log(err)
+ }
+ data1 := <-e2tdelchan
+
+ fmt.Println(data1)
+//################ Delete End Point dummy entry
+ delete(rtmgr.Eps, uuid);
+//#####################
+}
+
+func TestSubscriptionExists(t *testing.T) {
+ p := uint16(0)
+ data := models.XappSubscriptionData{
+ Address: swag.String("10.0.0.0"),
+ Port: &p,
+ SubscriptionID: swag.Int32(1234)}
+
+ rtmgr.Subs = *stub.ValidSubscriptions
+
+ yes_no := subscriptionExists(&data)
+ yes_no = addSubscription(&rtmgr.Subs, &data)
+ yes_no = addSubscription(&rtmgr.Subs, &data)
+ yes_no = delSubscription(&rtmgr.Subs, &data)
+ yes_no = delSubscription(&rtmgr.Subs, &data)
+ t.Log(yes_no)
+}
+
+func TestAddSubscriptions(t *testing.T) {
+ p := uint16(1)
+ subdata := models.XappSubscriptionData{
+ Address: swag.String("10.0.0.0"),
+ Port: &p,
+ SubscriptionID: swag.Int32(1234)}
+
+ rtmgr.Subs = *stub.ValidSubscriptions
+ yes_no := addSubscription(&rtmgr.Subs, &subdata)
+ t.Log(yes_no)
+}
+