示例#1
0
 def test_add_watcher_no_watcher_id(self, mock_session, mock_get_id):
     mock_get_id.return_value = 0
     mock_session.return_value = FakeSession()
     error_message = "Error adding me as a watcher to ticket"
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.add_watcher('me')
     self.assertEqual(request_result, RETURN_RESULT('Failure', error_message, TICKET_URL, None))
示例#2
0
 def test_get_ticket_content_unexpected_response(self, mock_session):
     mock_session.return_value = FakeSession(status_code=400)
     error_message = "Error getting ticket content"
     with patch.object(redmine.RedmineTicket, '_verify_project'):
         ticket = redmine.RedmineTicket(URL, PROJECT, TICKET_ID)
     t = ticket.get_ticket_content(ticket_id=TICKET_ID)
     self.assertEqual(t, FAILURE_RESULT1._replace(error_message=error_message))
示例#3
0
 def test_add_attachment_no_token(self, mock_session, mock_upload):
     mock_session.return_value = FakeSession()
     mock_upload.return_value = 0
     error_message = "Error attaching file file_name"
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.add_attachment('file_name')
     self.assertEqual(request_result, RETURN_RESULT('Failure', error_message, TICKET_URL, None))
示例#4
0
 def test_change_status_no_status_id(self, mock_session, mock_get_id):
     mock_session.return_value = FakeSession()
     mock_get_id.return_value = 0
     error_message = "Not a valid status: "
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.change_status('')
     self.assertEqual(request_result, RETURN_RESULT('Failure', error_message, TICKET_URL, None))
示例#5
0
 def test_create_ticket_request(self, mock_session, mock_content):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket._create_ticket_request({})
     self.assertEqual(ticket.ticket_id, TICKET_ID)
     self.assertEqual(ticket.ticket_url, TICKET_URL)
     self.assertEqual(request_result, mock_content.return_value)
示例#6
0
 def test_prepare_ticket_fields(self, mock_session, mock_priority_id, mock_user_id):
     mock_session.return_value = FakeSession()
     mock_priority_id.return_value = 1
     mock_user_id.return_value = 2
     fields = {'priority': 'low', 'assignee': 'me', 'estimated_time': 3}
     expected_fields = {'priority_id': 1, 'assigned_to_id': 2, 'total_estimated_hours': 3}
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     self.assertDictEqual(ticket._prepare_ticket_fields(fields), expected_fields)
示例#7
0
 def test_create_ticket_parameters(self, mock_session, mock_id, mock_fields):
     mock_session.return_value = FakeSession()
     FIELDS = {'assignee': 'me'}
     mock_fields.return_value = FIELDS
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket._create_ticket_parameters(SUBJECT, DESCRIPTION, FIELDS)
     expected_params = {'issue': {'project_id': mock_id.return_value,
                                  'subject': SUBJECT,
                                  'description': DESCRIPTION,
                                  'assignee': 'me'}}
     self.assertDictEqual(request_result, expected_params)
示例#8
0
 def test_upload_file(self, mock_session, mock_open):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket._upload_file('file_name')
     self.assertEqual(request_result, 'Token')
