Commit 2a4be132 authored by Yann Garcia's avatar Yann Garcia
Browse files

Review ECRF tests

parents a229faae 5889ecbc
Loading
Loading
Loading
Loading
+61 −4
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@

#include "sip_codec_register_request.hh"
#include "sip_codec_invite_request.hh"
#include "sip_codec_bye_request.hh"
#include "sip_codec_subscribe_request.hh"
#include "sip_codec_message_body.hh"
#include "sip_codec_response.hh"

@@ -66,12 +68,47 @@ namespace LibSip__EncdecDeclarations {
  }
  
  BITSTRING fx__enc__OPTIONS__Request(const LibSip__SIPTypesAndValues::OPTIONS__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__BYE__Request(const LibSip__SIPTypesAndValues::BYE__Request& p) { return BITSTRING(); }

  BITSTRING fx__enc__BYE__Request(const LibSip__SIPTypesAndValues::BYE__Request& p) {
    loggers::get_instance().log_msg(">>> fx__enc__BYE__Request: ", p);

    float duration;
    std::string tag("fx__enc__BYE__Request");
    loggers::get_instance().set_start_time(tag);

    OCTETSTRING os;
    sip_codec_bye_request codec;
    if (codec.encode(p, os) == -1) {
      loggers::get_instance().warning("fx__enc__BYE__Request: -1 result code was returned");
      return int2bit(0, 1);
    }
    loggers::get_instance().set_stop_time(tag, duration);

    return oct2bit(os);
  }

  BITSTRING fx__enc__CANCEL__Request(const LibSip__SIPTypesAndValues::CANCEL__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__ACK__Request(const LibSip__SIPTypesAndValues::ACK__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__PRACK__Request(const LibSip__SIPTypesAndValues::PRACK__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__NOTIFY__Request(const LibSip__SIPTypesAndValues::NOTIFY__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__SUBSCRIBE__Request(const LibSip__SIPTypesAndValues::SUBSCRIBE__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__SUBSCRIBE__Request(const LibSip__SIPTypesAndValues::SUBSCRIBE__Request& p) {
        loggers::get_instance().log_msg(">>> fx__enc__SUBSCRIBE__Request: ", p);

        float duration;
        std::string tag("fx__enc__SUBSCRIBE__Request");
        loggers::get_instance().set_start_time(tag);

        OCTETSTRING os;
        sip_codec_subscribe_request codec;
        if (codec.encode(p, os) == -1) {
          loggers::get_instance().warning("fx__enc__SUBSCRIBE__Request: -1 result code was returned");
          return int2bit(0, 1);
        }
        loggers::get_instance().set_stop_time(tag, duration);

        return oct2bit(os);
  }

  BITSTRING fx__enc__PUBLISH__Request(const LibSip__SIPTypesAndValues::PUBLISH__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__UPDATE__Request(const LibSip__SIPTypesAndValues::UPDATE__Request& p) { return BITSTRING(); }
  BITSTRING fx__enc__REFER__Request(const LibSip__SIPTypesAndValues::REFER__Request& p) { return BITSTRING(); }
@@ -148,12 +185,32 @@ namespace LibSip__EncdecDeclarations {
  }
  
  INTEGER fx__dec__OPTIONS__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::OPTIONS__Request& p) { return INTEGER(0); }
  INTEGER fx__dec__BYE__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::BYE__Request& p) { return INTEGER(0); }

  INTEGER fx__dec__BYE__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::BYE__Request& p) {
    loggers::get_instance().log_msg(">>> fx__dec__BYE__Request: ", pdu);

    OCTETSTRING os = bit2oct(pdu);
    sip_codec_bye_request codec;
    codec.decode(os, p);

    return 0;
  }

  INTEGER fx__dec__CANCEL__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::CANCEL__Request& p) { return INTEGER(0); }
  INTEGER fx__dec__ACK__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::ACK__Request& p) { return INTEGER(0); }
  INTEGER fx__dec__PRACK__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::PRACK__Request& p) { return INTEGER(0); }
  INTEGER fx__dec__NOTIFY__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::NOTIFY__Request& p) { return INTEGER(0); }
  INTEGER fx__dec__SUBSCRIBE__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::SUBSCRIBE__Request& p) { return INTEGER(0); }

  INTEGER fx__dec__SUBSCRIBE__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::SUBSCRIBE__Request& p) {
    loggers::get_instance().log_msg(">>> fx__dec__SUBSCRIBE__Request: ", pdu);

    OCTETSTRING os = bit2oct(pdu);
    sip_codec_subscribe_request codec;
    codec.decode(os, p);

    return 0;
  }

  INTEGER fx__dec__PUBLISH__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::PUBLISH__Request& p) { return INTEGER(0); }
  INTEGER fx__dec__UPDATE__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::UPDATE__Request& p) { return INTEGER(0); }
  INTEGER fx__dec__REFER__Request(BITSTRING& pdu, LibSip__SIPTypesAndValues::REFER__Request& p) { return INTEGER(0); }
+46 −0
Original line number Diff line number Diff line
#include "LibSip_SIPTypesAndValues.hh"

#include "sip_codec_bye_request.hh"
#include "loggers.hh"

int sip_codec_bye_request::encode (const LibSip__SIPTypesAndValues::BYE__Request& msg, OCTETSTRING& data)
{
  loggers::get_instance().log_msg(">>> sip_codec_bye_request::encode: ", (const Base_Type&)msg);

  if (_codec.encode((LibSip__SIPTypesAndValues::Request&)msg, data) == -1) {
    loggers::get_instance().warning("sip_codec_bye_request::encode: Failed to encode message");
    return -1;
  }
  
  loggers::get_instance().log_msg("<<< sip_codec_bye_request::encode: data=", data);
  return 0;
}

