Example #1
0
 def test_get_ticket_list_without_arg(self):
     """
     获取工单列表,不传参数
     :return:
     """
     url = '/api/v1.0/tickets'
     response_content_dict = LoonflowApiCall().api_call('get', url)
     self.assertEqual(response_content_dict.get('code'), -1)
Example #2
0
 def test_get_ticket_list_with_arg(self):
     """
     获取工单列表,正确的参数及header
     :return:
     """
     url = '/api/v1.0/tickets'
     response_content_dict = LoonflowApiCall().api_call('get', url, {'category': 'all', 'username': '******'})
     self.assertEqual(response_content_dict.get('code'), 0)
Example #3
0
 def test_get_ticket_detail(self):
     """
     获取工单详情
     :return:
     """
     url = '/api/v1.0/tickets/{}'.format(39)
     result = LoonflowApiCall().api_call('get', url, dict(username='******'))
     self.assertEqual(result.get('code'), 0)
Example #4
0
 def test_get_workflow_states(self):
     """
     获取工作流状态列表
     :return:
     """
     workflow_id = 1
     url = '/api/v1.0/workflows/{}/states'.format(workflow_id)
     response_content_dict = LoonflowApiCall().api_call('get', url)
     self.assertEqual(response_content_dict.get('code'), 0)
Example #5
0
 def test_get_workflow_list_without_arg(self):
     """
     获取工作流列表
     :return:
     """
     url = '/api/v1.0/workflows'
     response_content_dict = LoonflowApiCall().api_call('get', url)
     self.assertEqual(response_content_dict.get('code'), 0)
     self.assertGreater(len(response_content_dict.get('data')), 1)
Example #6
0
 def test_get_workflow_state_detail(self):
     """
     获取状态详情
     :return:
     """
     state_id = 3
     url = '/api/v1.0/workflows/states/{}'.format(state_id)
     response_content_dict = LoonflowApiCall().api_call('get', url)
     self.assertEqual(response_content_dict.get('code'), 0)
Example #7
0
 def test_get_ticket_detail(self):
     """
     获取工单详情
     :return:
     """
     from apps.ticket.models import TicketRecord
     last_ticket_id = TicketRecord.objects.filter(is_deleted=0).order_by('-id').first().id
     url = '/api/v1.0/tickets/{}'.format(last_ticket_id)
     result = LoonflowApiCall().api_call('get', url, dict(username='******'))
     self.assertEqual(result.get('code'), 0)
Example #8
0
 def test_new_ticket(self):
     """
     新建工单
     :return:
     """
     params = dict(title='测试工单0001', leave_start='2018-10-14 09:00:00', leave_end='2018-10-15 09:00:00',
                   leave_days=2, leave_proxy='lisi', leave_type='2', leave_reason='请假原因', workflow_id=1,
                   username='******', transition_id=1)
     url = '/api/v1.0/tickets'
     result = LoonflowApiCall().api_call('post', url, params)
     self.assertEqual(result.get('code'), 0)
Example #9
0
 def test_get_workflow_init_state(self):
     """
     获取工作流初始状态
     :return:
     """
     from apps.workflow.models import Workflow
     last_workflow_id = Workflow.objects.filter(
         is_deleted=0).order_by('-id').first().id
     url = '/api/v1.0/workflows/{}/init_state'.format(last_workflow_id)
     response_content_dict = LoonflowApiCall().api_call('get', url)
     self.assertEqual(response_content_dict.get('code'), -1)
Example #10
0
 def test_add_ticket_comment(self):
     """
     测试新增评论
     :return:
     """
     from apps.ticket.models import TicketRecord
     last_ticket_obj = TicketRecord.objects.filter(is_deleted=0).order_by('-id').first()
     last_ticket_id = last_ticket_obj.id
     url = '/api/v1.0/tickets/{}/comments'.format(last_ticket_id)
     result = LoonflowApiCall().api_call('post', url, dict(username='******', suggestion='test for commnet'))
     self.assertEqual(result.get('code'), 0)
Example #11
0
 def test_get_ticket_flow_steps(self):
     """
     测试获取工单step记录
     :return:
     """
     from apps.ticket.models import TicketRecord
     last_ticket_obj = TicketRecord.objects.filter(is_deleted=0).order_by('-id').first()
     last_ticket_id = last_ticket_obj.id
     url = '/api/v1.0/tickets/{}/flowsteps'.format(last_ticket_id)
     result = LoonflowApiCall().api_call('get', url, dict(username='******'))
     self.assertEqual(result.get('code'), 0)
Example #12
0
 def test_alter_ticket_state(self):
     """
     修改工单状态
     :return:
     """
     ticket_id = 39
     new_state_id = 4
     url = '/api/v1.0/tickets/{}/state'.format(ticket_id)
     result = LoonflowApiCall().api_call('put', url,
                                         dict(state_id=new_state_id))
     self.assertEqual(result.get('code'), 0)
