Vodafone Test Suite
Dependencies: mbed-rtos mbed HTTPClient VodafoneUSBModem
Tests/Test14.h@40:32b0558320ea, 2012-09-14 (annotated)
- Committer:
- ashleymills
- Date:
- Fri Sep 14 12:16:09 2012 +0000
- Revision:
- 40:32b0558320ea
- Parent:
- 37:847f5f86e9ff
- Child:
- 44:6d0ac4747f5b
Refactoring.
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 | 40:32b0558320ea | 18 | |
ashleymills | 40:32b0558320ea | 19 | Test14(VodafoneUSBModem *m) : VodafoneTestCase(m) { |
ashleymills | 40:32b0558320ea | 20 | _description = gTest14Description; |
ashleymills | 40:32b0558320ea | 21 | _testCaseNumber = 14; |
ashleymills | 40:32b0558320ea | 22 | } |
ashleymills | 40:32b0558320ea | 23 | |
ashleymills | 40:32b0558320ea | 24 | |
ashleymills | 40:32b0558320ea | 25 | virtual bool execute() { |
ashleymills | 40:32b0558320ea | 26 | |
ashleymills | 40:32b0558320ea | 27 | LinkMonitor::REGISTRATION_STATE regState = LinkMonitor::REGISTRATION_STATE_UNKNOWN; |
ashleymills | 40:32b0558320ea | 28 | LinkMonitor::BEARER bearer = LinkMonitor::BEARER_UNKNOWN; |
ashleymills | 40:32b0558320ea | 29 | int rssi = -1000; |
ashleymills | 40:32b0558320ea | 30 | if(_modem->getLinkState(&rssi, ®State, &bearer)==0) |
ashleymills | 40:32b0558320ea | 31 | { |
ashleymills | 40:32b0558320ea | 32 | if(rssi==-1000) |
ashleymills | 40:32b0558320ea | 33 | { LOG("Checking signal strength - RSSI: Error."); return false;} |
ashleymills | 40:32b0558320ea | 34 | else |
ashleymills | 40:32b0558320ea | 35 | { LOG("Signal strength is: RSSI: %d",rssi);} |
ashleymills | 40:32b0558320ea | 36 | |
ashleymills | 40:32b0558320ea | 37 | |
ashleymills | 40:32b0558320ea | 38 | switch(regState) { |
ashleymills | 40:32b0558320ea | 39 | case LinkMonitor::REGISTRATION_STATE_UNKNOWN: |
ashleymills | 40:32b0558320ea | 40 | LOG("regState: UNKNOWN. Failing."); |
ashleymills | 40:32b0558320ea | 41 | return false; |
ashleymills | 40:32b0558320ea | 42 | case LinkMonitor::REGISTRATION_STATE_REGISTERING: |
ashleymills | 40:32b0558320ea | 43 | LOG("regState: REGISTERING"); |
ashleymills | 40:32b0558320ea | 44 | break; |
ashleymills | 40:32b0558320ea | 45 | case LinkMonitor::REGISTRATION_STATE_DENIED: |
ashleymills | 40:32b0558320ea | 46 | LOG("regState: DENIED"); |
ashleymills | 40:32b0558320ea | 47 | return false; |
ashleymills | 40:32b0558320ea | 48 | case LinkMonitor::REGISTRATION_STATE_NO_SIGNAL: |
ashleymills | 40:32b0558320ea | 49 | LOG("regState: NO SIGNAL"); |
ashleymills | 40:32b0558320ea | 50 | return false; |
ashleymills | 40:32b0558320ea | 51 | case LinkMonitor::REGISTRATION_STATE_HOME_NETWORK: |
ashleymills | 40:32b0558320ea | 52 | LOG("regState: HOME NETWORK"); |
ashleymills | 40:32b0558320ea | 53 | break; |
ashleymills | 40:32b0558320ea | 54 | case LinkMonitor::REGISTRATION_STATE_ROAMING: |
ashleymills | 40:32b0558320ea | 55 | LOG("regState: ROAMING"); |
ashleymills | 40:32b0558320ea | 56 | break; |
ashleymills | 40:32b0558320ea | 57 | default: |
ashleymills | 40:32b0558320ea | 58 | LOG("regState: ERROR. Failing."); |
ashleymills | 40:32b0558320ea | 59 | return false; |
ashleymills | 40:32b0558320ea | 60 | } |
ashleymills | 40:32b0558320ea | 61 | } |
ashleymills | 40:32b0558320ea | 62 | |
ashleymills | 40:32b0558320ea | 63 | |
ashleymills | 40:32b0558320ea | 64 | LOG("Test %d sending an SMS message...", _testCaseNumber); |
ashleymills | 40:32b0558320ea | 65 | LOG("Sending SMS:' %s ' to test phone: %s , waiting for response.", gIrregularMessage, gTestPhoneNumber); |
ashleymills | 40:32b0558320ea | 66 | |
ashleymills | 40:32b0558320ea | 67 | int ret = _modem->sendSM(gTestPhoneNumber, gIrregularMessage); |
ashleymills | 40:32b0558320ea | 68 | |
ashleymills | 40:32b0558320ea | 69 | if (ret) |
ashleymills | 40:32b0558320ea | 70 | { |
ashleymills | 40:32b0558320ea | 71 | LOG("Error in sending the SMS message. The return values is: %d", ret); |
ashleymills | 40:32b0558320ea | 72 | |
ashleymills | 40:32b0558320ea | 73 | switch(ret){ |
ashleymills | 40:32b0558320ea | 74 | case(NET_INVALID): LOG("Error message is: 'phone number is invalid size, must be less than 16 digits'.");break; |
ashleymills | 40:32b0558320ea | 75 | case(NET_PROTOCOL): LOG("Error message is: 'protocol error from the modem'.");break; |
ashleymills | 40:32b0558320ea | 76 | default: LOG("Undefined error message."); |
ashleymills | 40:32b0558320ea | 77 | |
ashleymills | 40:32b0558320ea | 78 | } |
ashleymills | 40:32b0558320ea | 79 | return false; |
ashleymills | 40:32b0558320ea | 80 | } |
ashleymills | 40:32b0558320ea | 81 | LOG("Test %d passed...", _testCaseNumber); |
ashleymills | 40:32b0558320ea | 82 | return true; |
ashleymills | 40:32b0558320ea | 83 | } |
ashleymills | 40:32b0558320ea | 84 | |
ashleymills | 40:32b0558320ea | 85 | private: |
ashleymills | 40:32b0558320ea | 86 | |
ashleymills | 40:32b0558320ea | 87 | |
nherriot | 31:9231acdde9ff | 88 | }; |