Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

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?

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