Beispiel #1
0
    def test_sync_resource_role_department(self):
        """
        Test to ensure synchronizer saves an instance locally.
        """
        resource_role_department = fixture_utils.generate_objects(
            'ResourceRoleDepartment',
            fixtures.API_RESOURCE_ROLE_DEPARTMENT_LIST)
        mocks.api_query_call(resource_role_department)
        synchronizer = sync.ResourceRoleDepartmentSynchronizer()
        synchronizer.sync()

        self.assertGreater(ResourceRoleDepartment.objects.all().count(), 0)

        object_data = fixtures.API_RESOURCE_ROLE_DEPARTMENT
        instance = ResourceRoleDepartment.objects.get(id=object_data['id'])

        role = Role.objects.first()
        role.id = object_data['RoleID']
        instance.role = role

        resource = Resource.objects.first()
        resource.id = object_data['ResourceID']
        instance.resource = resource

        department = Department.objects.first()
        department.id = object_data['DepartmentID']
        instance.department = department

        self._assert_sync(instance, object_data)
        assert_sync_job(ResourceRoleDepartment)
Beispiel #2
0
    def test_sync_resource_service_desk_role(self):
        """
        Test to ensure synchronizer saves an instance locally.
        """
        resource_service_desk_role = fixture_utils.generate_objects(
            'ResourceServiceDeskRole',
            fixtures.API_RESOURCE_SERVICE_DESK_ROLE_LIST)
        mocks.api_query_call(resource_service_desk_role)
        synchronizer = sync.ResourceServiceDeskRoleSynchronizer()
        synchronizer.sync()

        self.assertGreater(ResourceServiceDeskRole.objects.all().count(), 0)

        object_data = fixtures.API_RESOURCE_SERVICE_DESK_ROLE
        instance = ResourceServiceDeskRole.objects.get(id=object_data['id'])

        role = Role.objects.first()
        role.id = object_data['RoleID']
        instance.role = role

        resource = Resource.objects.first()
        resource.id = object_data['ResourceID']
        instance.resource = resource

        self._assert_sync(instance, object_data)
        assert_sync_job(ResourceServiceDeskRole)
Beispiel #3
0
    def test_sync_time_entry(self):
        """
        Test to ensure synchronizer saves a time entry instance locally.
        """
        time_entries = fixture_utils.generate_objects(
            'TimeEntry', fixtures.API_TIME_ENTRY_LIST)
        mocks.api_query_call(time_entries)
        synchronizer = sync.TimeEntrySynchronizer()
        synchronizer.sync()

        self.assertGreater(TimeEntry.objects.all().count(), 0)

        object_data = fixtures.API_TIME_ENTRY_TICKET
        instance = TimeEntry.objects.get(id=object_data['id'])

        ticket = Ticket.objects.first()
        ticket.id = object_data['TicketID']
        instance.ticket = ticket

        resource = Resource.objects.first()
        resource.id = object_data['ResourceID']
        instance.resource = resource

        self._assert_sync(instance, object_data)
        assert_sync_job(TimeEntry)
def sync_objects(entity_type, fixture, sync_class):
    created_objects = generate_objects(
        entity_type, fixture
    )
    mocks.api_query_call(created_objects)
    synchronizer = sync_class()

    return synchronizer.sync()
Beispiel #5
0
    def test_delete_stale_account(self):
        account_qset = Account.objects.all()
        self.assertEqual(account_qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.AccountSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(account_qset.count(), 0)
Beispiel #6
0
    def test_delete_stale_project(self):
        project_qset = Project.objects.all()
        self.assertGreater(project_qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.ProjectSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(project_qset.count(), 0)
Beispiel #7
0
    def test_delete_task_secondary_resource(self):
        secondary_resources_qset = TaskSecondaryResource.objects.all()
        self.assertEqual(secondary_resources_qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.TaskSecondaryResourceSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(secondary_resources_qset.count(), 0)
Beispiel #8
0
    def test_delete_allocation_code(self):
        allocation_code_qset = AllocationCode.objects.all()
        self.assertEqual(allocation_code_qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.AllocationCodeSynchronizer(full=True)
        synchronizer.sync()

        self.assertEqual(allocation_code_qset.count(), 0)
Beispiel #9
0
    def test_delete_stale_phases(self):
        """
        Local task should be deleted if not returned during a full sync
        """
        qset = Phase.objects.all()
        self.assertEqual(qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.PhaseSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(qset.count(), 0)
Beispiel #10
0
    def test_delete_stale_departments(self):
        """
        Local Departments should be deleted if not returned during a full sync
        """
        department_id = fixtures.API_DEPARTMENT['id']
        qs = Department.objects.filter(id=department_id)
        self.assertEqual(qs.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.DepartmentSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(qs.count(), 0)
Beispiel #11
0
    def test_delete_stale_ticket_notes(self):
        """
        Local notes should be deleted if not returned during a full sync
        """
        note_id = fixtures.API_TICKET_NOTE['id']
        qs = TicketNote.objects.filter(id=note_id)
        self.assertEqual(qs.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.TicketNoteSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(qs.count(), 0)
Beispiel #12
0
    def test_delete_stale_tasks(self):
        """
        Local task should be deleted if not returned during a full sync
        """
        task_id = fixtures.API_TASK['id']
        task_qset = Task.objects.filter(id=task_id)
        self.assertEqual(task_qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.TaskSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(task_qset.count(), 0)
Beispiel #13
0
    def test_delete_stale_roles(self):
        """
        Local Roles should be deleted if not returned during a full sync
        """
        role_id = fixtures.API_ROLE['id']
        qs = Role.objects.filter(id=role_id)
        self.assertEqual(qs.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.RoleSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(qs.count(), 0)
Beispiel #14
0
    def test_delete_stale_resources(self):
        """
        Test that  is removed if not fetched from the API during a
        full sync.
        """
        resource_qset = Resource.objects.all()
        self.assertEqual(resource_qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.ResourceSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(resource_qset.count(), 0)
Beispiel #15
0
    def test_delete_stale_ticket_category(self):
        """
        Test that ticket category is removed if not fetched from the API
        during a full sync.
        """
        ticket_category_qset = TicketCategory.objects.all()
        self.assertEqual(ticket_category_qset.count(), 2)

        mocks.api_query_call([])

        synchronizer = sync.TicketCategorySynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(ticket_category_qset.count(), 0)
Beispiel #16
0
    def test_delete_stale_tickets(self):
        """
        Local ticket should be deleted if not returned during a full sync
        """
        ticket_id = fixtures.API_TICKET['id']
        ticket_qset = Ticket.objects.filter(id=ticket_id)
        self.assertEqual(ticket_qset.count(), 1)

        mocks.api_query_call([])

        synchronizer = sync.TicketSynchronizer(full=True)
        synchronizer.sync()
        self.assertEqual(ticket_qset.count(), 0)
Beispiel #17
0
    def test_delete_stale_time_entries(self):
        """
        Verify that time entry is deleted if not returned during a full sync
        """
        time_entries = fixture_utils.generate_objects(
            'TimeEntry', fixtures.API_TIME_ENTRY_LIST)
        mocks.api_query_call(time_entries)
        synchronizer = sync.TimeEntrySynchronizer()
        synchronizer.sync()

        qset = TimeEntry.objects.all()
        self.assertEqual(qset.count(), len(fixtures.API_TIME_ENTRY_LIST))

        mocks.api_query_call([])

        synchronizer = sync.TimeEntrySynchronizer(full=True)
        synchronizer.sync()

        qset = TimeEntry.objects.all()
        self.assertEqual(qset.count(), 0)