+/* TEST 14 Begin: */
+void receiveDataFromSctp_asnSuccessfulMsg_Procedure_Default( E2AP_PDU_t *pdu,
+ RmrMessagesBuffer_t &rmrMessageBuffer) {
+ pdu->present = E2AP_PDU_PR_successfulOutcome;
+ pdu->choice.successfulOutcome = (SuccessfulOutcome*) malloc(sizeof(SuccessfulOutcome));
+ memset( (void*)pdu->choice.successfulOutcome, 0, sizeof(pdu->choice.successfulOutcome));
+ pdu->choice.successfulOutcome->procedureCode = ((ProcedureCode_t)100);
+
+ rmrMessageBuffer.sendMessage->tp_buf = pdu;
+}
+
+void delete_pdu_memories(E2AP_PDU_t *pdu) {
+ if(pdu->choice.successfulOutcome) {
+ free(pdu->choice.successfulOutcome);
+ pdu->choice.successfulOutcome = NULL;
+ }
+ if(pdu->choice.unsuccessfulOutcome) {
+ free(pdu->choice.unsuccessfulOutcome);
+ pdu->choice.unsuccessfulOutcome = NULL;
+ }
+}
+
+void receiveDataFromSctp_asnUnSuccsesfulMsg_Procedure_Default(E2AP_PDU_t *pdu,
+ RmrMessagesBuffer_t &rmrMessageBuffer) {
+ pdu->present = E2AP_PDU_PR_unsuccessfulOutcome;
+ pdu->choice.unsuccessfulOutcome = (UnsuccessfulOutcome*) malloc(sizeof(UnsuccessfulOutcome));
+ memset( (void*)pdu->choice.unsuccessfulOutcome, 0, sizeof(pdu->choice.unsuccessfulOutcome));
+ pdu->choice.unsuccessfulOutcome->procedureCode = ((ProcedureCode_t)100);
+
+ rmrMessageBuffer.sendMessage->tp_buf = pdu;
+}
+
+TEST(sctp, TEST14) {
+ E2AP_PDU_t pdu;
+ struct epoll_event events;
+ Sctp_Map_t *sctpMap = new Sctp_Map_t();
+ int numOfMessages=0;
+ RmrMessagesBuffer_t rmrMessageBuffer;
+ struct timespec ts;
+ ConnectedCU_t *peerInfo = (ConnectedCU_t *) calloc(1, sizeof(ConnectedCU_t));
+ events.data.ptr = peerInfo;
+ snprintf(peerInfo->enodbName, strlen("Nokia_enb "), "%s", (char*)"Nokia_enb");
+
+ rmrMessageBuffer.sendMessage = (rmr_mbuf_t*) malloc(sizeof(rmr_mbuf_t));
+ rmrMessageBuffer.sendMessage->header = (uta_mhdr_t*) malloc(sizeof(uta_mhdr_t));
+ rmrMessageBuffer.sendMessage->len = strlen("Saying Hello from NOKIA ");
+ rmrMessageBuffer.sendMessage->payload = (unsigned char*)strdup("Saying Hello from NOKIA");
+
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+
+ receiveDataFromSctp_asnSuccessfulMsg_Procedure_Default(&pdu, rmrMessageBuffer);
+ receiveDataFromSctp(&events, sctpMap, numOfMessages, rmrMessageBuffer, ts);
+ delete_pdu_memories(&pdu);
+
+ if(rmrMessageBuffer.sendMessage->payload) {
+ free(rmrMessageBuffer.sendMessage->payload);
+ rmrMessageBuffer.sendMessage->payload = NULL;
+ }
+
+ rmrMessageBuffer.sendMessage->payload = (unsigned char*)strdup("Saying Hello from NOKIA");
+ receiveDataFromSctp_asnUnSuccsesfulMsg_Procedure_Default(&pdu, rmrMessageBuffer);
+ receiveDataFromSctp(&events, sctpMap, numOfMessages, rmrMessageBuffer, ts);
+ delete_pdu_memories(&pdu);
+
+ if(rmrMessageBuffer.sendMessage->payload) {
+ free(rmrMessageBuffer.sendMessage->payload);
+ rmrMessageBuffer.sendMessage->payload = NULL;
+ }
+ if(rmrMessageBuffer.sendMessage->header) {
+ free(rmrMessageBuffer.sendMessage->header);
+ rmrMessageBuffer.sendMessage->header = NULL;
+ }
+ if(rmrMessageBuffer.sendMessage) {
+ free(rmrMessageBuffer.sendMessage);
+ }
+ if(peerInfo) {
+ free(peerInfo);
+ peerInfo = NULL;
+ }
+ if(sctpMap) {
+ delete sctpMap;
+ sctpMap = NULL;
+ }
+}