From 72fbe124d241dc7fb3265f99c8b70b44c9c249a8 Mon Sep 17 00:00:00 2001 From: navjot Date: Fri, 25 Sep 2020 21:47:14 +0530 Subject: [PATCH] implemented test case for sendBroadcast --- src/tests/test_api.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/tests/test_api.py b/src/tests/test_api.py index 44505ffe..fbce4481 100644 --- a/src/tests/test_api.py +++ b/src/tests/test_api.py @@ -160,14 +160,28 @@ class TestAPI(TestAPIProto): def test_send_broadcast(self): """API command 'sendBroadcast': ensure it returns ackData""" addr = self._add_random_address('random_2') - ack = self.api.sendBroadcast( - addr, base64.encodestring('test_subject'), - base64.encodestring('test message') - ) + msg = base64.encodestring('test message') + ackdata = self.api.sendBroadcast( + addr, base64.encodestring('test_subject'), msg) try: - int(ack, 16) + int(ackdata, 16) + status = self.api.getStatus(ackdata) + if status == 'notfound': + raise KeyError + self.assertIn( + status, ('broadcastqueued', 'broadcastsent', 'doingmsgpow')) + for m in json.loads(self.api.getAllSentMessages())['sentMessages']: + if m['ackData'] == ackdata: + sent_msg = m['message'] + break + else: + raise KeyError except ValueError: self.fail('sendBroadcast returned error or ackData is not hex') + except KeyError: + self.fail('Could not find sent broadcast in sent messages') + else: + self.assertEqual(sent_msg, msg.strip()) finally: self.assertEqual(self.api.deleteAddress(addr), 'success')