Commit 86926bae authored by Yann Garcia's avatar Yann Garcia
Browse files

Feedback TPs implementation for adaptor

parent 0a2107de
Loading
Loading
Loading
Loading
+649 −0

File changed.

Preview size limit exceeded, changes collapsed.

+11 −0
Original line number Original line Diff line number Diff line
@@ -298,6 +298,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_01());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_01());
        execute(TC_CDM_ADAPTOR_NOT_BV_01_01());
        execute(TC_CDM_ADAPTOR_NOT_BV_01_01());
        execute(TC_CDM_ADAPTOR_NOT_BV_01_02());
        execute(TC_CDM_ADAPTOR_NOT_BV_01_02());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_01());
      }
      }


      if (PICS_CDM_ACTION_SERVICE) {
      if (PICS_CDM_ACTION_SERVICE) {
@@ -307,6 +308,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_02());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_02());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_02());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_02());
        execute(TC_CDM_ADAPTOR_NOT_BV_02());
        execute(TC_CDM_ADAPTOR_NOT_BV_02());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_02());
      }
      }


      if (PICS_CDM_ANOMALY_SERVICE) {
      if (PICS_CDM_ANOMALY_SERVICE) {
@@ -316,6 +318,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_03());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_03());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_03());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_03());
        execute(TC_CDM_ADAPTOR_NOT_BV_03());
        execute(TC_CDM_ADAPTOR_NOT_BV_03());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_03());
      }
      }


      if (PICS_CDM_CERTIFICATE_DOCUMENT_SERVICE) {
      if (PICS_CDM_CERTIFICATE_DOCUMENT_SERVICE) {
@@ -325,6 +328,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_04());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_04());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_04());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_04());
        execute(TC_CDM_ADAPTOR_NOT_BV_04());
        execute(TC_CDM_ADAPTOR_NOT_BV_04());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_04());
      }
      }


      if (PICS_CDM_INCIDENT_SERVICE) {
      if (PICS_CDM_INCIDENT_SERVICE) {
@@ -334,6 +338,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_05());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_05());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_05());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_05());
        execute(TC_CDM_ADAPTOR_NOT_BV_05());
        execute(TC_CDM_ADAPTOR_NOT_BV_05());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_05());
      }
      }


      if (PICS_CDM_IRREGULAR_MIGRATION_INCIDENT_SERVICE) {
      if (PICS_CDM_IRREGULAR_MIGRATION_INCIDENT_SERVICE) {
@@ -343,6 +348,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_06());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_06());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_06());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_06());
        execute(TC_CDM_ADAPTOR_NOT_BV_06());
        execute(TC_CDM_ADAPTOR_NOT_BV_06());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_06());
      }
      }


      if (PICS_CDM_LAW_INFRINGEMENT_INCIDENT_SERVICE) {
      if (PICS_CDM_LAW_INFRINGEMENT_INCIDENT_SERVICE) {
@@ -352,6 +358,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_07());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_07());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_07());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_07());
        execute(TC_CDM_ADAPTOR_NOT_BV_07());
        execute(TC_CDM_ADAPTOR_NOT_BV_07());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_07());
      }
      }


      if (PICS_CDM_METEO_SERVICE) {
      if (PICS_CDM_METEO_SERVICE) {
@@ -361,6 +368,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_08());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_08());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_08());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_08());
        execute(TC_CDM_ADAPTOR_NOT_BV_08());
        execute(TC_CDM_ADAPTOR_NOT_BV_08());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_08());
      }
      }


      if (PICS_CDM_ORGANIZATION_SERVICE) {
      if (PICS_CDM_ORGANIZATION_SERVICE) {
@@ -370,6 +378,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_09());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_09());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_09());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_09());
        execute(TC_CDM_ADAPTOR_NOT_BV_09());
        execute(TC_CDM_ADAPTOR_NOT_BV_09());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_09());
      }
      }


      if (PICS_CDM_RISK_SERVICE) {
      if (PICS_CDM_RISK_SERVICE) {
@@ -379,6 +388,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_10());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_10());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_10());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_10());
        execute(TC_CDM_ADAPTOR_NOT_BV_10());
        execute(TC_CDM_ADAPTOR_NOT_BV_10());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_10());
      }
      }


      if (PICS_CDM_CARGO_SERVICE) {
      if (PICS_CDM_CARGO_SERVICE) {
@@ -388,6 +398,7 @@ module AtsCise_TestControl {
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_11());
        execute(TC_CDM_ADAPTOR_SUB_LOOK_BV_11());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_11());
        execute(TC_CDM_ADAPTOR_SUB_DELETE_BV_11());
        execute(TC_CDM_ADAPTOR_NOT_BV_11());
        execute(TC_CDM_ADAPTOR_NOT_BV_11());
        execute(TC_CDM_ADAPTOR_FEEDBACK_BV_11());
      }
      }


    } // PICS_IUT_CDM_ADAPTOR
    } // PICS_IUT_CDM_ADAPTOR
