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))
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))
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))
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))
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)
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)
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)
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')
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')
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'))
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'))
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)
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)
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=''))
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)
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)
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)
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))
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)
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)
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)
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))
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'))
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))
def test_verify_project(self, mock_session): mock_session.return_value = FakeSession() ticket = redmine.RedmineTicket(URL, PROJECT) self.assertTrue(ticket._verify_project(PROJECT))
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)
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))
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)
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))
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)