示例#9
0
 def test_get_project(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket._get_project_id()
     self.assertEqual(request_result, 'ID')
示例#10
0
 def test_upload_file_unexpected_response(self, mock_session, mock_project, mock_ticket_id, mock_open):
     mock_session.return_value = FakeSession(status_code=400)
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     self.assertFalse(ticket._upload_file('file_name'))
示例#11
0
 def test_upload_file_ioerror(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     self.assertFalse(ticket._upload_file('file_name'))
示例#12
0
 def test_add_comment(self, mock_session, mock_fields, mock_content):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.add_comment('')
     self.assertEqual(request_result, mock_content.return_value)
示例#13
0
 def test_edit_no_id(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket.edit()
     self.assertEqual(request_result, FAILURE_RESULT1)
示例#14
0
 def test_create_ticket_request_unexpected_response(self, mock_session, mock_id, mock_project):
     mock_session.return_value = FakeSession(status_code=400)
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket._create_ticket_request({})
     self.assertEqual(request_result, FAILURE_RESULT1._replace(error_message=''))
示例#15
0
 def test_get_user_id(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket._get_user_id('*****@*****.**')
     self.assertEqual(request_result, 1)
示例#16
0
 def test_add_watcher(self, mock_session, mock_get_id,  mock_content):
     mock_session.return_value = FakeSession()
     mock_get_id.return_value = 1
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.add_watcher('me')
     self.assertEqual(request_result, mock_content.return_value)
示例#17
0
 def test_generate_ticket_url(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     self.assertEqual(TICKET_URL, ticket._generate_ticket_url())
     self.assertEqual(ticket.request_result, SUCCESS_RESULT)
示例#18
0
 def test_remove_watcher_unexpected_response(self, mock_session, mock_project, mock_ticket_id, mock_get_id):
     mock_session.return_value = FakeSession(status_code=400)
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.remove_watcher('me')
     self.assertEqual(request_result, RETURN_RESULT('Failure', '', TICKET_URL, None))
示例#19
0
 def test_remove_watcher_no_ticket_id(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket.remove_watcher('me')
     self.assertEqual(request_result, FAILURE_RESULT1)
示例#20
0
 def test_change_status(self, mock_session, mock_get_id, mock_content):
     mock_session.return_value = FakeSession()
     mock_get_id.return_value = 1
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.change_status('')
     self.assertEqual(request_result, mock_content.return_value)
示例#21
0
 def test_get_status_id(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket._get_status_id('finished')
     self.assertEqual(request_result, 2)
示例#22
0
 def test_create_no_summary(self, mock_session):
     mock_session.return_value = FakeSession()
     error_message = "subject is a necessary parameter for ticket creation"
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket.create(None, DESCRIPTION, assignee='me')
     self.assertEqual(request_result, FAILURE_RESULT1._replace(error_message=error_message))
示例#23
0
 def test_get_user_id_unexpected_response(self, mock_session, mock_project, mock_ticket_id):
     mock_session.return_value = FakeSession(status_code=400)
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     self.assertFalse(ticket._get_user_id('me'))
示例#24
0
 def test_add_attachment_unexpected_response(self, mock_session, mock_project, mock_ticket_id, mock_upload):
     mock_session.return_value = FakeSession(status_code=400)
     mock_upload.return_value = 1
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.add_attachment('file_name')
     self.assertEqual(request_result, RETURN_RESULT('Failure', '', TICKET_URL, None))
示例#25
0
 def test_verify_project(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT)
     self.assertTrue(ticket._verify_project(PROJECT))
示例#26
0
 def test_change_status_no_ticket_id(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket.change_status('')
     self.assertEqual(request_result, FAILURE_RESULT1)
示例#27
0
 def test_generate_ticket_url_no_id(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT)
     self.assertEqual(None, ticket._generate_ticket_url())
     self.assertEqual(ticket.request_result, SUCCESS_RESULT._replace(url=None))
示例#28
0
 def test_add_attachment_no_ticket_id(self, mock_session):
     mock_session.return_value = FakeSession()
     ticket = redmine.RedmineTicket(URL, PROJECT)
     request_result = ticket.add_attachment('file_name')
     self.assertEqual(request_result, FAILURE_RESULT1)
示例#29
0
 def test_verify_project_not_valid(self, mock_session):
     mock_session.return_value = FakeSession(status_code=400)
     with patch.object(redmine.RedmineTicket, '_verify_project'):
         ticket = redmine.RedmineTicket(URL, PROJECT)
     self.assertFalse(ticket._verify_project(PROJECT))
示例#30
0
 def test_add_attachment(self, mock_session, mock_upload, mock_content):
     mock_session.return_value = FakeSession()
     mock_upload.return_value = 1
     ticket = redmine.RedmineTicket(URL, PROJECT, ticket_id=TICKET_ID)
     request_result = ticket.add_attachment('file_name')
     self.assertEqual(request_result, mock_content.return_value)