-
Notifications
You must be signed in to change notification settings - Fork 0
/
user_credentials_test.py
122 lines (106 loc) · 3.63 KB
/
user_credentials_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import unittest
from user_credentials import User, Credential
class TestUser(unittest.TestCase):
'''
Test class that defines test cases for the user class behaviours.
Args:
unittest.TestCase: helps in creating test cases
'''
def setUp(self):
'''
Creates new acc before each test
'''
self.new_user = User('Duncan','Kiragu','pwd2001')
def test__init__(self):
'''
Checking initialization of instances "using the variables"
'''
self.assertEqual(self.new_user.fname,'Duncan')
self.assertEqual(self.new_user.lname,'Kiragu')
self.assertEqual(self.new_user.pwd,'pwd2001')
def test_save_user(self):
'''
Test to check if the new users info is saved into the users list
'''
self.new_user.save_user()
self.assertEqual(len(User.users_list),1)
class TestCredentials(unittest.TestCase):
'''
Test class that defines test cases for the credentials class behaviours.
Args:
unittest.TestCase: helps in creating test cases
'''
def test_check_user(self):
'''
Function to test whether the login in function check_user works as expected
'''
self.new_user = User('Duncan','Kiragu','pwd2001')
self.new_user.save_user()
user2 = User('Dcan','Kir','pwd2002')
user2.save_user()
for user in User.users_list:
if user.fname == user2.fname and user.pwd == user2.pwd:
current_user = user.fname
return current_user
self.assertEqual(current_user,Credential.check_user(user2.pwd,user2.f_name))
def setUp(self):
'''
Creates user credentials
'''
self.new_credential = Credential('Duncan','Facebook','CoolDun','pwd2001')
def test__init__(self):
'''
Initialization of credential instances "using credential instances"
'''
self.assertEqual(self.new_credential.u_name,'Duncan')
self.assertEqual(self.new_credential.s_name,'Facebook')
self.assertEqual(self.new_credential.acc_name,'CoolDun')
self.assertEqual(self.new_credential.pwd,'pwd2001')
def test_save_credentials(self):
'''
Checking if credentials are saved
'''
self.new_credential.save_credentials()
twitter = Credential('Mathenge','Twitter','CoolDun','pwd2001')
twitter.save_credentials()
self.assertEqual(len(Credential.credentials_list),2)
def tearDown(self):
'''
Checking if credentials are cleared
'''
Credential.credentials_list = []
User.users_list = []
def test_display_credentials(self):
'''
Test to check if the display_credentials method, displays the correct credentials.
'''
self.new_credential.save_credentials()
twitter = Credential('Duncan','Twitter','CoolDun','pwd2001')
twitter.save_credentials()
gmail = Credential('Duncan','Gmail','CoolDun','pwd2001')
gmail.save_credentials()
def test_find_by_site_name(self):
'''
Test to check if the find_by_site_name method returns the correct credential
'''
self.new_credential.save_credentials()
twitter = Credential('Duncan','Twitter','CoolDun','pswd100')
twitter.save_credentials()
credential_exists = Credential.find_by_site_name('Twitter')
self.assertEqual(credential_exists,twitter)
def test_copy_credential(self):
'''
Test to check if the copy a credential method copies the correct credential
'''
self.new_credential.save_credentials()
twitter = Credential('Duncan','Twitter','CoolDun','pswd100')
twitter.save_credentials()
find_credential = None
for credential in Credential.user_credentials_list:
find_credential =Credential.find_by_site_name(credential.site_name)
return pyperclip.copy(find_credential.password)
Credential.copy_credential(self.new_credential.site_name)
self.assertEqual('pwd2001',pyperclip.paste())
print(pyperclip.paste())
if __name__ == '__main__':
unittest.main(verbosity=2)