+121 −13
Original line number Original line Diff line number Diff line
@@ -217,7 +217,7 @@ module LibCise_Functions {
                                              ));
                                              ));
      v_result := f_sign_pull_request(v_pull_request, PX_SECURITY_SIGN_HASH_ALG, PICS_CISE_TS_CERTIFICATE, PICS_CISE_TS_SIGNING_PRIVATE_KEY, PICS_CISE_TS_SIGNING_PRIVATE_PASSWD, v_pull_request_signed, v_pull_request_canonicalized);
      v_result := f_sign_pull_request(v_pull_request, PX_SECURITY_SIGN_HASH_ALG, PICS_CISE_TS_CERTIFICATE, PICS_CISE_TS_SIGNING_PRIVATE_KEY, PICS_CISE_TS_SIGNING_PRIVATE_PASSWD, v_pull_request_signed, v_pull_request_canonicalized);
      if (v_result != 0) {
      if (v_result != 0) {
        log("*** " & testcasename() & ": INCONC: Signature processing failed ***");
        log("f_process_subscription: INCONC: Signature processing failed");
        return v_res_code;
        return v_res_code;
      }
      }
      v_pull_request_signed_str := oct2char(v_pull_request_signed);
      v_pull_request_signed_str := oct2char(v_pull_request_signed);
@@ -256,11 +256,11 @@ module LibCise_Functions {
                            )))))) {
                            )))))) {
          tc_ac.stop;
          tc_ac.stop;


          log("*** " & testcasename() & ": INFO: IUT successfully received synchronous Acknowledgment ***");
          log("f_process_subscription: IUT successfully received synchronous Acknowledgment");
          v_res_code := true;
          v_res_code := true;
        }
        }
        [] tc_ac.timeout {
        [] tc_ac.timeout {
          log("*** " & testcasename() & ": INCONC: Expected message not received ***");
          log("f_process_subscription: Expected message not received");
        }
        }
      } // End of 'alt' statement
      } // End of 'alt' statement


@@ -323,7 +323,6 @@ module LibCise_Functions {
                                                                                            ))),
                                                                                            ))),
                                                                                            v_headers
                                                                                            v_headers
                                )));
                                )));

            // Message processing
            // Message processing
            f_sleep(PX_MESSAGE_PROCESSING_INTERVAL);
            f_sleep(PX_MESSAGE_PROCESSING_INTERVAL);
          }
          }
@@ -345,10 +344,12 @@ module LibCise_Functions {
                                                                                            ))),
                                                                                            ))),
                                                                                            v_headers
                                                                                            v_headers
                                )));
                                )));
            log("f_trigger_subscription: IUT sends an unexpected message ***");
            log("f_trigger_subscription: IUT sends an unexpected message");
            return false;
          }
          }
          [] tc_ac.timeout {
          [] tc_ac.timeout {
            log("f_trigger_subscription: Expected message not received ***");
            log("f_trigger_subscription: Expected message not received");
            return false;
          }
          }
      } // End of 'alt' statement
      } // End of 'alt' statement


@@ -426,10 +427,12 @@ module LibCise_Functions {
                                                                                            ))),
                                                                                            ))),
                                                                                            v_headers
                                                                                            v_headers
                                )));
                                )));
            log("f_trigger_subscription_deletion: IUT sends an unexpected message ***");
            log("f_trigger_subscription_deletion: IUT sends an unexpected message");
            return false;
          }
          }
          [] tc_ac.timeout {
          [] tc_ac.timeout {
            log("f_trigger_subscription_deletion: Expected message not received ***");
            log("f_trigger_subscription_deletion: Expected message not received");
            return false;
          }
          }
      } // End of 'alt' statement
      } // End of 'alt' statement


