Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

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?

UserRevisionLine numberNew 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, &regState, &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 };