source: rtos_arduino/trunk/arduino_lib/libraries/pubsubclient-2.6/tests/testcases/mqtt_publish_in_callback.py@ 209

Last change on this file since 209 was 209, checked in by ertl-honda, 8 years ago

BlueMix用のフィアルを追加

File size: 1.9 KB
Line 
1import unittest
2import settings
3
4import time
5import mosquitto
6
7import serial
8
9def on_message(mosq, obj, msg):
10 obj.message_queue.append(msg)
11
12class mqtt_publish_in_callback(unittest.TestCase):
13
14 message_queue = []
15
16 @classmethod
17 def setUpClass(self):
18 self.client = mosquitto.Mosquitto("pubsubclient_ut", clean_session=True,obj=self)
19 self.client.connect(settings.server_ip)
20 self.client.on_message = on_message
21 self.client.subscribe("outTopic",0)
22
23 @classmethod
24 def tearDownClass(self):
25 self.client.disconnect()
26
27 def test_connect(self):
28 i=30
29 while len(self.message_queue) == 0 and i > 0:
30 self.client.loop()
31 time.sleep(0.5)
32 i -= 1
33 self.assertTrue(i>0, "message receive timed-out")
34 self.assertEqual(len(self.message_queue), 1, "unexpected number of messages received")
35 msg = self.message_queue.pop(0)
36 self.assertEqual(msg.mid,0,"message id not 0")
37 self.assertEqual(msg.topic,"outTopic","message topic incorrect")
38 self.assertEqual(msg.payload,"hello world")
39 self.assertEqual(msg.qos,0,"message qos not 0")
40 self.assertEqual(msg.retain,False,"message retain flag incorrect")
41
42
43 def test_publish(self):
44 self.assertEqual(len(self.message_queue), 0, "message queue not empty")
45 payload = "abcdefghij"
46 self.client.publish("inTopic",payload)
47
48 i=30
49 while len(self.message_queue) == 0 and i > 0:
50 self.client.loop()
51 time.sleep(0.5)
52 i -= 1
53
54 self.assertTrue(i>0, "message receive timed-out")
55 self.assertEqual(len(self.message_queue), 1, "unexpected number of messages received")
56 msg = self.message_queue.pop(0)
57 self.assertEqual(msg.mid,0,"message id not 0")
58 self.assertEqual(msg.topic,"outTopic","message topic incorrect")
59 self.assertEqual(msg.payload,payload)
60 self.assertEqual(msg.qos,0,"message qos not 0")
61 self.assertEqual(msg.retain,False,"message retain flag incorrect")
62
63
64
Note: See TracBrowser for help on using the repository browser.