@@ -437,6 +440,111 @@ module LibCise_Functions {
      return true;
      return true;
    } // End of function f_trigger_subscription_deletion
    } // End of function f_trigger_subscription_deletion


    function f_trigger_pull_request(
                                    in template (value) UtTrigger p_ut_trigger,
                                    out PullRequest_1 p_pull_request
                                    ) runs on CiseComponent return boolean {
      // Local variables
      var Headers v_headers;
      var HttpMessage v_request;
      var charstring v_created_date_time := f_get_current_date_time();
      var charstring v_message_id := f_generate_uuid();
      var PriorityType v_priority := high;

      log(">>> f_trigger_pull_request");

      if (f_ut_trigger(valueof(p_ut_trigger)) == false) {
        log("f_trigger_pull_request: Upper Tester failure");
        return false;
      }
    
      tc_ac.start;
      alt {
        [] httpPort_notif.receive(
                                  mw_http_request(
                                                  mw_http_request_post(
                                                                        ?,
                                                                        ?,
                                                                        mw_http_message_body_xml(
                                                                                                 mw_xml_body_pull_request(
                                                                                                                          mw_pull_request
                                  ))))) -> value v_request {
          tc_ac.stop;
          p_pull_request := v_request.request.body.xml_body.msg.pull_request;

          // Send Acknowledgement
          f_init_default_headers_list(-, -, v_headers);
          httpPort_notif.send(
                              m_http_response(
                                              m_http_response_ok(
                                                                  m_http_message_body_xml(
                                                                                          m_xml_body_acknowledgement(
                                                                                                                      m_acknowledgement(
                                                                                                                                        v_created_date_time,
                                                                                                                                        v_message_id,
                                                                                                                                        p_pull_request.priority,
                                                                                                                                        {},
                                                                                                                                        success
                                                                                          ))),
                                                                                          v_headers
                              )));
            // Message processing
            f_sleep(PX_MESSAGE_PROCESSING_INTERVAL);
            // Send PullResponse
            f_init_default_headers_list(-, -, v_headers);
            httpPort_notif.send(
                                m_http_response(
                                                m_http_response_ok(
                                                                    m_http_message_body_xml(
                                                                                            m_xml_body_pull_response(
                                                                                                                    m_pull_response(
                                                                                                                                    v_created_date_time,
                                                                                                                                    v_message_id,
                                                                                                                                    v_priority,
                                                                                                                                    p_pull_request.sender_,
                                                                                                                                    {},
                                                                                                                                    success,
                                                                                                                                    -,
                                                                                                                                    -,
                                                                                                                                    p_pull_request.contextID,
                                                                                                                                    p_pull_request.correlationID,
                                                                                                                                    false
                                                                                            ))),
                                                                                            v_headers
                                )));
            log("f_trigger_pull_request: IUT successfully sends PullRequest");
          }
          [] httpPort_notif.receive {
            tc_ac.stop;
            // Send Acknowledgement
            f_init_default_headers_list(-, -, v_headers);
            httpPort_notif.send(
                                m_http_response(
                                                m_http_response_ok(
                                                                    m_http_message_body_xml(
                                                                                            m_xml_body_acknowledgement(
                                                                                                                      m_acknowledgement(
                                                                                                                                        v_created_date_time,
                                                                                                                                        v_message_id,
                                                                                                                                        v_priority,
                                                                                                                                        {},
                                                                                                                                        badRequest
                                                                                            ))),
                                                                                            v_headers
                                )));
            log("f_trigger_pull_request: IUT sends an unexpected message");
            return false;
          }
          [] tc_ac.timeout {
            log("f_trigger_pull_request: Expected message not received");
            return false;
          }
      } // End of 'alt' statement

      log("<<< f_trigger_pull_request");
      return true;
    } // End of function f_trigger_pull_request

    function f_process_pull_request_response(
    function f_process_pull_request_response(
                                             in template (omit) Service p_service,
                                             in template (omit) Service p_service,
                                             in template (omit) Service p_recipient,
                                             in template (omit) Service p_recipient,
@@ -529,7 +637,7 @@ module LibCise_Functions {
                            )))))) {
                            )))))) {
          tc_ac.stop;
          tc_ac.stop;


          log("f_process_pull_request_response: IUT successfully received synchronous Acknowledgment ***");
          log("f_process_pull_request_response: IUT successfully received synchronous Acknowledgment");
          v_recv_sync_ack := false; // Repeat and ...
          v_recv_sync_ack := false; // Repeat and ...
          v_recv_response := true; // ... wait for the PullResponse
          v_recv_response := true; // ... wait for the PullResponse
          tc_ac.start;
          tc_ac.start;
@@ -555,11 +663,11 @@ module LibCise_Functions {
          tc_ac.stop;
          tc_ac.stop;


          if (not(f_verify_sign_pull_response(v_request.request.body.xml_body, ""/*v_pull_response_canonicalized*/))) {
          if (not(f_verify_sign_pull_response(v_request.request.body.xml_body, ""/*v_pull_response_canonicalized*/))) {
            log("f_process_pull_request_response: Signature not verified ***");
            log("f_process_pull_request_response: Signature not verified");
            // TODO Send error
            // TODO Send error
            return -1;
            return -1;
          } else {
          } else {
            log("f_process_pull_request_response: IUT successfully received PullResponse ***");
            log("f_process_pull_request_response: IUT successfully received PullResponse");
          }
          }


          // Send the response to finalyze the transaction
          // Send the response to finalyze the transaction
@@ -580,7 +688,7 @@ module LibCise_Functions {
                              )));
                              )));
        }
        }
        [] tc_ac.timeout {
        [] tc_ac.timeout {
          log("f_process_pull_request_response: Expected message not received ***");
          log("f_process_pull_request_response: Expected message not received");
          return -1;
          return -1;
        }
        }
      } // End of 'alt' statement
      } // End of 'alt' statement