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

72 lines
3.1 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"""
2020-03-17 15:48:05 +00:00
# pylint: disable= no-else-return
2020-02-26 10:54:49 +00:00
def test_msgsend(self):
"""Auto-fill senders address, receivers address, subject and message and sends the message"""
2020-03-17 15:48:05 +00:00
print(
"=====================Test - Message Send/Receive Functionality=====================")
2020-02-26 10:54:49 +00:00
try:
if BMConfigParser().addresses():
2020-03-13 14:40:20 +00:00
inbox_length = len(sqlQuery("Select msgid from inbox"))
2020-02-26 10:54:49 +00:00
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
rand_address = choice(BMConfigParser().addresses())
random_address = ""
2020-03-13 14:40:20 +00:00
for i, _ in enumerate(rand_address):
random_address += rand_address[i]
2020-02-26 10:54:49 +00:00
self.myapp.ui.lineEditTo.setText(random_address)
2020-03-13 14:40:20 +00:00
QTest.qWait(4)
QTest.qWait(500)
2020-02-26 10:54:49 +00:00
random_subject = ""
2020-03-13 14:40:20 +00:00
for x in range(30):
2020-02-26 10:54:49 +00:00
random_subject += choice(ascii_lowercase)
self.myapp.ui.lineEditSubject.setText(random_subject)
2020-03-13 14:40:20 +00:00
QTest.qWait(4)
QTest.qWait(500)
2020-02-26 10:54:49 +00:00
random_message = ""
2020-03-13 14:40:20 +00:00
for x in range(150):
2020-02-26 10:54:49 +00:00
random_message += choice(ascii_lowercase)
self.myapp.ui.textEditMessage.setText(random_message)
QTest.qWait(1)
2020-03-13 14:40:20 +00:00
QTest.qWait(400)
randinteger = random.randrange(1, len(BMConfigParser().addresses()) + 1)
self.myapp.ui.comboBoxSendFrom.setCurrentIndex(randinteger)
QTest.qWait(1000)
2020-02-26 10:54:49 +00:00
QTest.mouseClick(self.myapp.ui.pushButtonSend, Qt.LeftButton)
2020-03-13 14:40:20 +00:00
QTest.qWait(350)
2020-02-26 10:54:49 +00:00
self.myapp.ui.tabWidget.setCurrentWidget(self.myapp.ui.inbox)
2020-03-13 14:40:20 +00:00
print(" Waiting For Message .......................... ")
2020-02-26 10:54:49 +00:00
for x in range(5):
2020-03-13 14:40:20 +00:00
QTest.qWait(4000)
2020-02-26 10:54:49 +00:00
print(" waiting " + x * ".")
2020-03-13 14:40:20 +00:00
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)
2020-02-26 10:54:49 +00:00
if len(sqlQuery("Select msgid from inbox")) == inbox_length + 1:
2020-03-13 14:40:20 +00:00
print("Test Pass:--> Message Received Successfully")
2020-02-26 10:54:49 +00:00
return 1
else:
2020-03-13 14:40:20 +00:00
print("Test Fail:--> Doesn't Receive Any Message")
2020-02-26 10:54:49 +00:00
return 0
else:
2020-03-13 14:40:20 +00:00
print("Test Fail:--> No Address Found")
2020-02-26 10:54:49 +00:00
return 0
except:
2020-03-13 14:40:20 +00:00
print("Test Fail:--> Message Sending Test Fail")
2020-02-26 10:54:49 +00:00
return 0