def test_administrators(self): self.user = um_utils.user(self.admin, 'quantel@') result = um_utils.login(self.user) if (result == 0 or result == 1): self.user.loggedin = True self.assertTrue((result == 0 or result == 1), 'Test Failed: User could not log in.') # Delete all existing licenses db_utils.deleteAllLicenses(self.connection, self.cur) for x in range(0, 7): # Check user every minute to see if still logged in print 'Sleeping for 60 secs.................' time.sleep(60) # Check that user is still logged in if (db_utils.isUserLoggedIn(self.connection, self.cur, self.user)): print 'User still logged in after %d minutes' % (x + 1) self.assertTrue((db_utils.isUserLoggedIn(self.connection, self.cur, self.user)), 'Test Failed: User has been logged out') print 'Sleeping for 2 secs.................' time.sleep(2)
def test_administrators(self): # Empty list to be filled with user objects self.users = [] if (self.maxUsers > 0): print 'License is valid!!!!!!' print 'License start date should not yet have occured' print 'Replace the license in um_utils.py' maxAdmins = self.maxUsers + 5 # Get the number of users already logged in count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) print 'Max users allowed: %d' % self.maxUsers print 'Max administrators allowed: %d' % maxAdmins print 'Number of users already logged in: %d' % count print 'Opening browsers........' for admin in self.admins: # For each administrator, create a user object and add object to users list self.users.append(um_utils.user(admin, 'quantel@')) # Keep trying to log in each of the editors. Once the max number of users have been logged in, no further logins should be allowed. for user in self.users: result = um_utils.login(user) if (result == 0 or result == 1): user.loggedin = True count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) print '\tNumber of active users (max: %d): %d' % (maxAdmins, count) self.assertFalse ((count > maxAdmins), 'Test Failed: Max number of users exceded.') print 'Sleeping for 2 secs.................' time.sleep( 2 )
def test_managers(self): # Empty list to be filled with user objects self.users = [] maxManagers = self.maxUsers + 5 # Get the number of users already logged in count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) print 'Max users allowed: %d' % self.maxUsers print 'Max managers allowed: %d' % maxManagers print 'Number of users already logged in: %d' % count print 'Opening browsers........' for manager in self.managers: # For each manager, create a user object and add object to users list self.users.append(um_utils.user(manager, 'quantel@')) # Keep trying to log in each of the editors. Once the max number of users have been logged in, no further logins should be allowed. for user in self.users: result = um_utils.login(user) if (result == 0 or result == 1): user.loggedin = True count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) print '\tNumber of active users (max: %d): %d' % (maxManagers, count) self.assertFalse ((count > maxManagers), 'Test Failed: Max number of users exceded.') print 'Sleeping for 2 secs.................' time.sleep( 2 )
def test_editors(self): # Empty list to be filled with user objects self.users = [] # Get the number of users already logged in count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) print 'Max users allowed: %d' % self.maxUsers print 'Number of users already logged in: %d' % count print 'Opening browsers........' for editor in self.editors: # For each editor, create a user object and add object to users list self.users.append(um_utils.user(editor, 'quantel@')) # Keep trying to log in each of the editors. If any editor can log in, the test has failed. for user in self.users: result = um_utils.login(user) if (result == 0 or result == 1): user.loggedin = True self.assertTrue((result > 1), 'Test Failed: User successfully logged in.') print 'Sleeping for 2 secs.................' time.sleep(2)
def test_ten_wrong_passwords(self): # Set user password to be incorrect self.user.password = '******' # Reset failed password count db_utils.resetFailedPasswordAttemptCount(self.connection, self.cur, self.user) for count in range(0, 10): # Check that account is not blocked self.assertFalse(db_utils.isUserLockedOut(self.connection, self.cur, self.user)) # Try and log in user. result = um_utils.login(self.user) lockedout = db_utils.isUserLockedOut(self.connection, self.cur, self.user) self.assertTrue(result == 2, 'Wrong error message displayed') print 'Attempts = %d Result = %d Locked out = %d' % (count + 1, result, lockedout) # Check that users account is blocked print 'User has entered 10 incorrect passwords. Account should be blocked:' print 'Locked out = %d' % db_utils.isUserLockedOut(self.connection, self.cur, self.user) self.assertTrue(db_utils.isUserLockedOut(self.connection, self.cur, self.user)) # Reset failed password count and unblock user print 'Unlocking user account......' db_utils.resetFailedPasswordAttemptCount(self.connection, self.cur, self.user) db_utils.unBlockUser(self.connection, self.cur, self.user) # Check that user has been unlocked lockedout = db_utils.isUserLockedOut(self.connection, self.cur, self.user) print 'Locked out = %d' % lockedout
def test_login(self): # Check that user is not already logged in self.assertFalse(db_utils.isUserLoggedIn(self.connection, self.cur, self.user), 'Test not valid. User is already logged in') # Try and log in user. result = um_utils.login(self.user) if (result == 0): self.user.loggedin = True self.assertTrue((db_utils.isUserLoggedIn(self.connection, self.cur, self.user)), 'User not logged in' ) print 'Sleeping for 2 secs.................' time.sleep( 2 )
def test_no_valid_license(self): # Empty list to be filled with user objects (not used in this test but needed for teardown) self.users = [] # Set up emergency admin user self.ea = um_utils.user('emergencyadmin', 'faelj*34#7k89@jkl') # No license is installed. Try and log in as emergency admin result = um_utils.login(self.ea) if (result == 0 or result == 1): self.ea.loggedin = True self.assertTrue((result == 0), 'Emergency admin unable to log in') print 'Sleeping for 2 secs.................' time.sleep(2)
def test_valid_license(self): # Install license for five users and set the value of maxUsers self.maxUsers = db_utils.addFiveUserLicense(self.connection, self.cur) print 'License installed for %d users' % self.maxUsers # Empty list to be filled with user objects self.users = [] maxAdmins = self.maxUsers + 5 print 'Maximum number of administrators = %d' % maxAdmins count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) print 'Max users allowed: %d' % self.maxUsers print 'Max administrators allowed: %d' % maxAdmins print 'Number of users already logged in: %d' % count print 'Opening browsers........' for admin in self.admins: # For each administrator, create a user object and add object to users list self.users.append(um_utils.user(admin, 'quantel@')) # Set up emergency admin user self.ea = um_utils.user('emergencyadmin', 'faelj*34#7k89@jkl') # Keep logging in users until maxAdmins has been reached. for user in self.users: result = um_utils.login(user) if (result == 0 or result == 1): user.loggedin = True count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) # Try and log in as emergency admin print '\tNumber of active users (max: %d): %d' % (maxAdmins, count) result = um_utils.login(self.ea) if (result == 0 or result == 1): self.ea.loggedin = True self.assertTrue((result == 0), 'Emergency admin unable to log in') print 'Sleeping for 2 secs.................' time.sleep(2)
def test_logout(self): # log user in um_utils.loginPage(self.user) result = um_utils.login(self.user) if (result == 0): self.user.loggedin = True # Check that user is logged in self.assertTrue(db_utils.isUserLoggedIn(self.connection, self.cur, self.user), 'Test not valid. User is not logged in') print 'Sleeping for 2 secs.................' time.sleep( 2 ) # Try and log user out. um_utils.logout(self.user) self.user.loggedin = db_utils.isUserLoggedIn(self.connection, self.cur, self.user) # Check user is no longer logged in self.assertFalse((db_utils.isUserLoggedIn(self.connection, self.cur, self.user)), 'User is still logged in' )
def test_editors(self): self.user = um_utils.user(self.editor, 'quantel@') result = um_utils.login(self.user) print 'Result = %d' % result if (result == 0 or result == 1): self.user.loggedin = True self.assertTrue((result == 0 or result == 1), 'Test Failed: User could not log in.') # Delete all existing licenses db_utils.deleteAllLicenses(self.connection, self.cur) for x in range(0, 5): # Check user every minute to see if still logged in print 'Sleeping for 60 secs.................' time.sleep(60) # Check that user is still logged in if (db_utils.isUserLoggedIn(self.connection, self.cur, self.user)): print 'User still logged in after %d minutes' % (x + 1) self.assertTrue( (db_utils.isUserLoggedIn(self.connection, self.cur, self.user)), 'Test Failed: User has been logged out after %d minutes' % (x + 1)) # If still logged in after five minutes, wait another 120 seconds and check that user has been logged out print 'Sleeping for 120 secs.................' time.sleep(120) if (db_utils.isUserLoggedIn(self.connection, self.cur, self.user) == False): print 'User has been successfully logged out' self.assertFalse( db_utils.isUserLoggedIn(self.connection, self.cur, self.user), 'Test Failed: User has not been logged out after seven minutes') print 'Sleeping for 2 secs.................' time.sleep(2)
def test_administrators(self): # Empty list to be filled with user objects self.users = [] maxAdmins = self.maxUsers + 5 print 'Maximum number of administrators = %d' % maxAdmins count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) print 'Max users allowed: %d' % self.maxUsers print 'Max administrators allowed: %d' % maxAdmins print 'Number of users already logged in: %d' % count print 'Opening browsers........' for admin in self.admins: # For each administrator, create a user object and add object to users list self.users.append(um_utils.user(admin, 'quantel@')) # Keep trying to log in each of the editors. Once the max number of users have been logged in, no further logins should be allowed. for user in self.users: result = um_utils.login(user) if (result == 0 or result == 1): user.loggedin = True self.assertTrue(( db_utils.getNumberOfActiveUsers(self.connection, self.cur) > 0 ), 'Test Failed: Check that you are using the correct SQL DB!!!!!!.' ) count = db_utils.getNumberOfActiveUsers(self.connection, self.cur) if ( result == 3 ): # Maximum number of users are logged in. Check that the number logged in is correct. self.assertFalse((count < maxAdmins), 'Test Failed: User should be able to log in.') print '\tNumber of active users (max: %d): %d' % (maxAdmins, count) self.assertFalse((count > maxAdmins), 'Test Failed: Max number of users exceded.') print 'Sleeping for 2 secs.................' time.sleep(2)