Vodafone Test Suite
Dependencies: mbed-rtos mbed HTTPClient VodafoneUSBModem
Tests/Test14.h@60:7efce4a3c26f, 2012-10-23 (annotated)
- Committer:
- ashleymills
- Date:
- Tue Oct 23 14:22:53 2012 +0000
- Revision:
- 60:7efce4a3c26f
- Parent:
- 44:6d0ac4747f5b
- Child:
- 66:6b00a764e549
Added new SMS bulk test (incomplete).
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ashleymills | 40:32b0558320ea | 1 | #pragma once |
ashleymills | 40:32b0558320ea | 2 | #include "VodafoneTestCase.h" |
ashleymills | 40:32b0558320ea | 3 | //#define __DEBUG__ 1 |
ashleymills | 40:32b0558320ea | 4 | |
ashleymills | 40:32b0558320ea | 5 | // this test case will wait to send an SMS from the modem. |
ashleymills | 40:32b0558320ea | 6 | // if the method that sends a message returns an error it will fail. |
ashleymills | 40:32b0558320ea | 7 | // it will report the test as failed if any of the above happens. |
ashleymills | 40:32b0558320ea | 8 | // it does not wait after it has succesfully sent an SMS. |
ashleymills | 40:32b0558320ea | 9 | // this test basic characters and numbers can be sent via SMS. |
ashleymills | 40:32b0558320ea | 10 | |
ashleymills | 40:32b0558320ea | 11 | extern const char *gTest14Description; |
ashleymills | 40:32b0558320ea | 12 | extern const char *gTestPhoneNumber; |
ashleymills | 40:32b0558320ea | 13 | extern const char *gAlphabetNumbersMessage; |
ashleymills | 40:32b0558320ea | 14 | |
ashleymills | 40:32b0558320ea | 15 | class Test14 : public VodafoneTestCase { |
ashleymills | 40:32b0558320ea | 16 | public: |
ashleymills | 40:32b0558320ea | 17 | |
ashleymills | 60:7efce4a3c26f | 18 | Test14(VodafoneUSBModem *m) : VodafoneTestCase(m) {} |
ashleymills | 40:32b0558320ea | 19 | |
ashleymills | 44:6d0ac4747f5b | 20 | private: |
ashleymills | 44:6d0ac4747f5b | 21 | virtual bool executeTest() { |
ashleymills | 60:7efce4a3c26f | 22 | LOG(gTest14Description); |
ashleymills | 40:32b0558320ea | 23 | LinkMonitor::REGISTRATION_STATE regState = LinkMonitor::REGISTRATION_STATE_UNKNOWN; |
ashleymills | 40:32b0558320ea | 24 | LinkMonitor::BEARER bearer = LinkMonitor::BEARER_UNKNOWN; |
ashleymills | 40:32b0558320ea | 25 | int rssi = -1000; |
ashleymills | 40:32b0558320ea | 26 | if(_modem->getLinkState(&rssi, ®State, &bearer)==0) |
ashleymills | 40:32b0558320ea | 27 | { |
ashleymills | 40:32b0558320ea | 28 | if(rssi==-1000) |
ashleymills | 40:32b0558320ea | 29 | { LOG("Checking signal strength - RSSI: Error."); return false;} |
ashleymills | 40:32b0558320ea | 30 | else |
ashleymills | 40:32b0558320ea | 31 | { LOG("Signal strength is: RSSI: %d",rssi);} |
ashleymills | 40:32b0558320ea | 32 | |
ashleymills | 40:32b0558320ea | 33 | |
ashleymills | 40:32b0558320ea | 34 | switch(regState) { |
ashleymills | 40:32b0558320ea | 35 | case LinkMonitor::REGISTRATION_STATE_UNKNOWN: |
ashleymills | 40:32b0558320ea | 36 | LOG("regState: UNKNOWN. Failing."); |
ashleymills | 40:32b0558320ea | 37 | return false; |
ashleymills | 40:32b0558320ea | 38 | case LinkMonitor::REGISTRATION_STATE_REGISTERING: |
ashleymills | 40:32b0558320ea | 39 | LOG("regState: REGISTERING"); |
ashleymills | 40:32b0558320ea | 40 | break; |
ashleymills | 40:32b0558320ea | 41 | case LinkMonitor::REGISTRATION_STATE_DENIED: |
ashleymills | 40:32b0558320ea | 42 | LOG("regState: DENIED"); |
ashleymills | 40:32b0558320ea | 43 | return false; |
ashleymills | 40:32b0558320ea | 44 | case LinkMonitor::REGISTRATION_STATE_NO_SIGNAL: |
ashleymills | 40:32b0558320ea | 45 | LOG("regState: NO SIGNAL"); |
ashleymills | 40:32b0558320ea | 46 | return false; |
ashleymills | 40:32b0558320ea | 47 | case LinkMonitor::REGISTRATION_STATE_HOME_NETWORK: |
ashleymills | 40:32b0558320ea | 48 | LOG("regState: HOME NETWORK"); |
ashleymills | 40:32b0558320ea | 49 | break; |
ashleymills | 40:32b0558320ea | 50 | case LinkMonitor::REGISTRATION_STATE_ROAMING: |
ashleymills | 40:32b0558320ea | 51 | LOG("regState: ROAMING"); |
ashleymills | 40:32b0558320ea | 52 | break; |
ashleymills | 40:32b0558320ea | 53 | default: |
ashleymills | 40:32b0558320ea | 54 | LOG("regState: ERROR. Failing."); |
ashleymills | 40:32b0558320ea | 55 | return false; |
ashleymills | 40:32b0558320ea | 56 | } |
ashleymills | 40:32b0558320ea | 57 | } |
ashleymills | 40:32b0558320ea | 58 | |
ashleymills | 40:32b0558320ea | 59 | |
ashleymills | 40:32b0558320ea | 60 | LOG("Sending SMS:' %s ' to test phone: %s , waiting for response.", gIrregularMessage, gTestPhoneNumber); |
ashleymills | 40:32b0558320ea | 61 | |
ashleymills | 40:32b0558320ea | 62 | int ret = _modem->sendSM(gTestPhoneNumber, gIrregularMessage); |
ashleymills | 40:32b0558320ea | 63 | |
ashleymills | 40:32b0558320ea | 64 | if (ret) |
ashleymills | 40:32b0558320ea | 65 | { |
ashleymills | 40:32b0558320ea | 66 | LOG("Error in sending the SMS message. The return values is: %d", ret); |
ashleymills | 40:32b0558320ea | 67 | |
ashleymills | 40:32b0558320ea | 68 | switch(ret){ |
ashleymills | 40:32b0558320ea | 69 | case(NET_INVALID): LOG("Error message is: 'phone number is invalid size, must be less than 16 digits'.");break; |
ashleymills | 40:32b0558320ea | 70 | case(NET_PROTOCOL): LOG("Error message is: 'protocol error from the modem'.");break; |
ashleymills | 40:32b0558320ea | 71 | default: LOG("Undefined error message."); |
ashleymills | 40:32b0558320ea | 72 | |
ashleymills | 40:32b0558320ea | 73 | } |
ashleymills | 40:32b0558320ea | 74 | return false; |
ashleymills | 40:32b0558320ea | 75 | } |
ashleymills | 40:32b0558320ea | 76 | return true; |
ashleymills | 40:32b0558320ea | 77 | } |
nherriot | 31:9231acdde9ff | 78 | }; |