Also check sent broadcast status and it's presence in sent messages

This commit is contained in:
Dmitri Bogomolov 2019-02-13 12:25:28 +02:00
parent efff8f95ba
commit 6c85bdd498
Signed by untrusted user: g1itch
GPG Key ID: 720A756F18DEED13

View File

@ -157,14 +157,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')