Skip to content

Commit 9b7a33b

Browse files
committed
max_message test for BOTH pdu and text modes
modified: test/gsmmodem_test.py
1 parent 32c46bd commit 9b7a33b

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

test/gsmmodem_test.py

+28-24
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,34 @@ def testMaxMessageArgs(self):
1414
# this device is much more complicated than
1515
# most, so is tucked away in mock.device
1616
device = MockSenderDevice()
17-
gsm = pygsm.GsmModem(device=device, mode="PDU")
18-
19-
# test with no max_message arg
20-
gsm.send_sms("1234", "Test Message")
21-
self.assertEqual(device.sent_messages[0]["recipient"], "21")
22-
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
23-
24-
# test with reasonable max_message arg, should have no impact
25-
gsm.send_sms("1234", "Test Message", max_messages = 20)
26-
self.assertEqual(device.sent_messages[0]["recipient"], "21")
27-
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
28-
29-
# test with max_message = 0, should internally set to 1 with no problems
30-
gsm.send_sms("1234", "Test Message", -1)
31-
self.assertEqual(device.sent_messages[0]["recipient"], "21")
32-
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
33-
34-
# test with max_message > 255, should internally force to 255
35-
gsm.send_sms("1234", "Test Message", 1024)
36-
self.assertEqual(device.sent_messages[0]["recipient"], "21")
37-
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
38-
17+
gsmPDU = pygsm.GsmModem(device=device, mode="PDU")
18+
gsmTEXT = pygsm.GsmModem(device=device, mode="TEXT")
19+
20+
for gsm in (gsmPDU, gsmTEXT):
21+
# test with no max_message arg
22+
gsm.send_sms("1234", "Test Message")
23+
self.assertEqual(device.sent_messages[0]["recipient"], "21")
24+
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
25+
26+
# test with reasonable max_message arg, should have no impact
27+
gsm.send_sms("1234", "Test Message", max_messages = 20)
28+
self.assertEqual(device.sent_messages[0]["recipient"], "21")
29+
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
30+
31+
# test with max_message = 0, should internally set to 1 with no problems
32+
gsm.send_sms("1234", "Test Message", -1)
33+
self.assertEqual(device.sent_messages[0]["recipient"], "21")
34+
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
35+
36+
# test with max_message > 255, should internally force to 255
37+
gsm.send_sms("1234", "Test Message", 1024)
38+
self.assertEqual(device.sent_messages[0]["recipient"], "21")
39+
self.assertEqual(device.sent_messages[0]["text"], "00110004A821430000AA0CD4F29C0E6A96E7F3F0B90C")
40+
3941
# test with max_message = 1 and message too long to fit
4042
# should throw a value exception
43+
#
44+
# ONLY SUPPORTED IN PDU MODE, so run on PDU configured gsmmodem only
4145
msg="""
4246
0123456789012345678901234567890123456789012345678901234567890123456789
4347
0123456789012345678901234567890123456789012345678901234567890123456789
@@ -48,12 +52,12 @@ def testMaxMessageArgs(self):
4852
0123456789012345678901234567890123456789012345678901234567890123456789
4953
"""
5054
try:
51-
gsm.send_sms("1234", msg, max_messages=1)
55+
gsmPDU.send_sms("1234", msg, max_messages=1)
5256
except ValueError:
5357
print "ValueError caught"
5458
else:
5559
# Should have thrown an error!
56-
self.assertTrue(False)
60+
self.assertTrue(False) # SMS too big should throw ValueError
5761

5862
def testSendSmsPDUMode(self):
5963
"""Checks that the GsmModem in PDU mode accepts outgoing SMS,

0 commit comments

Comments
 (0)