Exemplo n.º 1
0
    def save_user(self):
        """
        Save user to database.

        params:
            user_info: dict
        returns:
            bloolean
        """
        try:
            email = self.user_info['email']
            name = self.user_info['name']
            picture = self.user_info['picture']
            user = User.query.filter_by(email=email).first()
            role = Role.query.filter_by(role='Default User').first()
            if not role:
                role = Role(role='Default User')
                role.save()

            if not user:
                try:
                    user_data = User(email=email, name=name, picture=picture)
                    user_data.roles.append(role)
                    user_data.save()
                    notification_settings = NotificationModel(
                        user_id=user_data.id)
                    notification_settings.save()
                except Exception as e:  # noqa
                    db_session.rollback()
        except SQLAlchemyError:
            pass
        return True
Exemplo n.º 2
0
    def setUp(self):
        app = self.create_app()
        self.app_test = app.test_client()
        with app.app_context():
            Base.metadata.create_all(bind=engine)
            command.stamp(self.alembic_configuration, 'head')
            command.downgrade(self.alembic_configuration, '-1')
            command.upgrade(self.alembic_configuration, 'head')
            user = User(fullname="doe jon",
                        username="******",
                        email="*****@*****.**")

            user.save()
            challenge = Challenge(title="zanku challenge",
                                  start_date="2019-08-15 06:00:49.303402",
                                  end_date="2019-08-15 06:00:49.303402",
                                  description="*****@*****.**",
                                  image="https://picsum.photos/200",
                                  prize="10000")

            challenge.save()
            contestant = Contestant(challenge=1,
                                    contestant=2,
                                    state="subscribed")

            contestant.save()
            challenge_entry = ChallengeEntry(contestant_id=2,
                                             challenge_id=1,
                                             file_url="http://foobar.hj")
            challenge_entry.save()
Exemplo n.º 3
0
def create_user():
    user = User(email="*****@*****.**",
                location="Lagos",
                name="test test",
                picture="www.andela.com/test")
    user.save()
    db_session().commit()
Exemplo n.º 4
0
    def test_paginate__users_query(self):
        user = User(email='*****@*****.**',
                    name="test test",
                    picture="www.andela.com/test")
        user.save()

        self.client.execute(user_query, context_value={'session': db_session})

        CommonTestCases.admin_token_assert_equal(self, paginated_users_query,
                                                 paginated_users_response)
Exemplo n.º 5
0
 def func_wrapper(self):
     headers = {"Authorization": "Bearer" + " " + USER_TOKEN}
     user = User(email='*****@*****.**',
                 name='this user',
                 location="Nairobi",
                 picture='www.andela.com/user')
     user.save()
     user.roles.append(role)
     db_session().commit()
     return headers
Exemplo n.º 6
0
def create_user():
    user = User(email='*****@*****.**',
                location="Kampala",
                name="test test",
                picture="www.andela.com/testuser")
    user.save()
    role = base.role
    user.roles.append(role)
    db_session().commit()
    return user
Exemplo n.º 7
0
 def func_wrapper(self):
     user_role = Role(role='Default User')
     user_role.save()
     user = User(email='*****@*****.**',
                 name='Test user',
                 location="Lagos",
                 picture='www.andela.com/testuser')
     user.save()
     user.roles.append(user_role)
     db_session().commit()
Exemplo n.º 8
0
    def test_user_delete_admin(self):
        admin_user = User(email="*****@*****.**",
                          location="Kampala",
                          name="test test",
                          picture="www.andela.com/test")
        admin_user.save()
        role = base.role
        admin_user.roles.append(role)

        CommonTestCases.user_token_assert_in(
            self, delete_user, "You are not authorized to perform this action")
Exemplo n.º 9
0
 def func_wrapper(self):
     headers = {"Authorization": "Bearer" + " " + user_api_token}
     user = User(email='*****@*****.**',
                 name='this user',
                 location="Nairobi",
                 picture='www.andela.com/user')
     user.save()
     user_role = UsersRole(user_id=user.id, role_id=1)
     user_role.save()
     db_session().commit()
     return headers
Exemplo n.º 10
0
    def test_user_delete_admin(self):
        admin_user = User(email="*****@*****.**",
                          location="Kampala",
                          name="test test",
                          picture="www.andela.com/test")
        admin_user.save()
        user_role = UsersRole(user_id=admin_user.id, role_id=1)
        user_role.save()

        CommonTestCases.user_token_assert_in(
            self, delete_user, "You are not authorized to perform this action")
Exemplo n.º 11
0
    def test_query_users_by_email(self):
        user = User(email='*****@*****.**',
                    name="test test",
                    picture="www.andela.com/test")
        user.save()
        db_session().commit()

        execute_query = self.client.execute(
            query_user_by_email, context_value={'session': db_session})

        expected_responese = query_user_email_response
        self.assertEqual(execute_query, expected_responese)
