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