コード例 #1
0
    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
コード例 #2
0
    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"]
コード例 #3
0
    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
コード例 #4
0
    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)
コード例 #5
0
    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
コード例 #6
0
ファイル: routes.py プロジェクト: Mike-Huber/Projects
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')
コード例 #7
0
    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
コード例 #8
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'))
コード例 #9
0
ファイル: routes.py プロジェクト: Mike-Huber/Projects
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')
コード例 #10
0
ファイル: test_web.py プロジェクト: starrn1/SEWiki
 def test_is_anonymous(self):
     m = UserManager(TEST_FILE_PATH)
     u = m.get_user('name')
     self.assertFalse(u.is_anonymous())
コード例 #11
0
ファイル: test_web.py プロジェクト: starrn1/SEWiki
 def test_get_id(self):
     m = UserManager(TEST_FILE_PATH)
     u = m.get_user('name')
     self.assertEqual('name', u.get_id())
コード例 #12
0
ファイル: test_web.py プロジェクト: starrn1/SEWiki
 def test_is_authenticated(self):
     m = UserManager(TEST_FILE_PATH)
     u = m.get_user('name')
     self.assertTrue(u.is_authenticated())
コード例 #13
0
ファイル: test_web.py プロジェクト: starrn1/SEWiki
 def test_is_active(self):
     m = UserManager(TEST_FILE_PATH)
     u = m.get_user('name')
     self.assertTrue(u.is_active())
コード例 #14
0
ファイル: test_web.py プロジェクト: starrn1/SEWiki
 def test_get(self):
     m = UserManager(TEST_FILE_PATH)
     u = m.get_user('name')
     self.assertIsNotNone(u.get('password'))
コード例 #15
0
ファイル: test_web.py プロジェクト: starrn1/SEWiki
 def test_get_user(self):
     m = UserManager(TEST_FILE_PATH)
     self.assertIsNotNone(m.get_user('name'))
コード例 #16
0
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)
コード例 #17
0
 def test_get_user(self):
     m = UserManager(TestFilePath)
     self.assertIsNotNone(m.get_user('liam'))
コード例 #18
0
ファイル: test_web.py プロジェクト: starrn1/SEWiki
 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'))
コード例 #19
0
# 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"
コード例 #20
0
 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'))