Exemplo n.º 12
0
    def test_deleteuser_when_admin(self):
        user = User(email="*****@*****.**",
                    location="Kampala",
                    name="test test",
                    picture="www.andela.com/test")
        user.save()
        role = Role(role="Default User")
        role.save()
        user.roles.append(role)

        CommonTestCases.admin_token_assert_equal(self, delete_user_2,
                                                 expected_query_after_delete)
Exemplo n.º 13
0
    def test_change_user_role(self):
        user = User(email='*****@*****.**',
                    location="Kampala",
                    name="test test",
                    picture="www.andela.com/testuser")
        user.save()
        user_role = UsersRole(user_id=user.id, role_id=1)
        user_role.save()
        db_session().commit()

        CommonTestCases.admin_token_assert_equal(
            self, change_user_role_mutation_query,
            change_user_role_mutation_response)
Exemplo n.º 14
0
    def test_query_users(self):
        """
        Testing for User creation
        """
        user = User(email='*****@*****.**',
                    name="test test",
                    picture="www.andela.com/test")
        user.save()

        execute_query = self.client.execute(
            user_query, context_value={'session': db_session})

        expected_response = user_query_response
        self.assertEqual(execute_query, expected_response)
Exemplo n.º 15
0
    def test_query_users_role_by_role(self):
        user = User(email='*****@*****.**',
                    location="Lagos",
                    name="test test",
                    picture="www.andela.com/testuser")
        user.save()
        role = base.role
        user.roles.append(role)
        db_session().commit()

        execute_query = self.client.execute(
            query_user_by_user_email, context_value={'session': db_session})

        expected_response = query_user_by_user_email_response
        self.assertEqual(execute_query, expected_response)
Exemplo n.º 16
0
    def test_query_users_role_by_role(self):
        user = User(email='*****@*****.**',
                    location="Lagos",
                    name="test test",
                    picture="www.andela.com/testuser")
        user.save()
        user_role = UsersRole(user_id=user.id, role_id=1)
        user_role.save()
        db_session().commit()

        execute_query = self.client.execute(
            query_user_by_user_id, context_value={'session': db_session})

        expected_response = query_user_by_user_id_response
        self.assertEqual(execute_query, expected_response)
Exemplo n.º 17
0
    def mutate(self, info, **kwargs):
        validate_entity_types(['admin', 'citizen', 'politician'], 'user_type',
                              **kwargs)  # noqa
        user = UserModel(**kwargs)

        if not verify_email(user.email):
            raise GraphQLError("This email is not allowed")
        payload = {
            'model': UserModel,
            'field': 'email',
            'value': kwargs['email']
        }
        with SaveContextManager(user, 'User email', payload):
            token = user.generate_token()
            return CreateUser(user=user, token=token)
Exemplo n.º 18
0
    def test_user_role_creation(self):
        """
        Testing for User Role creation
        """
        user = User(email="*****@*****.**", location="Lagos",
                    name="test test",
                    picture="www.andela.com/test")
        user.save()
        db_session().commit()

        execute_query = self.client.execute(
            user_role_mutation_query,
            context_value={'session': db_session})

        expected_responese = user_role_mutation_response
        self.assertEqual(execute_query, expected_responese)
Exemplo n.º 19
0
 def setUp(self):
     app = self.create_app()
     self.app_test = app.test_client()
     with app.app_context():
         Base.metadata.create_all(bind=engine)
         admin_user = User(email="*****@*****.**",
                           location="Kampala",
                           name="Peter Walugembe",
                           picture="https://www.andela.com/walugembe")
         admin_user.save()
         role = Role(role="Admin")
         role.save()
         user_role = UsersRole(user_id=admin_user.id, role_id=role.id)
         user_role.save()
         location = Location(name='Kampala', abbreviation='KLA')
         location.save()
         location_two = Location(name='Nairobi', abbreviation='NBO')
         location_two.save()
         office = Office(name="St. Catherines", location_id=location.id)
         office.save()
         office_two = Office(name="dojo", location_id=location_two.id)
         office_two.save()
         block = Block(name='EC', office_id=office.id)
         block.save()
         floor = Floor(name='3rd', block_id=block.id)
         floor.save()
         room = Room(
             name='Entebbe',
             room_type='meeting',
             capacity=6,
             floor_id=floor.id,
             calendar_id=
             '*****@*****.**',  # noqa: E501
             image_url=
             "https://www.officelovin.com/wp-content/uploads/2016/10/andela-office-main-1.jpg"
         )  # noqa: E501
         room.save()
         resource = Resource(name='Markers', quantity=3, room_id=room.id)
         resource.save()
         device = Devices(resource_id=resource.id,
                          last_seen="2018-06-08T11:17:58.785136",
                          date_added="2018-06-08T11:17:58.785136",
                          name="Samsung",
                          location="Nairobi",
                          device_type="External Display")
         device.save()
         db_session.commit()
Exemplo n.º 20
0
    def test_query_users_role(self):
        """
        Testing for query User role
        """
        user = User(email="*****@*****.**",
                    location="Lagos",
                    name="test test",
                    picture="www.andela.com/testuser")
        user.save()

        user.roles.append(user_role)
        db_session().commit()

        execute_query = self.client.execute(
            user_role_query, context_value={'session': db_session})
        expected_responese = user_role_query_response
        self.assertEqual(execute_query, expected_responese)