int sip_codec_bye_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::BYE__Request& msg, params* p_params)
{
  loggers::get_instance().log_msg(">>> sip_codec_bye_request::decode: data=", data);

  // Sanity checks
  if (data.lengthof() == 0) {
    loggers::get_instance().warning("sip_codec_bye_request::decode: Wrong parameters");
    return -1;
  }

  //  LibSip__SIPTypesAndValues::Request request;
  if (_codec.decode(data, (LibSip__SIPTypesAndValues::Request&)msg) == -1) {
    //  if (_codec.decode(data, request) == -1) {
    loggers::get_instance().warning("sip_codec_bye_request::decode: Failed to decode message");
    return -1;
  }
  // msg.requestLine() = request.requestLine();
  // msg.msgHeader() = request.msgHeader();
  // msg.messageBody() = request.messageBody();
  // msg.payload() = request.payload();

  if (msg.requestLine().method() != LibSip__SIPTypesAndValues::Method::BYE__E) {
    loggers::get_instance().warning("sip_codec_bye_request::decode: Wrong SIP Method, expected BYE");
    return -1;
  }
  
  return 0;
}
+27 −0
Original line number Diff line number Diff line
#pragma once

#include "codec.hh"
#include "params.hh"

#include "sip_codec_request.hh"

class Base_Type;
class TTCN_Typedescriptor_t;
class TTCN_Buffer;

namespace LibSip__SIPTypesAndValues {
  class BYE__Request;
}

class sip_codec_bye_request: public codec <
LibSip__SIPTypesAndValues::BYE__Request,
LibSip__SIPTypesAndValues::BYE__Request>
{
  sip_codec_request _codec;
public:
  explicit sip_codec_bye_request() : codec<LibSip__SIPTypesAndValues::BYE__Request, LibSip__SIPTypesAndValues::BYE__Request>(), _codec() { };
  virtual ~sip_codec_bye_request() { };

  virtual int encode (const LibSip__SIPTypesAndValues::BYE__Request& msg, OCTETSTRING& data);
  virtual int decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::BYE__Request& msg, params* p_params = NULL);
}; // End of class sip_codec_bye_request
+46 −0
Original line number Diff line number Diff line
#include "LibSip_SIPTypesAndValues.hh"

#include "sip_codec_subscribe_request.hh"
#include "loggers.hh"

int sip_codec_subscribe_request::encode (const LibSip__SIPTypesAndValues::SUBSCRIBE__Request& msg, OCTETSTRING& data)
{
  loggers::get_instance().log_msg(">>> sip_codec_subscribe_request::encode: ", (const Base_Type&)msg);

  if (_codec.encode((LibSip__SIPTypesAndValues::Request&)msg, data) == -1) {
    loggers::get_instance().warning("sip_codec_subscribe_request::encode: Failed to encode message");
    return -1;
  }
  
  loggers::get_instance().log_msg("<<< sip_codec_subscribe_request::encode: data=", data);
  return 0;
}

int sip_codec_subscribe_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::SUBSCRIBE__Request& msg, params* p_params)
{
  loggers::get_instance().log_msg(">>> sip_codec_subscribe_request::decode: data=", data);

  // Sanity checks
  if (data.lengthof() == 0) {
    loggers::get_instance().warning("sip_codec_subscribe_request::decode: Wrong parameters");
    return -1;
  }

  //  LibSip__SIPTypesAndValues::Request request;
  if (_codec.decode(data, (LibSip__SIPTypesAndValues::Request&)msg) == -1) {
    //  if (_codec.decode(data, request) == -1) {
    loggers::get_instance().warning("sip_codec_subscribe_request::decode: Failed to decode message");
    return -1;
  }
  // msg.requestLine() = request.requestLine();
  // msg.msgHeader() = request.msgHeader();
  // msg.messageBody() = request.messageBody();
  // msg.payload() = request.payload();

  if (msg.requestLine().method() != LibSip__SIPTypesAndValues::Method::SUBSCRIBE__E) {
    loggers::get_instance().warning("sip_codec_subscribe_request::decode: Wrong SIP Method, expected SUBSCRIBE");
    return -1;
  }
  
  return 0;
}
+27 −0
Original line number Diff line number Diff line
#pragma once

#include "codec.hh"
#include "params.hh"

#include "sip_codec_request.hh"

class Base_Type;
class TTCN_Typedescriptor_t;
class TTCN_Buffer;

namespace LibSip__SIPTypesAndValues {
  class SUBSCRIBE__Request;
}

class sip_codec_subscribe_request: public codec <
LibSip__SIPTypesAndValues::SUBSCRIBE__Request,
LibSip__SIPTypesAndValues::SUBSCRIBE__Request>
{
  sip_codec_request _codec;
public:
  explicit sip_codec_subscribe_request() : codec<LibSip__SIPTypesAndValues::SUBSCRIBE__Request, LibSip__SIPTypesAndValues::SUBSCRIBE__Request>(), _codec() { };
  virtual ~sip_codec_subscribe_request() { };

  virtual int encode (const LibSip__SIPTypesAndValues::SUBSCRIBE__Request& msg, OCTETSTRING& data);
  virtual int decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::SUBSCRIBE__Request& msg, params* p_params = NULL);
}; // End of class sip_codec_subscribe_request
Loading