Пример #1
0
class LoginTestCase(unittest.TestCase):
    '''A class used to run tests on the Users class in models.py.  '''


    def setUp(self):
        '''Creating an object from the models.py file for the class Users.  '''
        self.user = Users()

    def test_login_entry_happy_path(self):
        '''A method to test that the login in works with the right inputs.  '''
        self.user.users.clear()
        self.user.create_user("user1", "*****@*****.**", "password1", "password1")
        boolean_for_login_user = self.user.login_user("*****@*****.**", "password1")
        self.assertEqual(boolean_for_login_user, True)

    def test_login_entry_sad_path_1(self):
        '''A method to test that login does not work with wrong input of user email.  '''
        self.user.users.clear()
        self.user.create_user("user1", "*****@*****.**", "password1", "password1")
        boolean_for_login_user = self.user.login_user("*****@*****.**", "password1")
        self.assertEqual(boolean_for_login_user, None)

    def test_login_entry_sad_path_2(self):
        '''A method to test that login does not work with wrong input of password.  '''
        self.user.users.clear()
        self.user.create_user("user1", "*****@*****.**", "password1", "password1")
        boolean_for_login_user = self.user.login_user("*****@*****.**", "password2")
        self.assertEqual(boolean_for_login_user, None)

    def test_login_sets_right_user_id(self):
        '''A method to test that the right user id is set on login.  '''
        self.user.users.clear()
        self.user.create_user("user1", "*****@*****.**", "password1", "password1")
        self.user.create_user("user2", "*****@*****.**", "password2", "password2")
        self.user.create_user("user3", "*****@*****.**", "password3", "password3")
        self.user.login_user("*****@*****.**", "password3")
        self.assertEqual(models.USER_ID, 2)
        self.user.login_user("*****@*****.**", "password2")
        self.assertEqual(models.USER_ID, 1)
        self.user.login_user("*****@*****.**", "password1")
        self.assertEqual(models.USER_ID, 0)
Пример #2
0
def register_user():
    '''Route to register a user'''
    user_data = request.get_json()
    email = user_data.get('email')
    username = user_data.get('username')
    password = user_data.get('password')
    data = {"username": username, "email": email, "password": password}

    if validate.inputs(data):
        return jsonify(validate.inputs(data)), 406

    if validate.pattern(data):
        return jsonify(validate.pattern(data)), 406

    if validate.existing(data):
        return jsonify(validate.existing(data)), 409

    else:
        new_user = Users(email, username, password)
        new_user.create_user()
        response = {
            'message': "Account successfully registered. Log In to access."
        }
        return make_response(jsonify(response['message'])), 201
class RegisterTestCase(unittest.TestCase):
    '''A class to test the registering function of the users for the bucket list.  '''
    def setUp(self):
        '''Creating an object of the Users class.  '''
        self.user = Users()

    def test_create_user_happy_path(self):
        '''A method to test that a user was created successfully with all inputs
        inserted correctly according to standards required.
        '''
        self.user.users.clear()
        self.user.create_user("user4", "*****@*****.**", "password2",
                              "password2")
        self.assertEqual(self.user.users[0].user_name, "user4")
        self.assertEqual(self.user.users[0].user_email, "*****@*****.**")
        self.assertEqual(self.user.users[0].user_password, "password2")

    def test_create_user_sad_path(self):
        '''A method to test that a user was not created with non-matching passwords.  '''
        self.user.users.clear()
        self.user.create_user("user2", "*****@*****.**", "password1",
                              "password2")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_2(self):
        '''A method to test that a user was not created with an empty user-name.  '''
        self.user.users.clear()
        self.user.create_user("", "*****@*****.**", "password1", "password2")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_3(self):
        '''A method to test that a user was not created with an empty password.  '''
        self.user.users.clear()
        self.user.create_user("user2", "*****@*****.**", "", "")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_4(self):
        '''A method to test that a user was not created with an empty email.  '''
        self.user.users.clear()
        self.user.create_user("user2", "", "ppp", "ppp")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_5(self):
        '''A method to test that a second user was not created with a similar user-name
        as the first user.
        '''
        self.user.users.clear()
        self.user.create_user("user4", "*****@*****.**", "password2",
                              "password2")
        self.user.create_user("user4", "*****@*****.**", "password3",
                              "password3")
        self.assertEqual(len(self.user.users), 1)

    def test_create_user_sad_path_6(self):
        '''A method to test that a second user was not created with a similar email as the
        first user.
        '''
        self.user.users.clear()
        self.user.create_user("user1", "*****@*****.**", "password2",
                              "password2")
        self.user.create_user("user4", "*****@*****.**", "password3",
                              "password3")
        self.assertEqual(len(self.user.users), 1)
class RegisterTestCase(unittest.TestCase):
    '''A class to test the registering function of the users for the bucket list.  '''


    def setUp(self):
        '''Creating an object of the Users class.  '''
        self.user = Users()

    def test_create_user_happy_path(self):
        '''A method to test that a user was created successfully with all inputs
        inserted correctly according to standards required.
        '''
        self.user.users.clear()
        self.user.create_user("user4", "*****@*****.**", "password2", "password2")
        self.assertEqual(self.user.users[0].user_name, "user4")
        self.assertEqual(self.user.users[0].user_email, "*****@*****.**")
        self.assertEqual(self.user.users[0].user_password, "password2")

    def test_create_user_sad_path(self):
        '''A method to test that a user was not created with non-matching passwords.  '''
        self.user.users.clear()
        self.user.create_user("user2", "*****@*****.**", "password1", "password2")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_2(self):
        '''A method to test that a user was not created with an empty user-name.  '''
        self.user.users.clear()
        self.user.create_user("", "*****@*****.**", "password1", "password2")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_3(self):
        '''A method to test that a user was not created with an empty password.  '''
        self.user.users.clear()
        self.user.create_user("user2", "*****@*****.**", "", "")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_4(self):
        '''A method to test that a user was not created with an empty email.  '''
        self.user.users.clear()
        self.user.create_user("user2", "", "ppp", "ppp")
        self.assertEqual(len(self.user.users), 0)

    def test_create_user_sad_path_5(self):
        '''A method to test that a second user was not created with a similar user-name
        as the first user.
        '''
        self.user.users.clear()
        self.user.create_user("user4", "*****@*****.**", "password2", "password2")
        self.user.create_user("user4", "*****@*****.**", "password3", "password3")
        self.assertEqual(len(self.user.users), 1)

    def test_create_user_sad_path_6(self):
        '''A method to test that a second user was not created with a similar email as the
        first user.
        '''
        self.user.users.clear()
        self.user.create_user("user1", "*****@*****.**", "password2", "password2")
        self.user.create_user("user4", "*****@*****.**", "password3", "password3")
        self.assertEqual(len(self.user.users), 1)