Exemplo n.º 21
0
def create_user():
    user = User(email=request.form.get('email'),
                name=request.form.get('name'),
                password=request.form.get('password'))

    db.session.add(user)
    db.session.commit()

    return 'Successfully created user'
Exemplo n.º 22
0
    def mutate(self, info, **kwargs):
        query_user = User.get_query(info)
        existing_user = query_user.filter_by(email=kwargs['email']).first()

        if existing_user:
            token = existing_user.generate_token()
            return CreateUser(user=existing_user, token=token)
        user = UserModel(**kwargs)
        if user.email and not verify_email(user.email):
            raise GraphQLError("This email is not allowed")
        payload = {
            'model': UserModel,
            'field': 'email',
            'value': kwargs['email'],  # noqa
        }
        with SaveContextManager(user, 'email', payload):
            token = user.generate_token()
            return CreateUser(user=user, token=token)
Exemplo n.º 23
0
Arquivo: base.py Projeto: KMaina/S.C.M
    def setUp(self):
        app = self.create_app()
        self.app_test = app.test_client()

        with app.app_context():
            Base.metadata.create_all(bind=engine)
            command.stamp(self.alembic_configuration, 'head')
            # command.downgrade(self.alembic_configuration, '-1')
            command.upgrade(self.alembic_configuration, 'head')

            user = User(name="Ken", password="******", user_type='default')
            user.save()
            product = Product(name="Eggs",
                              manufacturer="none",
                              price=200,
                              tax=0,
                              UOM="none",
                              user_id="1")
            product.save()
            db_session.commit()
Exemplo n.º 24
0
            def wrapper(*args, **kwargs):
                auth_header = request.headers.get('Authorization')
                auth_token = auth_header.split(" ")[1]
                user_type = User.decode_token(auth_token).get('user_type')

                if user_type in expected_args:
                    res = fn(*args, **kwargs)
                    return res
                else:
                    raise GraphQLError(
                        "You are not authorized to perform this action"
                    )
Exemplo n.º 25
0
        def wrapper(*args, **kwargs):
            if 'Authorization' not in request.headers:
                raise GraphQLError('Token not provided or is invalid.')

            user_id = None
            auth_header = request.headers.get('Authorization')
            if auth_header and len(auth_header.split(" ")) == 2:
                auth_token = auth_header.split(" ")[1]
            else:
                auth_token = ''

            try:
                user_id = User.decode_token(auth_token).get('id')
                user_type = User.decode_token(auth_token).get('user_type')

                g.user_id = user_id
                g.user_type = user_type
            except (jwt.ExpiredSignatureError, jwt.InvalidTokenError):
                raise GraphQLError('Token not provided or is invalid.')

            return fn(*args, **kwargs)
    def seed_data(apps, schema_editor):
        user = User(name='boris',
                    email='*****@*****.**',
                    is_staff=True,
                    is_superuser=True,
                    gender='Male')

        user.set_password('1234qwe')
        user.save()
Exemplo n.º 27
0
 def seed_data(apps, schema_editor):
     user = User(
         name='sagar',
         email='*****@*****.**',
         is_staff=True,
         is_superuser=True,
     )
     user.set_password('12345')
     user.save()
Exemplo n.º 28
0
 def seed_data(apps, schema_editor):
     user = User(name='Sumit',
                 email='*****@*****.**',
                 is_staff=True,
                 is_superuser=True,
                 phone='9876543210',
                 gender="Male",
                 address="17, Mayur Park Society")
     user.set_password('1234')
     user.save()
Exemplo n.º 29
0
    def save_user(self,  email, *expected_args):  # noqa: C901
        """
        Save user to database.
        params:
            user_info: dict
        returns:
            bloolean
        """
        try:
            email = self.user_info['email']
            name = self.user_info['name']
            picture = self.user_info['picture']
            user = User.query.filter_by(email=email).first()
            role = Role.query.filter_by(role='Default User').first()
            if not role:
                role = Role(role='Default User')
                role.save()

            if not user:
                try:
                    response = self.get_user_details_from_api(
                        email, *expected_args)
                    user_data = User(email=email, name=name, picture=picture)
                    user_data.roles.append(role)

                    for value in response['values']:
                        if user_data.email == value["email"]:
                            if value['location']:  # pragma: no cover
                                check_and_add_location(
                                    value['location']['name'])
                    notification_settings = NotificationModel(
                        user_id=user_data.id)
                    notification_settings.save()
                except Exception as e:  # noqa
                    db_session.rollback()
        except SQLAlchemyError:  # pragma: no cover
            pass
        return True
Exemplo n.º 30
0
def return_logged_in_users_id():
    auth_header = request.headers.get('Authorization')
    auth_token = auth_header.split(" ")[1]
    user_id = User.decode_token(auth_token).get('id')
    return user_id