Esempio n. 1
0
//--------------------------------------------------------------------------------------------------
void Testle_sms_SetGetBinary()
{
    le_result_t           res;
    le_sms_MsgRef_t       myMsg;
    le_sms_Format_t       myformat;
    char                  timestamp[LE_SMS_TIMESTAMP_MAX_LEN];
    char                  tel[LE_MDMDEFS_PHONE_NUM_MAX_LEN];
    uint8_t               raw[LE_SMS_BINARY_MAX_LEN];
    size_t                uintval;
    uint32_t              i;

    myMsg = le_sms_Create();
    CU_ASSERT_PTR_NOT_NULL(myMsg);

    res=le_sms_SetDestination(myMsg, DEST_TEST_PATTERN);
    CU_ASSERT_EQUAL(res, LE_OK);

    res=le_sms_SetBinary(myMsg, BINARY_TEST_PATTERN, sizeof(BINARY_TEST_PATTERN));
    CU_ASSERT_EQUAL(res, LE_OK);

    myformat=le_sms_GetFormat(myMsg);
    CU_ASSERT_EQUAL(myformat, LE_SMS_FORMAT_BINARY);

    res=le_sms_GetSenderTel(myMsg, tel, sizeof(tel));
    CU_ASSERT_EQUAL(res, LE_NOT_PERMITTED);

    res=le_sms_GetTimeStamp(myMsg, timestamp, sizeof(timestamp));
    CU_ASSERT_EQUAL(res, LE_NOT_PERMITTED);

    uintval=le_sms_GetUserdataLen(myMsg);
    CU_ASSERT_EQUAL(uintval, sizeof(BINARY_TEST_PATTERN));

    uintval=1;
    res=le_sms_GetBinary(myMsg, raw, &uintval);
    CU_ASSERT_EQUAL(res, LE_OVERFLOW);

    uintval=sizeof(BINARY_TEST_PATTERN);
    res=le_sms_GetBinary(myMsg, raw, &uintval);
    CU_ASSERT_EQUAL(res, LE_OK);
    for(i=0; i<sizeof(BINARY_TEST_PATTERN) ; i++)
    {
        CU_ASSERT_EQUAL(raw[i], BINARY_TEST_PATTERN[i]);
    }
    CU_ASSERT_EQUAL(uintval, sizeof(BINARY_TEST_PATTERN));

    res=le_sms_SetDestination(myMsg, VOID_PATTERN);
    CU_ASSERT_EQUAL(res, LE_BAD_PARAMETER);

    res=le_sms_SetBinary(myMsg, BINARY_TEST_PATTERN, 0);
    CU_ASSERT_EQUAL(res, LE_BAD_PARAMETER);

    le_sms_Delete(myMsg);
}
Esempio n. 2
0
//--------------------------------------------------------------------------------------------------
void Testle_sms_SendBinary()
{
    le_result_t           res;
    le_sms_MsgRef_t       myMsg;

    myMsg = le_sms_Create();
    CU_ASSERT_PTR_NOT_NULL(myMsg);

    LE_DEBUG("-TEST- Create Msg %p", myMsg);

    res=le_sms_SetDestination(myMsg, DEST_TEST_PATTERN);
    CU_ASSERT_EQUAL(res, LE_OK);

    res=le_sms_SetBinary(myMsg, BINARY_TEST_PATTERN, sizeof(BINARY_TEST_PATTERN)/sizeof(BINARY_TEST_PATTERN[0]));
    CU_ASSERT_EQUAL(res, LE_OK);

    res=le_sms_Send(myMsg);
    CU_ASSERT_NOT_EQUAL(res, LE_FAULT);
    CU_ASSERT_NOT_EQUAL(res, LE_FORMAT_ERROR);

    le_sms_Delete(myMsg);
}
Esempio n. 3
0
//--------------------------------------------------------------------------------------------------
static le_result_t Testle_sms_Send_Binary
(
    void
)
{
    le_result_t           res = LE_FAULT;
    le_sms_MsgRef_t       myMsg;

    myMsg = le_sms_Create();
    if (myMsg)
    {
        LE_DEBUG("-TEST- Create Msg %p", myMsg);

        res = le_sms_SetDestination(myMsg, DEST_TEST_PATTERN);
        if (res != LE_OK)
        {
            return LE_FAULT;
        }

        res = le_sms_SetBinary(myMsg, BINARY_TEST_PATTERN, sizeof(BINARY_TEST_PATTERN)/
                        sizeof(BINARY_TEST_PATTERN[0]));
        if (res != LE_OK)
        {
            return LE_FAULT;
        }

        res = le_sms_Send(myMsg);
        if ((res == LE_FAULT) || (res == LE_FORMAT_ERROR))
        {
            return LE_FAULT;
        }

        le_sms_Delete(myMsg);
        res = LE_OK;
    }

    return res;
}
Esempio n. 4
0
//--------------------------------------------------------------------------------------------------
static void TestRxHandler
(
    le_sms_MsgRef_t msg,
    void* contextPtr
)
{
    le_sms_Format_t       myformat;
    le_sms_Type_t         myType;
    uint16_t              myMessageId = 0;
    uint16_t              myMessageSerialNumber = 0;
    le_result_t           res;

    size_t                pduLen;
    char                  timestamp[LE_SMS_TIMESTAMP_MAX_BYTES];
    char                  text[LE_SMS_TEXT_MAX_BYTES] = {0};
    uint8_t               pdu[LE_SMS_PDU_MAX_BYTES] = {0};
    uint8_t               bin[50] = {0};

    LE_INFO("-TEST- New SMS message received ! msg.%p", msg);

    myformat = le_sms_GetFormat(msg);
    myType = le_sms_GetType(msg);

    LE_INFO("-TEST- New SMS message format %d, Type %d", myformat, myType);

    if (myType != LE_SMS_TYPE_BROADCAST_RX)
    {
        LE_ERROR("-TEST  1- Check le_sms_GetType failure! %d", myType);
        return;
    }
    else
    {
        LE_INFO("-TEST  1- Check le_sms_GetType LE_SMS_TYPE_CB");
    }

    res = le_sms_GetCellBroadcastId(msg, &myMessageId);
    if (res != LE_OK)
    {
        LE_ERROR("-TEST  2- Check le_sms_GetMessageIdCellBroadcast failure! %d", res);
        return;
    }
    else
    {
        LE_INFO("-TEST  2- Check le_sms_GetMessageIdCellBroadcast OK Message Id 0x%04X (%d)",
                        myMessageId, myMessageId);
    }

    res = le_sms_GetCellBroadcastSerialNumber(msg, &myMessageSerialNumber);
    if (res != LE_OK)
    {
        LE_ERROR("-TEST  3- Check le_sms_GetCellBroadcastSerialNumber failure! %d", res);
        return;
    }
    else
    {
        LE_INFO("-TEST  3- Check le_sms_GetCellBroadcastSerialNumber OK Message Id 0x%04X (%d)",
                        myMessageSerialNumber, myMessageSerialNumber);
    }

    if (myformat == LE_SMS_FORMAT_TEXT)
    {
        res = le_sms_GetTimeStamp(msg, timestamp, sizeof(timestamp));
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  4- Check le_sms_GetTimeStamp failure! %d", res);
            return;
        }
        else
        {
            LE_INFO("-TEST  4- Check le_sms_GetTimeStamp LE_NOT_PERMITTED");
        }

        res = le_sms_GetText(msg, text, sizeof(text));
        if(res != LE_OK)
        {
            LE_ERROR("-TEST  5- Check le_sms_GetText failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("SMS CB text=> '%s'",text);
            LE_INFO("-TEST  5- Check le_sms_GetText OK.");
        }

        pduLen = le_sms_GetPDULen(msg);
        if( (pduLen <= 0) || (pduLen > LE_SMS_PDU_MAX_BYTES))
        {
            LE_ERROR("-TEST  6 Check le_sms_GetPDULen failure!");
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("SMS CB Pdu len %d", (int) pduLen);
            LE_INFO("-TEST  6- Check le_sms_GetPDULen OK.");
        }

        res = le_sms_GetPDU(msg, pdu, &pduLen);
        if(res != LE_OK)
        {
            LE_ERROR("-TEST  7 Check le_sms_GetPDU failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            Dump("SMS CB PDU", pdu, pduLen);
            LE_INFO("-TEST  7 Check le_sms_GetPDU OK.");
        }

        res = le_sms_DeleteFromStorage(msg);
        if(res != LE_NO_MEMORY)
        {
            LE_ERROR("-TEST  8 Check le_sms_DeleteFromStorage failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            Dump("SMS CB PDU", pdu, pduLen);
            LE_INFO("-TEST  8 Check le_sms_DeleteFromStorage LE_NO_MEMORY.");
        }

        res = le_sms_SetText(msg, "TOTO");
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  9 Check le_sms_SetText failure !%d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("-TEST  9 Check le_sms_SetText OK.");
        }

        res = le_sms_SetDestination(msg, "0123456789");
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  10 Check le_sms_SetDestination failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("-TEST  10 Check le_sms_SetDestination LE_NOT_PERMITTED.");
        }

        res = le_sms_SetBinary(msg, bin, sizeof(bin));
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  11 Check le_sms_SetBinary failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("-TEST  11 Check le_sms_SetBinary LE_NOT_PERMITTED.");
        }

        size_t binLen = sizeof(bin);
        res = le_sms_GetBinary(msg, bin, &binLen);
        if(res != LE_FORMAT_ERROR)
        {
            LE_ERROR("-TEST  12 Check le_sms_GetBinary failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("-TEST  12 Check le_sms_GetBinary LE_FORMAT_ERROR.");
        }
    }
    else if (myformat == LE_SMS_FORMAT_BINARY)
    {
        LE_INFO("SMS Cell Broadcast in binary format");
        res = le_sms_GetTimeStamp(msg, timestamp, sizeof(timestamp));
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  4- Check le_sms_GetTimeStamp failure! %d", res);
            return;
        }
        else
        {
            LE_INFO("-TEST  4- Check le_sms_GetTimeStamp LE_NOT_PERMITTED");
        }

        res = le_sms_GetText(msg, text, sizeof(text));
        if(res != LE_FORMAT_ERROR)
        {
            LE_ERROR("-TEST  5- Check le_sms_GetText failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("SMS CB text=> '%s'",text);
            LE_INFO("-TEST  5- Check le_sms_GetText LE_FORMAT_ERROR.");
        }

        pduLen = le_sms_GetPDULen(msg);
        if( (pduLen <= 0) || (pduLen > LE_SMS_PDU_MAX_BYTES))
        {
            LE_ERROR("-TEST  6 Check le_sms_GetPDULen failure!");
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("SMS CB Pdu len %d", (int) pduLen);
            LE_INFO("-TEST  6- Check le_sms_GetPDULen OK.");
        }

        res = le_sms_GetPDU(msg, pdu, &pduLen);
        if(res != LE_OK)
        {
            LE_ERROR("-TEST  7 Check le_sms_GetPDU failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            Dump("SMS CB PDU", pdu, pduLen);
            LE_INFO("-TEST  7 Check le_sms_GetPDU OK.");
        }

        res = le_sms_DeleteFromStorage(msg);
        if(res != LE_NO_MEMORY)
        {
            LE_ERROR("-TEST  8 Check le_sms_DeleteFromStorage failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            Dump("SMS CB PDU", pdu, pduLen);
            LE_INFO("-TEST  8 Check le_sms_DeleteFromStorage LE_NO_MEMORY.");
        }

        res = le_sms_SetText(msg, "TOTO");
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  9 Check le_sms_SetText failure !%d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("-TEST  9 Check le_sms_SetText LE_NOT_PERMITTED.");
        }

        res = le_sms_SetDestination(msg, "0123456789");
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  10 Check le_sms_SetDestination failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("-TEST  10 Check le_sms_SetDestination LE_NOT_PERMITTED.");
        }

        res = le_sms_SetBinary(msg, bin, sizeof(bin));
        if(res != LE_NOT_PERMITTED)
        {
            LE_ERROR("-TEST  11 Check le_sms_SetBinary failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {
            LE_INFO("-TEST  11 Check le_sms_SetBinary LE_NOT_PERMITTED.");
        }

        size_t binLen = sizeof(bin);
        res = le_sms_GetBinary(msg, bin, &binLen);
        if(res != LE_OK)
        {
            LE_ERROR("-TEST  12 Check le_sms_GetBinary failure! %d", res);
            LE_ERROR("FAILED !!");
            return;
        }
        else
        {

            bin[binLen] = 0;
            LE_INFO("SMS CB binary (%d)=> '%s'",(int) binLen, bin);
            LE_INFO("-TEST  12 Check le_sms_GetBinary OK.");
        }
    }
    else
    {
        LE_INFO("SMS Cell Broadcast not in test format");
    }
    le_sms_Delete(msg);

    LE_INFO("smsCBTest sequence PASSED");
}