예제 #1
0
    def test_user_follow_duplicate(self):
        bob = User(username="******", email="*****@*****.**")
        bob.set_password("hunter2")
        bob.save()
        bob.follow(self.user)

        with self.assertRaises(Exception):
            bob.follow(self.user)
예제 #2
0
    def test_user_is_following(self):
        bob = User(username="******", email="*****@*****.**")
        bob.set_password("hunter2")
        bob.save()

        self.assertFalse(bob.is_following(self.user))
        bob.follow(self.user)
        self.assertTrue(bob.is_following(self.user))
예제 #3
0
    def test_user_unfollow_error(self):
        bob = User(username="******", email="*****@*****.**")
        bob.set_password("hunter2")
        bob.save()

        with self.assertRaises(Exception):
            bob.unfollow(self.user)
예제 #4
0
    def test_redirect_logged_in_post(self):
        user = User(username='******', email='*****@*****.**')
        user.set_password('password')
        db.session.add(user)
        db.session.commit()
        self.loginForm2 = dict(username='******',
                               email='*****@*****.**',
                               password='******')

        with self.client:
            self.client.post('/login', data=self.loginForm)
            result = self.client.post('/login', data=self.loginForm2)
            self.assertRedirects(result, url_for('index'))
            self.assertEquals(current_user.username,
                              self.loginForm['username'])
예제 #5
0
    def test_user_follow(self):
        bob = User(username="******", email="*****@*****.**")
        bob.set_password("hunter2")
        bob.save()
        bob.follow(self.user)

        self.assertTrue(
            bob.followed.filter(
                followers.c.followed_id == self.user.id).count() > 0)
        self.assertTrue(bob.followed.all()[0].username == "user")
예제 #6
0
class BaseCase(TestCase):
    def create_app(self):
        app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://'
        app.config['TESTING'] = True
        app.config['WTF_CSRF_ENABLED'] = False
        app.config['UPLOAD_FOLDER'] = "./tests/uploads/"
        return app

    def setUp(self):
        db.create_all()
        self.client = app.test_client()
        # Register data
        self.registerForm = dict(username='******',
                                 email='*****@*****.**',
                                 password='******',
                                 password2='pass')

        # Existing user
        self.user = User(username='******', email='*****@*****.**')
        self.user.set_password('password')
        db.session.add(self.user)
        db.session.commit()
        self.loginForm = dict(username='******',
                              email='*****@*****.**',
                              password='******')

        # Create upload folder
        if not os.path.exists('./tests/uploads/'):  #pragma: no cover
            os.makedirs('./tests/uploads/')

    def tearDown(self):
        db.session.remove()
        db.drop_all()

        # Delete files in upload folder
        folder = './tests/uploads/'
        for the_file in os.listdir(folder):
            file_path = os.path.join(folder, the_file)
            try:
                if os.path.isfile(file_path):  #pragma: no cover
                    os.unlink(file_path)
                #elif os.path.isdir(file_path): shutil.rmtree(file_path)
            except Exception as e:  #pragma: no cover
                print(e)
예제 #7
0
    def setUp(self):
        db.create_all()
        self.client = app.test_client()
        # Register data
        self.registerForm = dict(username='******',
                                 email='*****@*****.**',
                                 password='******',
                                 password2='pass')

        # Existing user
        self.user = User(username='******', email='*****@*****.**')
        self.user.set_password('password')
        db.session.add(self.user)
        db.session.commit()
        self.loginForm = dict(username='******',
                              email='*****@*****.**',
                              password='******')

        # Create upload folder
        if not os.path.exists('./tests/uploads/'):  #pragma: no cover
            os.makedirs('./tests/uploads/')
예제 #8
0
    def test_user_save(self):
        user = User(username="******", email="*****@*****.**")
        user.set_password("hunter2")
        self.assertFalse(user_exists("bob"))
        user.save()

        self.assertTrue(user_exists("bob"))
예제 #9
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        user.save()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('register.html', form=form)
예제 #10
0
    def test_user_get_following(self):
        bob = User(username="******", email="*****@*****.**")
        bob.set_password("hunter2")
        bob.save()

        user2 = User(username="******", email="*****@*****.**")
        user2.set_password("hunter2")
        user2.save()

        bob.follow(self.user)
        bob.follow(user2)

        self.assertTrue(bob.get_following() == [self.user, user2])
예제 #11
0
 def test_password_hash(self):
     user = User(username="******", email="*****@*****.**")
     user.set_password("password")
     self.assertFalse(user.check_password("hunter12"))
     self.assertTrue(user.check_password("password"))