Commit da410d0f authored by garciay's avatar garciay
Browse files

Add test data for secured beacon

parent 7c621405
Loading
Loading
Loading
Loading
+92 −6
Original line number Diff line number Diff line
@@ -30,12 +30,12 @@ module TestCodec_GeoNetworking {
  //    // LibItsDenm
  //    import from LibItsDenm_Templates all;
  //    import from LibItsDenm_TestSystem all;
  //    
  //    // LibItsSecurity
  //    import from LibItsSecurity_TypesAndValues all;
  //    import from LibItsSecurity_Templates all;
  //    import from LibItsSecurity_Functions all;
  //    import from LibItsSecurity_Pixits all;
  
  // LibItsSecurity
  import from LibItsSecurity_TypesAndValues all;
  import from LibItsSecurity_Templates all;
  import from LibItsSecurity_Functions all;
  import from LibItsSecurity_Pixits all;

  // LibItsBtp
  import from LibItsBtp_TypesAndValues all;
@@ -1184,6 +1184,92 @@ module TestCodec_GeoNetworking {
        
      } // End of testcase tc_GeoNet_Port_2
            
      /**
       * @desc validate beaconing with secured mode set in config file
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_GeoNet_Port_3() runs on ItsGeoNetworking system ItsGeoNetworkingSystem {
        
        if (PX_GN_UPPER_LAYER != e_any) {
          setverdict(inconc, "PX_GN_UPPER_LAYER shall be set to e_any");
          stop;
        }
        
        map(self:geoNetworkingPort, system:geoNetworkingPort);

        tc_ac.start;
        alt {
          [] tc_ac.timeout {
            setverdict(pass);
          }
        }
        
        unmap(self:geoNetworkingPort, system:geoNetworkingPort);
        
      } // End of testcase tc_GeoNet_Port_3
      
      /**
       * @desc validate beaconing with secured mode set in config file
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_GeoNet_Port_4() runs on ItsGeoNetworking system ItsGeoNetworkingSystem {
        var AcGnResponse v_acGnResponse;
        var ExtendedHeader v_header;
        var LongPosVector v_longPosVectorIut;
        var GeoNetworkingInd v_msg;
        
        if (PX_GN_UPPER_LAYER != e_any) {
          setverdict(inconc, "PX_GN_UPPER_LAYER shall be set to e_any");
          stop;
        }
        
        map(self:acPort, system:acPort);
        map(self:geoNetworkingPort, system:geoNetworkingPort);

        // A small sleep to provide TA to read pcap file is it used
        tc_noac.start(1.0);
        alt {
          [] tc_noac.timeout {
          }
        } // end of 'alt' statement
        
        f_acTriggerEvent(m_getLongPosVector(f_getIutGnLocalAddress()));
        tc_ac.start;
        alt {
          [] acPort.receive(mw_getLongPosVectorAny(f_getIutGnLocalAddress())) -> value v_acGnResponse {
            tc_ac.stop;
            v_longPosVectorIut := v_acGnResponse.getLongPosVector;
            setverdict(pass);
          } 
          [] acPort.receive {
            tc_ac.stop;
            setverdict(fail, "GnAddress mismatch, check LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR value in configuration file");
          }
          [] tc_ac.timeout {
            setverdict(inconc, "timeout");
          }
        } // End of 'alt' statement

        f_acTriggerEvent(m_startPassBeaconing(m_beaconHeader(v_longPosVectorIut).beaconHeader));
        
        tc_ac.start;
        alt {
          [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwSecPdu(mw_etsiTs103097Data_signed))) -> value v_msg {
            tc_ac.stop;
            log("v_msg = ", v_msg);
            setverdict(pass, "Security protocol version set to 3");
            f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
          }
          [] tc_ac.timeout {
            setverdict(pass);
          }
        }
        
        unmap(self:geoNetworkingPort, system:geoNetworkingPort);
        unmap(self:acPort, system:acPort);
        
      } // End of testcase tc_GeoNet_Port_4
      
      /**
       * @desc validate GeoNetworkingReq/Broadcast
       * @verdict Pass on success, Fail otherwise