Commit d464dccd authored by Filipe Ferreira's avatar Filipe Ferreira
Browse files

MEC 029 v2.0.7 updates.

parent 5415f28f
Loading
Loading
Loading
Loading
+527 −0
Original line number Diff line number Diff line
/*
Copyright (c) ETSI 2018.

This software is subject to copyrights owned by ETSI. Non-exclusive permission
is hereby granted, free of charge, to copy, reproduce and amend this file
under the following conditions: It is provided "as is", without warranty of any
kind, expressed or implied.

ETSI shall never be liable for any claim, damages, or other liability arising
from its use or inability of use.This permission does not apply to any documentation
associated with this file for which ETSI keeps all rights reserved. The present
copyright notice shall be included in all copies of whole or part of this
file and shall not imply any sub-license right.
*/
 
Package plat_mp1_fixed_access_info{
   
   import all from MEC_Common;

   
   /*
    * Fixed Access Information Service (FAIS)
    */
   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_001"
      
      Test objective 
         "Check that the IUT responds with the current status of the fixed access information  
         when queried by a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.3.3.1"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state
      }

      // MEC 029, clause 5.2.2
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vGET containing
                  Uri indicating value "/fai/v1/queries/fa_info"
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.3.3.1
               the IUT entity sends a HttpMsg containing
                  status_code set to "200 OK"
                  body containing
                     FaInfo set to any_value
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_002"
      
      Test objective 
         "Check that the IUT responds with the current status of the device information  
         when queried by a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.4.3.1"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state
      }

      // MEC 029, clause 5.2.3
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vGET containing
                  Uri indicating value "/fai/v1/queries/device_info"
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.4.3.1
               the IUT entity sends a HttpMsg containing
                  status_code set to "200 OK"
                  body containing
                     DeviceInfo set to any_value
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_003"
      
      Test objective 
         "Check that the IUT responds with the current status of the cable line information  
         when queried by a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.5.3.1"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state
      }

      // MEC 029, clause 5.2.4
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vGET containing
                  Uri indicating value "/fai/v1/queries/cable_line_info"
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.5.3.1
               the IUT entity sends a HttpMsg containing
                  status_code set to "200 OK"
                  body containing
                     CableLineInfo set to any_value
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_004"
      
      Test objective 
         "Check that the IUT responds with the current status of the optical network information  
         when queried by a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.6.3.1"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state
      }

      // MEC 029, clause 5.2.5
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vGET containing
                  Uri indicating value "/fai/v1/queries/optical_network_info"
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.6.3.1
               the IUT entity sends a HttpMsg containing
                  status_code set to "200 OK"
                  body containing
                     PonInfo set to any_value
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_005"
      
      Test objective 
         "Check that the IUT responds with the subscriptions for fixed access information notifications  
         when queried by a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.1"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state
      }

      // MEC 029, clause 5.2.6.1
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vGET containing
                  Uri indicating value "/fai/v1/subscriptions"
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.7.3.1
               the IUT entity sends a HttpMsg containing
                  status_code set to "200 OK"
                  body containing
                     SubscriptionLinkList set to any_value
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_006" 
      
      Test objective 
         "Check that the IUT acknowledges the subscription by a MEC Application
         to notifications on Optical Network Unit alarm events"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.4"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state
      }

      // MEC 029, clause 5.2.6.1
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vPOST containing
                  Uri indicating value "fai/v1/subscriptions" 
                  body containing
                     OnuAlarmSubscription containing 
                        subscriptionType indicating value "OnuAlarmSubscription", 
                        callbackReference indicating value CALLBACK_URL
                     ;
                  ;
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.7.3.4
               the IUT entity sends a HttpMsg containing
                  status_code set to "201 Created",
                  Location set to LOCATION,
                  body containing
                     OnuAlarmSubscription containing 
                        subscriptionType set to "OnuAlarmSubscription"
                     ; 
                  ;
               ;
               to the MEC_APP entity
               
               // TODO: do we have the notification as a separate test? If so, do we have initial conditions
               // set to OnuAlarmSubscription above? how? how do we check the proper call to CALLBACK_URL?
               and
               // MEC 029, clause 7.7.3.4
               the IUT entity sends a vPOST containing
                  body containing
                     OnuAlarmNotification containing 
                        notificationType set to "OnuAlarmSubscription"
                     ;
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_007"
      
      Test objective 
         "Check that the IUT responds with the information on a given subscription   
         when queried by a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.1"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state and
         the IUT entity having a subscriptions containing
            subscription_id indicating value SUBSCRIPTION_ID
         ;
      }

      // MEC 029, clause 5.2.5
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vGET containing
                  Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}"
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.8.3.1
               the IUT entity sends a HttpMsg containing
                  status_code set to "200 OK"
                  body containing
                     OnuAlarmSubscription containing 
                        subscriptionType set to "OnuAlarmSubscription"
                     ; 
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_008"
      
      Test objective 
         "Check that the IUT updates an existing subscription 
         when commanded by a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.2"

      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state and
         the IUT entity having a subscriptions containing
            subscription_id indicating value SUBSCRIPTION_ID
         ;
      }

      // MEC 029, clause 5.2.4
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vPUT containing
                  Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}",
                  body containing
                     OnuAlarmSubscription containing 
                        subscriptionType set to "OnuAlarmSubscription"
                     ; 
                  ;
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.8.3.2
               the IUT entity sends a HttpMsg containing
                  status_code set to "200 OK"
                  body containing
                     OnuAlarmSubscription containing 
                        subscriptionType set to "OnuAlarmSubscription"
                     ; 
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }
   

   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_009"

      Test objective
         "Check that the IUT cancels an existing subscription
         when commanded by a MEC Application"

      Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.5"

      Config Id Config_MEC_1

      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state and
         the IUT entity having a subscriptions containing
            subscription_id indicating value SUBSCRIPTION_ID
         ;
      }

      // MEC 029, clause 5.2.5
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vDELETE containing
                  Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}"
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.8.3.5
               the IUT entity sends a HttpMsg containing
                  status_code set to "204 No Content"
               ;
               to the MEC_APP entity
            }
         }
      }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_010" 
      
      Test objective 
         "Check that the IUT sends notification on expiry of Fixed Access Information event subscription
         to a MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.4"
      
      Config Id Config_MEC_1
      
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state
      }

      // MEC 029, clause 5.2.6.2
      Expected behaviour
         ensure that {
            when {
               the IUT entity receives a vPOST containing
                  Uri indicating value "fai/v1/subscriptions" 
                  body containing
                     OnuAlarmSubscription containing 
                        subscriptionType indicating value "DevInfoSubscription", 
                        callbackReference indicating value CALLBACK_URL,
                        expiryDeadline indicating value NOW_PLUS_X_SECONDS    // TODO: how to set this?
                     ;
                  ;
               ;
               from the MEC_APP entity
            }
            then {
               // MEC 029, clause 7.7.3.4
               the IUT entity sends a HttpMsg containing
                  status_code set to "201 Created",
                  Location set to LOCATION,
                  body containing
                     DevInfoSubscription containing 
                        subscriptionType set to "DevInfoSubscription"
                     ; 
                  ;
               ;
               to the MEC_APP entity

               // TODO: how to wait for a timeout of (NOW_PLUS_X_SECONDS - guard time)? which guard time value to use?
               and
               // MEC 029, clause 5.2.6.2
               the IUT entity sends a vPOST containing
                  Uri indicating value CALLBACK_URL 
                  body containing
                     ExpiryNotification containing 
                        expiryDeadline indicating value NOW_PLUS_X_SECONDS    // TODO: how to set this?
                     ;
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }


   Test Purpose {
      TP Id "TP_MEC_PLAT_MP1_FAIS_BV_011"
   
      Test objective 
         "Check that the IUT sends notifications on Fixed Access Information events
         to a subscribed MEC Application"
      
      Reference "ETSI GS MEC 029 V2.0.7, clause 5.2.7"
   
      Config Id Config_MEC_1
   
      PICS Selection PIC_MEC_PLAT and PIC_SERVICES

      Initial conditions  with {
         the IUT entity being_in idle_state and
         the IUT entity having a subscriptions containing
            subscriptionType indicating value "OnuAlarmSubscription",
            callbackReference indicating value CALLBACK_URL
         ;
      }
   
      // MEC 029, clause 5.2.7
      Expected behaviour
         ensure that {
            when {
               // TODO: what's the trigger here?
            }
            then {
               // // MEC 029, clause 5.2.7
               the IUT entity sends a vPOST containing
                  Uri set to CALLBACK_URL 
                  body containing
                     OnuAlarmSubscription containing 
                        notificationType set to "OnuAlarmSubscription"
                     ; 
                  ;
               ;
               to the MEC_APP entity
            }
         }
   }

}