X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fe2t%2Fe2t.go;fp=test%2Fe2t%2Fe2t.go;h=0000000000000000000000000000000000000000;hb=586cbbc7da7e66d7143ec685012380d63f00cacd;hp=88bc2503ce5cc5e8be2fc54007ce5f6558da0918;hpb=ff8dccd02d76eebfccc0b509ce0b42a2c1760e12;p=ric-plt%2Fsubmgr.git diff --git a/test/e2t/e2t.go b/test/e2t/e2t.go deleted file mode 100644 index 88bc250..0000000 --- a/test/e2t/e2t.go +++ /dev/null @@ -1,154 +0,0 @@ -/* -================================================================================== - Copyright (c) 2019 AT&T Intellectual Property. - Copyright (c) 2019 Nokia - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -================================================================================== -*/ - -package main - -/* -#include -#include - -#cgo CFLAGS: -I../ -#cgo LDFLAGS: -lrmr_nng -lnng -*/ -import "C" - -import ( - "encoding/hex" - "errors" - submgr "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/control" - "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" - "github.com/spf13/viper" - "strconv" -) - -type E2t struct { - submgr.E2ap -} - -var c chan xapp.RMRParams = make(chan xapp.RMRParams, 1) - -var requestRawData string -var deleteRawData string - -func init() { - viper.AutomaticEnv() - viper.SetEnvPrefix("e2t") - viper.AllowEmptyEnv(true) - requestRawData = viper.GetString("rawdata") - if requestRawData == "" { - requestRawData = "20c9001d000003ea7e00050000010002ea6300020003ea6c000700ea6d40020004" - } - xapp.Logger.Info("Initial RAW Data: %v", requestRawData) - deleteRawData = viper.GetString("rawdata") - if deleteRawData == "" { - deleteRawData = "20ca0012000002ea7e00050000010002ea6300020003" - } - xapp.Logger.Info("Initial RAW Data: %v", deleteRawData) -} - -func (e *E2t) GenerateRequestPayload(subId uint16) (payload []byte, err error) { - skeleton, err := hex.DecodeString(requestRawData) - if err != nil { - return make([]byte, 0), errors.New("unable to decode data provided in \"RCO_RAWDATA\" environment variable") - } - payload, err = e.SetSubscriptionResponseSequenceNumber(skeleton, subId) - return -} - -func (e *E2t) GenerateDeletePayload(subId uint16) (payload []byte, err error) { - skeleton, err := hex.DecodeString(deleteRawData) - if err != nil { - return make([]byte, 0), errors.New("unable to decode data provided in \"RCO_RAWDATA\" environment variable") - } - payload, err = e.SetSubscriptionDeleteResponseSequenceNumber(skeleton, subId) - return -} - -func (e E2t) Consume(rp *xapp.RMRParams) (err error) { - switch rp.Mtype { - case C.RIC_SUB_REQ: - err = e.handleSubscriptionRequest(rp) - case C.RIC_SUB_DEL_REQ: - err = e.handleSubscriptionDeleteRequest(rp) - default: - err = errors.New("Message Type " + strconv.Itoa(rp.Mtype) + " is discarded") - xapp.Logger.Error("Unknown message type: %v", err) - } - return -} - -func (e E2t) handleSubscriptionRequest(request *xapp.RMRParams) (err error) { - payloadSeqNum, err := e.GetSubscriptionRequestSequenceNumber(request.Payload) - if err != nil { - xapp.Logger.Error("Unable to get Subscription Sequence Number from Payload due to: " + err.Error()) - } - xapp.Logger.Info("Subscription Request Received: RMR SUBSCRIPTION_ID: %v | PAYLOAD SEQUENCE_NUMBER: %v", payloadSeqNum, payloadSeqNum) - payload, err := e.GenerateRequestPayload(payloadSeqNum) - if err != nil { - xapp.Logger.Debug(err.Error()) - return - } - request.Payload = payload - request.Mtype = 12011 - c <- *request - return -} - -func (e E2t) handleSubscriptionDeleteRequest(request *xapp.RMRParams) (err error) { - payloadSeqNum, err := e.GetSubscriptionDeleteRequestSequenceNumber(request.Payload) - if err != nil { - xapp.Logger.Error("Unable to get Subscription Sequence Number from Payload due to: " + err.Error()) - } - xapp.Logger.Info("Subscription Delete Request Received: RMR SUBSCRIPTION_ID: %v | PAYLOAD SEQUENCE_NUMBER: %v", payloadSeqNum, payloadSeqNum) - payload, err := e.GenerateDeletePayload(payloadSeqNum) - if err != nil { - xapp.Logger.Debug(err.Error()) - return - } - request.Payload = payload - request.Mtype = 12021 - c <- *request - return -} - -func (e *E2t) Run() { - for { - message := <-c - var payloadSeqNum uint16 - var err error - if message.Mtype == 12011 { - payloadSeqNum, err = e.GetSubscriptionResponseSequenceNumber(message.Payload) - } else if message.Mtype == 12021 { - payloadSeqNum, err = e.GetSubscriptionDeleteResponseSequenceNumber(message.Payload) - } else { - err = errors.New("OH MY GOD") - } - if err != nil { - xapp.Logger.Debug("Unable to get Subscription Sequence Number from Payload due to: " + err.Error()) - } - xapp.Logger.Info("Sending Message: TYPE: %v | RMR SUBSCRIPTION_ID: %v | PAYLOAD SEQUENCE_NUMBER: %v)", message.Mtype, message.SubId, payloadSeqNum) - xapp.Rmr.Send(&message, true) - } -} - -func main() { - e2t := E2t{} - go e2t.Run() - xapp.Run(e2t) -}