Example #13
0
 def test_get_workflow_state_detail(self):
     """
     获取状态详情
     :return:
     """
     from apps.workflow.models import State
     last_state_id = State.objects.filter(
         is_deleted=0).order_by('-id').first().id
     url = '/api/v1.0/workflows/states/{}'.format(last_state_id)
     response_content_dict = LoonflowApiCall().api_call('get', url)
     self.assertEqual(response_content_dict.get('code'), -1)
Example #14
0
 def test_alter_ticket_field_value(self):
     """
     修改工单字段的值
     :return:
     """
     from apps.ticket.models import TicketRecord
     last_ticket_obj = TicketRecord.objects.filter(is_deleted=0).order_by('-id').first()
     last_ticket_id = last_ticket_obj.id
     last_ticket_title = last_ticket_obj.title
     url = '/api/v1.0/tickets/{}/fields'.format(last_ticket_id)
     result = LoonflowApiCall().api_call('patch', url, dict(username='******', title=last_ticket_title))
     self.assertEqual(result.get('code'), 0)
Example #15
0
 def test_alter_ticket_state(self):
     """
     修改工单状态
     :return:
     """
     from apps.ticket.models import TicketRecord
     last_ticket_obj = TicketRecord.objects.filter(is_deleted=0).order_by('-id').first()
     last_ticket_id = last_ticket_obj.id
     last_ticket_state_id = last_ticket_obj.state_id
     url = '/api/v1.0/tickets/{}/state'.format(last_ticket_id)
     result = LoonflowApiCall().api_call('put', url, dict(username='******', state_id=last_ticket_state_id))
     self.assertEqual(result.get('code'), 0)
Example #16
0
 def test_add_ticket_comment(self):
     """
     测试新增评论
     :return:
     """
     from apps.ticket.models import TicketRecord
     ticket_id = 39
     last_ticket_obj = TicketRecord.objects.get(id=ticket_id)
     last_ticket_id = last_ticket_obj.id
     url = '/api/v1.0/tickets/{}/comments'.format(last_ticket_id)
     result = LoonflowApiCall().api_call(
         'post', url, dict(suggestion='test for commnet'))
     self.assertEqual(result.get('code'), 0)
Example #17
0
 def test_alter_ticket_field_value(self):
     """
     修改工单字段的值
     :return:
     """
     from apps.ticket.models import TicketRecord
     ticket_id = 39
     ticket_obj = TicketRecord.objects.get(id=ticket_id)
     ticket_title = ticket_obj.title
     url = '/api/v1.0/tickets/{}/fields'.format(ticket_id)
     result = LoonflowApiCall().api_call(
         'patch', url,
         dict(username='******', title='_test'.format(ticket_title)))
     self.assertEqual(result.get('code'), 0)
Example #18
0
 def test_get_ticket_transition(self):
     """
     测试获取工单可以执行的操作
     :return:
     """
     from apps.ticket.models import TicketRecord
     last_ticket_obj = TicketRecord.objects.filter(is_deleted=0).order_by('-id').first()
     last_ticket_id = last_ticket_obj.id
     ticket_participant_type_id = last_ticket_obj.participant_type_id
     ticket_participant = last_ticket_obj.participant
     if ticket_participant_type_id == constant_service_ins.PARTICIPANT_TYPE_PERSONAL:
         username = ticket_participant
     elif ticket_participant_type_id == constant_service_ins.PARTICIPANT_TYPE_MULTI:
         username = ticket_participant.split(',')[0]
     url = '/api/v1.0/tickets/{}/transitions'.format(last_ticket_id)
     result = LoonflowApiCall().api_call('get', url, dict(username=username))
     self.assertEqual(result.get('code'), 0)
Example #19
0
 def get_ticket_list_by_params(self, params):
     """
     根据参数获取用户工单列表
     :param category:
     :return:
     """
     url = '/api/v1.0/tickets'
     response_content_dict = LoonflowApiCall().api_call('get', url, params)
     return response_content_dict
Example #20
0
 def test_new_ticket(self, gen_ticket_sn, notice_apply_async,
                     hook_apply_async):
     """
     新建工单
     :return:
     """
     gen_ticket_sn.return_value = (True, dict(ticket_sn='ops_202005240001'))
     notice_apply_async.return_value = True
     hook_apply_async.return_value = True
     params = dict(title='测试工单0001',
                   leave_start='2018-10-14 09:00:00',
                   leave_end='2018-10-15 09:00:00',
                   leave_proxy='lisi',
                   leave_type='2',
                   leave_reason='请假原因',
                   workflow_id=1,
                   username='******',
                   transition_id=1)
     url = '/api/v1.0/tickets'
     result = LoonflowApiCall().api_call('post', url, params)
     self.assertEqual(result.get('code'), 0)