Esempio 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
Esempio n. 2
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()
Esempio n. 3
0
    def test_query_role_by_role(self):
        role = Role(role='Ops')
        role.save()
        db_session().commit()

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

        expected_responese = query_role_by_role_response
        self.assertEqual(execute_query, expected_responese)
Esempio n. 4
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)
Esempio n. 5
0
    def test_query_role(self):
        """
        Testing for User creation
        """
        role = Role(role='Ops')
        role.save()
        db_session().commit()

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

        expected_responese = role_query_response
        self.assertEqual(execute_query, expected_responese)
Esempio n. 6
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()
Esempio n. 7
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
Esempio n. 8
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')

            admin_user = User(email="*****@*****.**",
                              location="Kampala",
                              name="Peter Walugembe",
                              picture="https://www.andela.com/walugembe")
            admin_user.save()
            lagos_admin = User(email="*****@*****.**",
                               location="Lagos",
                               name="Peter Adeoye",
                               picture="https://www.andela.com/adeoye")
            lagos_admin.save()
            global role
            role = Role(role="Admin")
            role.save()
            admin_user.roles.append(role)
            lagos_admin.roles.append(role)
            tag = Tag(name='Block-B',
                      color='green',
                      description='The description')
            tag.save()
            root_node = OfficeStructure(name='location', tag_id=1)
            root_node.save()
            leaf_node = OfficeStructure(name='wings', parent_id=1)
            leaf_node.save()

            location = Location(name='Kampala',
                                abbreviation='KLA',
                                structure_id=1)
            location.save()
            location_two = Location(name='Nairobi',
                                    abbreviation='NBO',
                                    structure_id=1)
            location_two.save()
            location_three = Location(name='Lagos',
                                      abbreviation='LOS',
                                      structure_id=1)
            location_three.save()
            tag_two = Tag(name='Block-C',
                          color='blue',
                          description='The description')
            tag_two.save()
            room = Room(
                name='Entebbe',
                room_type='meeting',
                capacity=6,
                location_id=location.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()
            room.room_tags.append(tag)
            resource = Resource(name='Markers', quantity=3, room_id=room.id)
            resource.save()
            device = Devices(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()
            question_1 = Question(
                question_type="rate",
                question_title="Rating Feedback",
                question="How will you rate the brightness of the room",
                start_date="20 Nov 2018",
                end_date="28 Nov 2018",
                is_active=True)
            question_1.save()
            question_2 = Question(
                question_type="check",
                question_title="check Feedback",
                question="Is there anything missing in the room",
                start_date="20 Nov 2018",
                end_date="30 Nov 2018",
                is_active=True)
            event = Events(event_id="test_id5",
                           room_id=1,
                           event_title="Onboarding",
                           start_time="2018-07-11T09:00:00Z",
                           end_time="2018-07-11T09:45:00Z",
                           number_of_participants=4,
                           checked_in=False,
                           cancelled=False)
            event.save()
            question_2.save()
            question_3 = Question(question_type="input",
                                  question_title="input Feedback",
                                  question="Any other suggestion",
                                  start_date="20 Nov 2018",
                                  end_date="28 Nov 2018")
            question_3.save()
            response_1 = Response(
                question_id=1,
                room_id=1,
                rate=2,
                created_date=datetime.now(),
                resolved=False,
            )
            response_1.save()
            response_2 = Response(
                question_id=question_2.id,
                room_id=room.id,
                check=True,
                created_date=datetime.now(),
                resolved=True,
            )
            response_2.save()
            response_2.missing_resources.append(resource)
            structure = Structure(
                structure_id='b05fc5f2-b4aa-4f48-a8fb-30bdcc3fc968',
                level=1,
                name='Epic tower',
                parent_id="1",
                parent_title="parent_title",
                tag='Building',
                location_id=1,
                position=1,
            )
            structure.save()
            db_session.commit()
Esempio n. 9
0
from tests.base import BaseTestCase, CommonTestCases, change_user_role_helper
from fixtures.user_role.user_role_fixtures import (
    change_user_role_mutation_query,
    change_unavailable_user_role_mutation_query,
    change_unavailable_user_role_mutation_response, user_role_query,
    user_role_query_response, change_user_role_mutation_response,
    query_user_by_user_email, query_user_by_user_email_response,
    assign_invalid_user_role_mutation, assign_invalid_user_role_response)
from helpers.database import db_session
from api.user.models import User
from api.role.models import Role
import sys
import os
import tests.base as base
sys.path.append(os.getcwd())
user_role = Role(role="Default")


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


class TestQueryUserRole(BaseTestCase):
Esempio n. 10
0
    def setUp(self, mock_verify_calendar_id):
        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')

            admin_user = User(email="*****@*****.**",
                              name="Peter Walugembe",
                              picture="https://www.andela.com/walugembe")
            admin_user.location = "Kampala"
            admin_user.save()
            lagos_admin = User(email="*****@*****.**",
                               location="Lagos",
                               name="Peter Adeoye",
                               picture="https://www.andela.com/adeoye")
            lagos_admin.save()
            global role
            role = Role(role="Admin")
            role.save()
            role_2 = Role(role="Test")
            role_2.save()
            role_3 = Role(role="Super Admin")
            role_3.save()
            admin_user.roles.append(role)
            lagos_admin.roles.append(role)
            tag = Tag(name='Block-B',
                      color='green',
                      description='The description')
            tag.save()

            location = Location(name='Kampala', abbreviation='KLA')
            location.save()
            location_two = Location(name='Nairobi', abbreviation='NBO')
            location_two.save()
            location_three = Location(name='Lagos', abbreviation='LOS')
            location_three.save()
            tag_two = Tag(name='Block-C',
                          color='blue',
                          description='The description')
            tag_two.save()
            room = Room(
                name='Entebbe',
                room_type='meeting',
                capacity=6,
                location_id=location.id,
                structure_id='851ae8b3-48dd-46b5-89bc-ca3f8111ad87',
                calendar_id=
                '*****@*****.**',  # noqa: E501
                image_url=
                "https://www.officelovin.com/wp-content/uploads/2016/10/andela-office-main-1.jpg",  # noqa: E501
                room_labels=["1st Floor", "Wing A"])
            room.save()
            room.room_tags.append(tag)
            room_2 = Room(
                name='Tana',
                room_type='meeting',
                capacity=14,
                location_id=location.id,
                structure_id='851ae8b3-48dd-46b5-89bc-ca3f8111ad87',
                calendar_id=
                '*****@*****.**',  # noqa: E501
                image_url=
                "https://www.officelovin.com/wp-content/uploads/2016/10/andela-office-main-1.jpg",  # noqa: E501
                room_labels=["1st Floor", "Wing B"])
            room_2.save()
            room_2.room_tags.append(tag)
            resource = Resource(name='Markers', quantity=3)
            resource.save()
            device = Devices(last_seen="2018-06-08T11:17:58.785136",
                             date_added="2018-06-08T11:17:58.785136",
                             name="Samsung",
                             location="Kampala",
                             device_type="External Display",
                             room_id=1,
                             state="active")
            device.save()
            question_1 = Question(
                question_type="rate",
                question_title="Rating Feedback",
                question="How will you rate the brightness of the room",
                start_date="20 Nov 2018",
                end_date="28 Nov 2018",
                is_active=True)
            question_1.save()
            question_2 = Question(
                question_type="check",
                question_title="check Feedback",
                question="Is there anything missing in the room",
                check_options=['apple tv', 'whiteboard', 'maker pen'],
                start_date="20 Nov 2018",
                end_date="30 Nov 2018",
                is_active=True)
            event = Events(event_id="test_id5",
                           room_id=1,
                           event_title="Onboarding",
                           start_time="2018-07-11T09:00:00Z",
                           end_time="2018-07-11T09:45:00Z",
                           number_of_participants=4,
                           checked_in=False,
                           cancelled=False)
            event.save()
            question_2.save()
            question_3 = Question(question_type="input",
                                  question_title="input Feedback",
                                  question="Any other suggestion",
                                  start_date="20 Nov 2018",
                                  end_date="28 Nov 2018")
            question_3.save()
            question_4 = Question(question_type="check",
                                  question_title="Missing item",
                                  question="Anything missing in the room?",
                                  check_options=['duster'],
                                  start_date="20 Nov 2018",
                                  end_date="30 Nov 2018",
                                  is_active=True)
            question_4.save()
            response_1 = Response(
                question_id=1,
                room_id=1,
                question_type="rate",
                created_date=datetime.now(),
                response="1",
                resolved=False,
            )
            response_1.save()

            response_2 = Response(
                question_id=question_2.id,
                room_id=room.id,
                question_type="check",
                created_date=datetime.now(),
                response=['marker pen', 'apple tv'],
                resolved=True,
            )
            response_2.save()
            response_2.missing_resources.append(resource)

            response_3 = Response(question_id=question_4.id,
                                  room_id=room_2.id,
                                  question_type="check",
                                  created_date=datetime.now(),
                                  response=['duster'],
                                  resolved=True,
                                  state="archived")
            response_3.save()

            structure = Structure(
                structure_id='b05fc5f2-b4aa-4f48-a8fb-30bdcc3fc968',
                level=1,
                name='Epic tower',
                parent_id="1",
                parent_title="parent_title",
                tag='Building',
                location_id=1,
                position=1,
            )
            structure.save()
            parent_node = OfficeStructure(
                id='C56A4180-65AA-42EC-A945-5FD21DEC0518',
                name='Epic Tower',
                tag='Lagos Building',
                location_id=1)
            parent_node.save()
            child_node = OfficeStructure(
                id='C56A4180-65AA-42EC-A945-5FD21DEC0519',
                name='Gold Coast',
                tag='First Floor',
                parent_id='C56A4180-65AA-42EC-A945-5FD21DEC0518',
                location_id=1)
            child_node.save()
            db_session.commit()
            f = open('mrm.err.log', 'a+')
            f.write('[2019-08-06 13:22:32 +0000] [1574] [ERROR] Error /logs\r')
            f.write('Traceback (most recent call last):\r')
            f.write('if pattern.search(line):\r')