PyBitmessage-2021-04-27/src/graphicaltesting/test_messagesend.py

72 lines
3.1 KiB
Python

"""Test for message send"""
import random
from random import choice
from string import ascii_lowercase
from PyQt4.QtCore import Qt
from PyQt4.QtTest import QTest
from bmconfigparser import BMConfigParser
from helper_sql import sqlQuery
from testloader import BitmessageTestCase
class BitmessageTest_MessageTesting(BitmessageTestCase):
"""Test Message Sending functionality"""
# pylint: disable= no-else-return
def test_msgsend(self):
"""Auto-fill senders address, receivers address, subject and message and sends the message"""
print(
"=====================Test - Message Send/Receive Functionality=====================")
try:
if BMConfigParser().addresses():
inbox_length = len(sqlQuery("Select msgid from inbox"))
QTest.qWait(500)
self.myapp.ui.tabWidget.setCurrentWidget(self.myapp.ui.send)
QTest.qWait(500)
rand_address = choice(BMConfigParser().addresses())
random_address = ""
for i, _ in enumerate(rand_address):
random_address += rand_address[i]
self.myapp.ui.lineEditTo.setText(random_address)
QTest.qWait(4)
QTest.qWait(500)
random_subject = ""
for x in range(30):
random_subject += choice(ascii_lowercase)
self.myapp.ui.lineEditSubject.setText(random_subject)
QTest.qWait(4)
QTest.qWait(500)
random_message = ""
for x in range(150):
random_message += choice(ascii_lowercase)
self.myapp.ui.textEditMessage.setText(random_message)
QTest.qWait(1)
QTest.qWait(400)
randinteger = random.randrange(1, len(BMConfigParser().addresses()) + 1)
self.myapp.ui.comboBoxSendFrom.setCurrentIndex(randinteger)
QTest.qWait(1000)
QTest.mouseClick(self.myapp.ui.pushButtonSend, Qt.LeftButton)
QTest.qWait(350)
self.myapp.ui.tabWidget.setCurrentWidget(self.myapp.ui.inbox)
print(" Waiting For Message .......................... ")
for x in range(5):
QTest.qWait(4000)
print(" waiting " + x * ".")
new_inbox = sqlQuery("Select msgid,toaddress,subject from inbox")
self.assertEqual(new_inbox[-1][1], rand_address)
self.assertEqual(new_inbox[-1][2], random_subject)
if len(sqlQuery("Select msgid from inbox")) == inbox_length + 1:
print("Test Pass:--> Message Received Successfully")
return 1
else:
print("Test Fail:--> Doesn't Receive Any Message")
return 0
else:
print("Test Fail:--> No Address Found")
return 0
except:
print("Test Fail:--> Message Sending Test Fail")
return 0