-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServerTest.py
More file actions
125 lines (95 loc) · 4.63 KB
/
ServerTest.py
File metadata and controls
125 lines (95 loc) · 4.63 KB
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
123
124
125
import ClientListener
import Login
import FileManager
import unittest
class testServer(unittest.TestCase): #We are testing using the python unittest library.
#In Visual Studio, create accounts with (username,password):
#("Bob", "Builder")
#("Barney", Dinosaur")
#("BeAutY", " bEAsT")
#TEST FOR: authenticateHashed()
def testAuthenticateHashed1(self):
self.assertTrue(Login.authenticateHashed("Bob", "Builder"))
def testAuthenticateHashed2(self):
self.assertTrue(Login.authenticateHashed("Barney", "Dinosaur"))
def testAuthenticateHashed3(self):
self.assertFalse(Login.authenticateHashed("Bob ", "Marley"))
def testAuthenticateHashed4(self):
self.assertTrue(Login.authenticateHashed("BeAutY", " bEAsT"))
def testAuthenticateHashed5(self):
self.assertFalse(Login.authenticateHashed("Bob ", "Builder"))
def testAuthenticateHashed6(self):
self.assertFalse(Login.authenticateHashed(" Barney", "Dinosaur"))
def testAuthenticateHashed7(self):
self.assertFalse(Login.authenticateHashed("BeAutY", "bEAst"))
#TEST FOR: newPassword()
def testNewPassword1(self):
Login.newPassword("Bob", "Burden")
self.assertFalse(Login.authenticateHashed("Bob", "Builder"))
self.assertTrue(Login.authenticateHashed("Bob", "Burden"))
def testNewPassword2(self):
Login.newPassword("Barney", "Hippo")
self.assertFalse(Login.authenticateHashed("Barney", "hippo"))
self.assertTrue(Login.authenticateHashed("Barney", "Hippo"))
def testNewPassword3(self):
Login.newPassword("BeAutY", " bEAsT")
self.assertFalse(Login.authenticateHashed("BeAutY", " bEAsT"))
self.assertTrue(Login.authenticateHashed("BeAutY", " bEAsT"))
#not sure how to test getConnection(). We can use Visual Studio to check if it is sending back the right
#strings
#not sure how to test startListening(). Since it prints out "NOW LISTENING" and "ACCEPTED CONNECTION",
#we can check in Visual Studio to see if it prints out the correct messages
#TEST FOR: getField()
def testGetField1(self):
self.assertEquals(FileManager.getField("Bob", "pwd"), "Burden")
self.assertEquals(FileManager.getField("Barney", "pwd"), "Hippo")
self.assertEquals(FileManager.getField("BeAutY", "pwd"), " bEAsT")
def testGetField2(self):
self.assertEquals(FileManager.getField("Bob", "usr"), "Bob")
self.assertEquals(FileManager.getField("Barney", "usr"), "Barney")
self.assertEquals(FileManager.getField("BeAutY", "usr"), "BeAutY")
def testGetField3(self):
self.assertEquals(FileManager.getField("Bob", "data"), "")
self.assertEquals(FileManager.getField("Barney", "data"), "")
self.assertEquals(FileManager.getField("BeAutY", "data"), "")
#TEST FOR: setField
def testSetField1(self):
FileManager.setField("Bob", "pwd", "NotBuilder")
self.assertTrue(Login.authenticateHashed("Bob", "NotBuilder"))
def testSetField2(self):
FileManager.setField("Barney", "pwd", "Spider")
self.assertTrue(Login.authenticateHashed("Barney", "Spider"))
def testSetField3(self):
FileManager.setField("BeAutY", "pwd", "Sleeping")
self.assertTrue(Login.authenticateHashed("BeAutY", "Sleeping"))
def testSetField4(self):
FileManager.setField("Bob", "usr", "Eric")
self.assertTrue(Login.authenticateHashed("Eric", "NotBuilder"))
def testSetField5(self):
FileManager.setField("Barney", "usr", "Marcus")
self.assertTrue(Login.authenticateHashed("Marcus", "Spider"))
def testSetField6(self):
FileManager.setField("BeAutY", "usr", "Sleeping")
self.assertTrue(Login.authenticateHashed("Sleeping", "Sleeping"))
#TEST FOR: setting data and getting data
def testBothFields1(self):
FileManager.setField("Eric", "data", "the happy snowman")
self.assertEquals(FileManager.getField("Eric", "data"), "the happy snowman")
def testBothFields2(self):
FileManager.setField("Marcus", "data", "the frosty snowman")
self.assertEquals(FileManager.getField("Marcus", "data"), "the frosty snowman")
def testBothFields3(self):
FileManager.setField("Sleeping", "data", "the melting snowman")
self.assertEquals(FileManager.getField("Sleeping", "data"), "the melting snowman")
#TEST FOR: New fields
def testNewfields1(self):
FileManager.setField("Eric", "Condition", "Living")
self.assertEquals(FileManager.getField("Eric", "Condition"), "Living")
def testNewfields2(self):
FileManager.setField("Marcus", "Condition", "Frozen")
self.assertEquals(FileManager.getField("Marcus", "Condition"), "Frozen")
def testNewfields3(self):
FileManager.setField("Sleeping", "Condition", "Dying")
self.assertEquals(FileManager.getField("Sleeping", "Condition"), "Dying")
#createUser and connectToDB may be database related functions that should be tested in database testing
unittest.main() #Test Suite calls all functions to test.