Commit 3fb4fb9c authored by Yann Garcia's avatar Yann Garcia
Browse files

TTF T027: Review MEC 010-2/MEO/Pkgm

parent fa4c21fa
Loading
Loading
Loading
Loading
+224 −70

File changed.

Preview size limit exceeded, changes collapsed.

+48 −1
Original line number Diff line number Diff line
@@ -11,7 +11,54 @@ module AtsMec_ApplicationPackageLifecycleAndOperationGrantingAPI_TestControl {
  
  control {
    
    if (PICS_MEC_PLAT and PICS_SERVICES) {
    if (PICS_MEC_PLAT) {
      if (PICS_APP_PACKAGE_MANAGEMENT) {
        if (PICS_GRANTS_MANAGEMENT) {
          execute(TC_MEC_MEC010p2_MEO_GRANT_001_OK());
          execute(TC_MEC_MEC010p2_MEO_GRANT_001_BR());
          execute(TC_MEC_MEC010p2_MEO_GRANT_002_OK());
          execute(TC_MEC_MEC010p2_MEO_GRANT_003_OK());
          execute(TC_MEC_MEC010p2_MEO_GRANT_004_OK());
          execute(TC_MEC_MEC010p2_MEO_GRANT_005_OK());
          execute(TC_MEC_MEC010p2_MEO_GRANT_006_OK());
          execute(TC_MEC_MEC010p2_MEO_GRANT_006_NF());
        }
        
        if (PICS_APP_PACKAGE_MANAGEMENT) {
          execute(TC_MEC_MEC010p2_MEO_PKGM_001_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_001_BR());
          execute(TC_MEC_MEC010p2_MEO_PKGM_002_01_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_002_02_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_002_BR());
          execute(TC_MEC_MEC010p2_MEO_PKGM_003_01_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_003_02_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_003_NF());
          execute(TC_MEC_MEC010p2_MEO_PKGM_004_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_004_NF());
          execute(TC_MEC_MEC010p2_MEO_PKGM_005_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_005_BR());
          execute(TC_MEC_MEC010p2_MEO_PKGM_005_NF());
          execute(TC_MEC_MEC010p2_MEO_PKGM_006_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_006_BR());
          execute(TC_MEC_MEC010p2_MEO_PKGM_007_OK_01());
          execute(TC_MEC_MEC010p2_MEO_PKGM_007_OK_02());
          execute(TC_MEC_MEC010p2_MEO_PKGM_008_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_008_NF());
          execute(TC_MEC_MEC010p2_MEO_PKGM_009_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_009_NF());

          execute(TC_MEC_MEC010p2_MEO_PKGM_011_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_011_NF());
          execute(TC_MEC_MEC010p2_MEO_PKGM_012_01_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_012_02_OK());
          execute(TC_MEC_MEC010p2_MEO_PKGM_012_01_NF());
          execute(TC_MEC_MEC010p2_MEO_PKGM_012_02_NF());
        }

        if (PICS_APP_PACKAGE_NOTIFICATIONS) {
          execute(TC_MEC_MEC010p2_MEO_PKGM_010_OK());
        }
      }
    }
  } // End of 'control' statement

+149 −2
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@ module ApplicationPackageLifecycleAndOperationGrantingAPI_Functions {
                                  ) runs on HttpComponent {
    // Local variables
    var Headers v_headers;
    var HttpMessage v_response;

    f_init_default_headers_list(-, -, v_headers);
    httpPort.send(
@@ -103,7 +102,7 @@ module ApplicationPackageLifecycleAndOperationGrantingAPI_Functions {
      [] httpPort.receive(
                          mw_http_response(
                                           mw_http_response_204_no_content
                          )) -> value v_response {
                          )) {
        tc_ac.stop;
      }
      [] tc_ac.timeout {
@@ -113,4 +112,152 @@ module ApplicationPackageLifecycleAndOperationGrantingAPI_Functions {

  } // End of function f_delete_grant_request

  function f_create_package_management(
                                       out AppPkgInfo p_app_pkg_info,
                                       in boolean p_onboarded := false
                                       ) runs on HttpComponent {
    // Local variables
    var Headers v_headers;
    var HttpMessage v_response;

    f_init_default_headers_list(-, -, v_headers);
    httpPort.send(
                  m_http_request(
                                  m_http_request_post(
                                                      PICS_ROOT_API & PX_MEO_PKGM_URI,
                                                      v_headers,
                                                      m_http_message_body_json(
                                                                              m_body_json_create_package_management(
                                                                                                                    m_create_package_management(
                                                                                                                                                PX_APP_PKG_NAME,
                                                                                                                                                PX_APP_PKG_VERSION,
                                                                                                                                                m_checksum(-, PX_CHECKSUM),
                                                                                                                                                PX_APP_PKG_PATH
                    ))))));

    tc_ac.start;
    alt {
      [] httpPort.receive(
                          mw_http_response(
                                            mw_http_response_201_created(
                                                                          mw_http_message_body_json(
                                                                                                    mw_body_json_app_pkg_info(
                                                                                                                              mw_app_pkg_info(
                                                                                                                                              -, -,
                                                                                                                                              PX_APP_PKG_NAME,
                                                                                                                                              PX_APP_PKG_VERSION,
                                                                                                                                              -, 
                                                                                                                                              mw_checksum
                          )))))) -> value v_response {
        tc_ac.stop;

        p_app_pkg_info := v_response.response.body.json_body.appPkgInfo;
        log("f_create_package_management: INFO: IUT successfully responds to the CreateAppPkg: ", p_app_pkg_info);
      }
      [] tc_ac.timeout {
        log("f_create_package_management: INCONC: Expected message not received");
      }
    } // End of 'alt' statement
  } // End of function f_create_package_management
  
  function f_delete_package_management(
                                       in Json.String p_pkg_info_id
                                       ) runs on HttpComponent {
    // Local variables
    var Headers v_headers;

    f_init_default_headers_list(-, -, v_headers);
    httpPort.send(
                  m_http_request(
                                  m_http_request_delete(
                                                      PICS_ROOT_API & PX_MEO_PKGM_URI & oct2char(unichar2oct(p_pkg_info_id)),
                                                      v_headers
                    )));

    tc_ac.start;
    alt {
      [] httpPort.receive(
                          mw_http_response(
                                            mw_http_response_204_no_content
                          )) {
        tc_ac.stop;
      }
      [] tc_ac.timeout {
        log("f_delete_package_management: INCONC: Expected message not received");
      }
    } // End of 'alt' statement
  } // End of function f_delete_package_management

  function f_create_app_pkg_subscription(
                                         out AppPkgSubscriptionInfo p_app_pkg_subscription_info
                                         ) runs on HttpComponent {
    // Local variables
    var Headers v_headers;
    var HttpMessage v_response;

    f_init_default_headers_list(-, -, v_headers);
    httpPort.send(
                  m_http_request(
                                  m_http_request_post(
                                                      PICS_ROOT_API & PX_MEO_PKGM_SUBS,
                                                      v_headers,
                                                      m_http_message_body_json(
                                                                              m_body_json_pkgm_subscription(
                                                                                                            m_app_pkg_info_subscription(
                                                                                                                                        PX_CALLBACK_URI
                          ))))));

    tc_ac.start;
    alt {
      [] httpPort.receive(
                          mw_http_response(
                                            mw_http_response_201_created(
                                                                        mw_http_message_body_json(
                                                                                                  mw_body_json_pkgm_subscription_info(
                                                                                                                                      mw_app_pkg_subscription_info(
                                                                                                                                                                    -, 
                                                                                                                                                                    -, 
                                                                                                                                                                    PX_CALLBACK_URI
                          )))))) -> value v_response {
        tc_ac.stop;
        p_app_pkg_subscription_info := v_response.response.body.json_body.appPkgSubscriptionInfo;
        log("f_create_app_pkg_subscription: INFO: IUT responds to the AppPkgSubscriptionInfo: ", p_app_pkg_subscription_info);
      }
      [] tc_ac.timeout {
        log("f_create_app_pkg_subscription: INCONC: Expected message not received ***");
      }
    } // End of 'alt' statement

  } // End of function f_create_app_pkg_subscription

  function f_delete_app_pkg_subscription(
                                         in Json.String p_id
                                         ) runs on HttpComponent {
    // Local variables
    var Headers v_headers;
    var HttpMessage v_response;

    f_init_default_headers_list(-, -, v_headers);
    httpPort.send(
                  m_http_request(
                                  m_http_request_delete(
                                                        PICS_ROOT_API & PX_MEO_PKGM_SUBS & oct2char(unichar2oct(p_id)),
                                                        v_headers
                          )));

    tc_ac.start;
    alt {
      [] httpPort.receive(
                          mw_http_response(
                                            mw_http_response_204_no_content
                          )) -> value v_response {
        tc_ac.stop;
      }
      [] tc_ac.timeout {
        log("f_delete_app_pkg_subscription: INCONC: Expected message not received ***");
      }
    } // End of 'alt' statement

  } // End of function f_delete_app_pkg_subscription

} // End of ApplicationPackageLifecycleAndOperationGrantingAPI_Functions
+45 −1
Original line number Diff line number Diff line
@@ -337,6 +337,50 @@ module ApplicationPackageLifecycleAndOperationGrantingAPI_Templates {
      self_ := { href := p_href }
    } // End of template mw_app_pkg_link

    template (value) AppPkgSubscriptionLinkList m_app_pkg_ubscription_link_list(
                                                                                in template (value) AppPkgSubscriptionLinkList_Link p_links
                                                                                ) := {
      links := p_links
    } // End of template m_app_pkg_ubscription_link_list

    template (present) AppPkgSubscriptionLinkList mw_app_pkg_ubscription_link_list(
                                                                                   template (present) AppPkgSubscriptionLinkList_Link p_links := ?
                                                                                   ) := {
      links := p_links
    } // End of template mw_app_pkg_ubscription_link_list

    template (omit) AppPkgSubscriptionLinkList_Link m_app_pkg_subscription_link_list_link(
                                                                                          in template (value) ApplicationPackageLifecycleAndOperationGrantingAPI_TypesAndValues.LinkType p_self_,
                                                                                          in template (omit) AppPkgSubscriptionLinkList_Link_Subscriptions p_subscriptions := omit
                                                                                          ) := {
      self_         := p_self_,
      subscriptions := p_subscriptions
    } // End of template m_app_pkg_subscription_link_list_link

    template (present) AppPkgSubscriptionLinkList_Link mw_app_pkg_subscription_link_list_link(
                                                                                              template (present) ApplicationPackageLifecycleAndOperationGrantingAPI_TypesAndValues.LinkType p_self_ := ?,
                                                                                              template AppPkgSubscriptionLinkList_Link_Subscriptions p_subscriptions := *
                                                                                              ) := {
      self_         := p_self_,
      subscriptions := p_subscriptions
    } // End of template mw_app_pkg_subscription_link_list_link

    template (value) AppPkgSubscriptionLinkList_Link_Subscription m_app_pkg_subscription_link_list_link_subscription(
                                                                                                                     in Json.AnyURI p_href,
                                                                                                                     in AppPkgSubscriptionType p_subscriptionType
                                                                                                                     ) := {
      href             := p_href,
      subscriptionType := p_subscriptionType
    } // End of template m_app_pkg_subscription_link_list_link_subscription

    template (present) AppPkgSubscriptionLinkList_Link_Subscription mw_app_pkg_subscription_link_list_link_subscription(
                                                                                                                        template (present) Json.AnyURI p_href := ?,
                                                                                                                        template (present) AppPkgSubscriptionType p_subscriptionType := ?
                                                                                                                        ) := {
      href             := p_href,
      subscriptionType := p_subscriptionType
    } // End of template mw_app_pkg_subscription_link_list_link_subscription

  } // End of group pkgmgt
  
  group mepm_lifcyclemgt {
+3 −2
Original line number Diff line number Diff line
@@ -1385,7 +1385,8 @@ module ApplicationPackageLifecycleAndOperationGrantingAPI_TypesAndValues {

  type enumerated AppPkgInfo_OperationalState {
    ENABLED           (0),
    DISABLED (1)
    DISABLED          (1),
    ERROR_BAD_REQUEST (2)
  }

  type enumerated UsageState {