def test_add_update_delete_user(self): """ Ensure users are added to the database correctly """ manager = UserManager("hash", "tests") #Add Users manager.add_user("testUserAdd", "password", True, [], "cleartext") manager.add_user("testUserAddWithRoles", "password2", True, ["testAddRole1", "testAddRole2"], "cleartext") user = manager.get_user("testUserAdd") assert user is not None assert user.name == "testUserAdd" assert user.get("password") == "password" assert user.get("roles") == [] user2 = manager.get_user("testUserAddWithRoles") assert user2 is not None assert user2.name == "testUserAddWithRoles" assert user2.get("password") == "password2" assert user2.get("roles") == ["testAddRole1", "testAddRole2"] #Update Users userdata = {} userdata["password"] = "******" userdata["authenticated"] = 0 userdata["active"] = 1 userdata["authentication_method"] = "cleartext" userdata["roles"] = ["testRoleUpdate"] manager.update("testUserAdd", userdata) user = manager.get_user("testUserAdd") assert user is not None assert user.name == "testUserAdd" assert user.get("password") == "password" assert user.get("roles") == ["testRoleUpdate"] #Delete Users manager.delete_user("testUserAdd") manager.delete_user("testUserAddWithRoles") user = manager.get_user("testUserAdd") user2 = manager.get_user("testUserAddWithRoles") assert user is None assert user2 is None
def test_get_user(self): """ Assert that users are retrieved and data is correct """ manager = UserManager("hash", "tests") user = manager.get_user("testUser1") assert user is not None assert user.name == "testUser1" assert user.get("password") == "password1" assert user.get("roles") == [] user2 = manager.get_user("testUser2") assert user2 is not None assert user2.name == "testUser2" assert user2.get("password") == "password2" assert user2.get("roles") == ["testRole1", "testRole2"]
def test_user_delete(self): """ Tests deleting a user """ username = "******" password = "******" um = UserManager("") cleartext_user = um.add_user(username, password, True, ["admin"], "cleartext") assert um.get_user(username) is not None um.delete_user(username) assert um.get_user(username) is None assert um.delete_user("user never has been created") is False
def test_add_favorite(self): """ Make sure the add favorite works """ manager = UserManager("hash", "tests") user = manager.get_user("testUser1") url = "testURL" title = "testTitle" favorite = Favorites() response = favorite.add_favorite(user.name, url, title) assert True (response)
def test_user_get(self): """ Tests creating a user with cleartext password """ username = "******" password = "******" um = UserManager("") cleartext_user = um.add_user(username, password, True, ["admin"], "cleartext") assert um.get_user(username) is not None
def user_create(): user = UserManager('') if request.method == 'GET': return render_template('user_add.html') elif request.method == 'POST': username = request.form['username'] password = request.form['password'] if not username: flash('Username cannot be blank!', 'failure') elif not password: flash('Password cannot be blank!', 'failure') else: user.add_user(username, password) if user.get_user(username): print user.get_user(username).name flash('Created user successfully', 'success') else: flash('Error creating user, try again', 'failure') return render_template('settings.html') else: flash('Something went horribly wrong, redirected to home page.', 'failure') return render_template('home.html')
def test_get_favorites(self): """ Make sure the get favorites works """ manager = UserManager("hash", "tests") user = manager.get_user("testUser1") url = "testURL" title = "testTitle" favorite = Favorites() favorite.add_favorite(user.name, "test", "test") fav_pages = favorite.get_favorites(user.name) size = len(fav_pages) assert size > 0
def user_update(user_name): usermanager = UserManager(current_app.config["USER_DIR"]) user = usermanager.get_user(user_name) form = UserForm() if form.validate_on_submit(): if form.admin.data: userdata = {"active": True, "authentication_method": "cleartext", "password":form.password.data, "authenticated": True, "roles":['admin']} else: userdata = {"active": True, "authentication_method": "cleartext", "password":form.password.data, "authenticated": True, "roles":[]} usermanager.update(user_name, userdata) return redirect(url_for("wiki.user_index")) return render_template('update.html', form = form, user_name = user_name, password = user.get('password'))
def delete_user(): user = UserManager('') if request.method == 'GET': return render_template('user_delete.html') elif request.method == 'POST': username = request.form['username'] if not user.get_user(username): flash('Deleted user successfully', 'success') user.delete_user(username) else: flash('Error deleting user', 'failure') return render_template('settings.html') else: flash('Something went horribly wrong, redirected to home page.', 'failure') return render_template('home.html')
def test_is_anonymous(self): m = UserManager(TEST_FILE_PATH) u = m.get_user('name') self.assertFalse(u.is_anonymous())
def test_get_id(self): m = UserManager(TEST_FILE_PATH) u = m.get_user('name') self.assertEqual('name', u.get_id())
def test_is_authenticated(self): m = UserManager(TEST_FILE_PATH) u = m.get_user('name') self.assertTrue(u.is_authenticated())
def test_is_active(self): m = UserManager(TEST_FILE_PATH) u = m.get_user('name') self.assertTrue(u.is_active())
def test_get(self): m = UserManager(TEST_FILE_PATH) u = m.get_user('name') self.assertIsNotNone(u.get('password'))
def test_get_user(self): m = UserManager(TEST_FILE_PATH) self.assertIsNotNone(m.get_user('name'))
parser = argparse.ArgumentParser( description="Subscribe to a page in Megatroniki.") parser.add_argument('page', metavar='PAGE', type=str, nargs=1, help="name of page to subscribe to") parser.add_argument('user', metavar='USERNAME', type=str, nargs=1, help="name of user subscribing") parser.add_argument('--subscribe', dest='email', action='store_const', const=subscribe, default=subscribe, help="subscribe the user to the page") args = parser.parse_args() manager = UserManager('user') userObj = manager.get_user(args.user[0]) subscribe(args.page[0], userObj)
def test_get_user(self): m = UserManager(TestFilePath) self.assertIsNotNone(m.get_user('liam'))
def test_check_password(self): m = UserManager(TEST_FILE_PATH) u = m.get_user('name') self.assertTrue(u.check_password('1234')) self.assertFalse(u.check_password('dingdong'))
# Check if the file was converted. if os.path.exists(filename): print("Pass - feature 2 - wiki to pdf") else: print("Fail - feature 2 - wiki to pdf") # Feature 3 - Create new user # Create a new wiki user. with app.app_context(): makeUser() # Set up UserManager to check list of users. with app.app_context(): newUser = UserManager('user') user = newUser.get_user('test') # Check if the test user exists. if user is not None: print("Pass - feature 3 - user creation") else: print("Fail - feature 3 - user creation") # Feature 4 - Create PDF and email # Convert the current page to a PDF and email it. with app.app_context(): convertPDF('test') # Store the location where the converted file should be stored. filename = "content/createdpdfs/test.pdf"
def test_user_create_with_hash(self): manager = UserManager(TEST_USER_DIR) manager.add_user('User', 'Password'.encode()) user = manager.get_user('User') self.assertIsNotNone(user) self.assertNotEqual('Password', user.get('hash'))