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

99 lines
3.9 KiB
Python
Raw Normal View History

2020-02-27 14:46:43 +00:00
"""Generate Address for tests"""
2020-02-26 10:54:49 +00:00
from random import choice
from string import ascii_lowercase
from PyQt4.QtTest import QTest
from bitmessageqt import address_dialogs
from bmconfigparser import BMConfigParser
from testloader import BitmessageTestCase
class BitmessageTest_AddressGeneration(BitmessageTestCase):
"""Testing Environment"""
def test_generateaddress(self):
2020-03-17 15:48:05 +00:00
"""Method clicks on pushbutton and create new address with random label"""
2020-03-13 14:40:20 +00:00
print("=====================Test - Generating Address=====================")
2020-02-26 10:54:49 +00:00
try:
2020-03-04 09:28:48 +00:00
QTest.qWait(500)
2020-03-13 14:40:20 +00:00
bm_addresses = BMConfigParser().addresses()
2020-03-04 09:28:48 +00:00
self.myapp.ui.tabWidget.setCurrentWidget(self.myapp.ui.inbox)
QTest.qWait(500)
2020-03-17 15:48:05 +00:00
self.myapp.ui.pushButtonNewAddress.setStyleSheet(
"QPushButton {background-color: #FF5733; color: white;}")
2020-02-26 10:54:49 +00:00
QTest.qWait(50)
self.myapp.ui.pushButtonNewAddress.setStyleSheet("")
label_gen_obj = address_dialogs.NewAddressDialog()
2020-03-13 14:40:20 +00:00
QTest.qWait(750)
2020-03-17 15:48:05 +00:00
2020-03-04 09:28:48 +00:00
random_label = ""
2020-03-13 14:40:20 +00:00
for _ in range(15):
2020-03-04 09:28:48 +00:00
random_label += choice(ascii_lowercase)
2020-02-26 10:54:49 +00:00
label_gen_obj.newaddresslabel.setText(random_label)
2020-03-13 14:40:20 +00:00
QTest.qWait(4)
2020-03-17 15:48:05 +00:00
2020-03-13 14:40:20 +00:00
QTest.qWait(500)
2020-02-26 10:54:49 +00:00
label_gen_obj.accept()
2020-03-13 14:40:20 +00:00
QTest.qWait(750)
new_bm_addresses = BMConfigParser().addresses()
self.assertEqual(len(new_bm_addresses), len(bm_addresses) + 1)
2020-03-17 15:48:05 +00:00
self.assertEqual(
str(BMConfigParser().get(new_bm_addresses[-1], "label")), random_label)
2020-03-13 14:40:20 +00:00
print("Test Pass:--> Address Generated Successfully")
2020-02-26 10:54:49 +00:00
return 1 # if every thing is ok
except:
2020-03-17 15:48:05 +00:00
print(
"Test Fail:--> Address Generatation Failed or Taking too much time to generate address")
2020-02-26 10:54:49 +00:00
return 0 # if test fail
def test_generateaddresswithpassphrase(self):
"""Clicks on the create new label with passphrase pushbutton and generates 8 address"""
2020-03-17 15:48:05 +00:00
print(
"=====================Test - Generating Address with passphrase=====================")
2020-02-26 10:54:49 +00:00
try:
2020-03-04 09:28:48 +00:00
QTest.qWait(500)
2020-03-13 14:40:20 +00:00
bm_addresses = BMConfigParser().addresses()
2020-03-04 09:28:48 +00:00
self.myapp.ui.tabWidget.setCurrentWidget(self.myapp.ui.inbox)
QTest.qWait(500)
2020-03-17 15:48:05 +00:00
self.myapp.ui.pushButtonNewAddress.setStyleSheet(
"QPushButton {background-color: #FF5733; color: white;}")
2020-02-26 10:54:49 +00:00
QTest.qWait(50)
self.myapp.ui.pushButtonNewAddress.setStyleSheet("")
label_gen_obj = address_dialogs.NewAddressDialog()
2020-03-13 14:40:20 +00:00
QTest.qWait(750)
2020-02-26 10:54:49 +00:00
label_gen_obj.radioButtonDeterministicAddress.click()
2020-03-13 14:40:20 +00:00
QTest.qWait(250)
2020-03-17 15:48:05 +00:00
2020-03-13 14:40:20 +00:00
random_password1 = ""
for _ in range(15):
2020-02-26 10:54:49 +00:00
random_password1 += choice(ascii_lowercase)
label_gen_obj.lineEditPassphrase.setText(random_password1)
2020-03-13 14:40:20 +00:00
QTest.qWait(4)
2020-02-26 10:54:49 +00:00
QTest.qWait(500)
2020-03-13 14:40:20 +00:00
random_password2 = ""
2020-02-26 10:54:49 +00:00
for i in random_password1:
random_password2 += i
label_gen_obj.lineEditPassphraseAgain.setText(random_password2)
2020-03-04 09:28:48 +00:00
QTest.qWait(2)
2020-03-17 15:48:05 +00:00
2020-03-13 14:40:20 +00:00
QTest.qWait(500)
2020-02-26 10:54:49 +00:00
label_gen_obj.accept()
2020-03-13 14:40:20 +00:00
QTest.qWait(750)
2020-02-26 10:54:49 +00:00
self.assertEqual(random_password1, random_password2)
2020-03-17 15:48:05 +00:00
2020-03-13 14:40:20 +00:00
print(" Creating 8 Addresses. Please Wait! ......")
2020-03-16 14:43:18 +00:00
QTest.qWait(3000)
2020-03-13 14:40:20 +00:00
print(" Generating ......... ")
2020-03-16 14:43:18 +00:00
QTest.qWait(3000)
2020-03-13 14:40:20 +00:00
self.assertEqual(len(BMConfigParser().addresses()), len(bm_addresses) + 8)
print("Test Pass:--> Address Generated Successfully with passphrase")
2020-02-26 10:54:49 +00:00
return 1
except:
print(
2020-03-17 15:48:05 +00:00
"Test Fail:--> Address Generatation Failed with passphrase"
" or Taking too much time to generate address")
2020-02-26 10:54:49 +00:00
return 0