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

84 lines
3.4 KiB
Python
Raw Normal View History

2020-02-27 14:46:43 +00:00
"""Test for message send"""
2020-02-26 10:54:49 +00:00
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"""
def test_msgsend(self):
"""Auto-fill senders address, receivers address, subject and message and sends the message"""
try:
if BMConfigParser().addresses():
QTest.qWait(500)
self.myapp.ui.tabWidget.setCurrentWidget(self.myapp.ui.send)
2020-03-04 09:28:48 +00:00
QTest.qWait(500)
2020-02-26 10:54:49 +00:00
self.myapp.ui.comboBoxSendFrom.setCurrentIndex(
random.randrange(1, len(BMConfigParser().addresses()) + 1)
)
2020-02-27 14:46:43 +00:00
QTest.qWait(1000)
2020-03-04 09:28:48 +00:00
2020-02-26 10:54:49 +00:00
rand_address = choice(BMConfigParser().addresses())
random_address = ""
for x in range(len(rand_address)):
random_address += rand_address[x]
self.myapp.ui.lineEditTo.setText(random_address)
QTest.qWait(1)
QTest.qWait(800)
2020-03-04 09:28:48 +00:00
2020-02-26 10:54:49 +00:00
random_subject = ""
for x in range(40):
random_subject += choice(ascii_lowercase)
self.myapp.ui.lineEditSubject.setText(random_subject)
QTest.qWait(1)
QTest.qWait(800)
2020-03-04 09:28:48 +00:00
2020-02-26 10:54:49 +00:00
random_message = ""
for x in range(200):
random_message += choice(ascii_lowercase)
self.myapp.ui.textEditMessage.setText(random_message)
QTest.qWait(1)
QTest.qWait(800)
2020-03-04 09:28:48 +00:00
2020-02-26 10:54:49 +00:00
inbox_length = len(sqlQuery("Select msgid from inbox"))
QTest.mouseClick(self.myapp.ui.pushButtonSend, Qt.LeftButton)
QTest.qWait(600)
2020-03-04 09:28:48 +00:00
2020-02-26 10:54:49 +00:00
self.myapp.ui.tabWidget.setCurrentWidget(self.myapp.ui.inbox)
print(" .......................... waiting for message .......................... ")
2020-03-04 09:28:48 +00:00
2020-02-26 10:54:49 +00:00
for x in range(5):
QTest.qWait(5000)
print(" waiting " + x * ".")
self.assertEqual(sqlQuery("Select toaddress,subject from inbox")[-1], (rand_address, random_subject))
2020-03-04 09:28:48 +00:00
2020-02-26 10:54:49 +00:00
if len(sqlQuery("Select msgid from inbox")) == inbox_length + 1:
QTest.qWait(100)
print("\n Test Pass :--> Message Received Successfully \n")
self.assertTrue(True, " Test Pass :--> Message Received Successfully")
return 1
else:
QTest.qWait(100)
print("\n Test Fail :--> Doesn't Receive Any Message!! \n")
self.assertTrue(False, " \n Test Fail :--> Doesn't Receive Any Message!!")
return 0
else:
QTest.qWait(100)
print("\n Test Fail :--> No Address Found!! \n")
self.assertTrue(False, " \n Test Fail :--> No Address Found!!")
return 0
except:
QTest.qWait(100)
print("\n Test Fail :--> Message Sending Test Fail!! \n")
self.assertTrue(False, " \n Test Fail :--> Message Sending Test Fail!!")
return 0