def test_create_requests_session_kerberos_auth(self, mock_session): mock_session.return_value = FakeSession() with patch.object(bugzilla.BugzillaTicket, '_create_requests_session'): ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket._create_requests_session() mock_session.assert_called_once() self.assertEqual(t, mock_session.return_value)
def test_create_requests_session_json_error(self, mock_session): mock_session.return_value = FakeSession(status_code=401, params={}) auth = {'api_key': 'key'} with patch.object(bugzilla.BugzillaTicket, '_create_requests_session'): ticket = bugzilla.BugzillaTicket(URL, PROJECT, auth=auth) t = ticket._create_requests_session() self.assertIsNone(t)
def test_get_ticket_content_no_id(self, mock_session): mock_session.return_value = FakeSession() error_message = "No ticket ID associated with ticket object. " \ "Set ticket ID with set_ticket_id(<ticket_id>)" with patch.object(bugzilla.BugzillaTicket, '_verify_ticket_id'): ticket = bugzilla.BugzillaTicket(URL, PROJECT) self.assertEqual(ticket.get_ticket_content(), FAILURE_RESULT._replace(error_message=error_message))
def test_create_requests_session_tuple_auth(self, mock_session): mock_session.return_value = FakeSession(params={}) expected_params = {'login': '******', 'password': '******'} with patch.object(bugzilla.BugzillaTicket, '_create_requests_session'): ticket = bugzilla.BugzillaTicket(URL, PROJECT, auth=('username', 'password')) t = ticket._create_requests_session() self.assertDictEqual(t.params, expected_params) self.assertEqual(t.verify, False)
def test_create_requests_session_api_auth(self, mock_session): mock_session.return_value = FakeSession(params={}) auth = {'api_key': 'key'} with patch.object(bugzilla.BugzillaTicket, '_create_requests_session'): ticket = bugzilla.BugzillaTicket(URL, PROJECT, auth=auth) t = ticket._create_requests_session() self.assertDictEqual(t.params, auth) self.assertEqual(t.verify, False)
def test_create_ticket_request_id(self, mock_session, mock_project, mock_content): mock_session.return_value = FakeSession(status_code=204) ticket = bugzilla.BugzillaTicket(URL, PROJECT) with patch.object(bugzilla.BugzillaTicket, '_generate_ticket_url') as mock_url: t = ticket._create_ticket_request({}) self.assertEqual(ticket.ticket_id, TICKET_ID2) self.assertEqual(ticket.ticket_url, mock_url.return_value) self.assertEqual(t, mock_content.return_value)
def test_create_ticket_parameters(self, mock_session, mock_fields): mock_session.return_value = FakeSession() FIELDS = {'assignee': 'me'} mock_fields.return_value = FIELDS ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket._create_ticket_parameters(SUMMARY, DESCRIPTION, COMPONENT, VERSION, FIELDS) expected_params = {"product": PROJECT, "summary": SUMMARY, "description": DESCRIPTION, "component": COMPONENT, "version": VERSION, 'assignee': 'me'} self.assertDictEqual(t, expected_params)
def test_add_attachment_unexpected_response(self, mock_session, mock_id, mock_project, mock_open, mock_guess_type, mock_encode): mock_session.return_value = FakeSession(status_code=400) ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.add_attachment('file_name', 'data', 'summary') self.assertEqual(t, RETURN_RESULT('Failure', '', TICKET_URL, None))
def test_add_attachment_ioerror(self, mock_session): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.add_attachment('file_name', 'data', 'summary') self.assertEqual(t, RETURN_RESULT('Failure', 'File file_name not found', TICKET_URL, None))
def test_add_attachment_no_id(self, mock_session): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket.add_attachment('file_name', 'data', 'summary') self.assertEqual(t, FAILURE_RESULT._replace(error_message=ERROR_MESSAGE))
def test_verify_project(self, mock_session): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT) self.assertTrue(ticket._verify_project(PROJECT))
def test_remove_cc_error(self, mock_session): mock_session.return_value = FakeSession(status_code=401) ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.remove_cc('') self.assertEqual(t, RETURN_RESULT('Failure', 'There is some error.', TICKET_URL, None))
def test_remove_cc_unexpected_response(self, mock_session, mock_id, mock_project): mock_session.return_value = FakeSession(status_code=400) ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.remove_cc('') self.assertEqual(t, RETURN_RESULT('Failure', '', TICKET_URL, None))
def test_change_status(self, mock_session, mock_fields, mock_content): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.change_status('') self.assertEqual(t, mock_content.return_value)
def test_create_no_summary(self, mock_session): mock_session.return_value = FakeSession() error_message = "summary is a necessary parameter for ticket creation" ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket.create(None, DESCRIPTION, COMPONENT, VERSION, assignee='me') self.assertEqual(t, FAILURE_RESULT._replace(error_message=error_message))
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 self.assertRaises(ticketutil.ticket.TicketException): ticket = bugzilla.BugzillaTicket(URL, PROJECT, TICKET_ID) self.assertEquals(ticket.get_ticket_content(), FAILURE_RESULT._replace(error_message=error_message))
def test_create(self, mock_session, mock_parameters, mock_request): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket.create(SUMMARY, DESCRIPTION, COMPONENT, VERSION, assignee='me') mock_parameters.assert_called_with(SUMMARY, DESCRIPTION, COMPONENT, VERSION, {'assignee': 'me'}) self.assertEqual(t, mock_request.return_value)
def test_get_ticket_content(self, mock_session): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT, TICKET_ID) t = ticket.get_ticket_content(TICKET_ID) self.assertEqual(ticket.ticket_content, {}) self.assertEqual(t, SUCCESS_RESULT._replace(ticket_content={}))
def test_verify_project_unexpected_response(self, mock_session): mock_session.return_value = FakeSession(status_code=400) with self.assertRaises(ticketutil.ticket.TicketException): ticket = bugzilla.BugzillaTicket(URL, PROJECT) self.assertFalse(ticket._verify_project(PROJECT))
def test_verify_project_not_valid(self, mock_session): mock_session.return_value = FakeSession(status_code=204) with patch.object(bugzilla.BugzillaTicket, '_verify_project'): ticket = bugzilla.BugzillaTicket(URL, PROJECT) self.assertFalse(ticket._verify_project(PROJECT))
def test_add_attachment_error(self, mock_session, mock_open, mock_guess_type, mock_encode): mock_session.return_value = FakeSession(status_code=401) ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.add_attachment('file_name', 'data', 'summary') self.assertEqual(t, RETURN_RESULT('Failure', 'There is some error.', TICKET_URL, None))
def test_generate_ticket_url(self, mock_session): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) self.assertEqual(TICKET_URL, ticket._generate_ticket_url()) self.assertEqual(ticket.request_result, SUCCESS_RESULT._replace(url=TICKET_URL))
def test_add_attachment(self, mock_session, mock_open, mock_guess_type, mock_encode, mock_content): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.add_attachment('file_name', 'data', 'summary') self.assertEqual(t, mock_content.return_value)
def test_create_ticket_request_error(self, mock_session): mock_session.return_value = FakeSession(status_code=401) error_message = 'There is some error.' ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket._create_ticket_request({}) self.assertEqual(t, FAILURE_RESULT._replace(error_message=error_message))
def test_remove_cc_no_id(self, mock_session): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket.remove_cc('') self.assertEqual(t, FAILURE_RESULT._replace(error_message=ERROR_MESSAGE))
def test_create_ticket_request_else(self, mock_session): mock_session.return_value = FakeSession() error_message = 'Error creating ticket' ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket._create_ticket_request({}) self.assertEqual(t, FAILURE_RESULT._replace(error_message=error_message))
def test_remove_cc_bugs(self, mock_session): mock_session.return_value = FakeSession(status_code=402) ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.remove_cc('') self.assertEqual(t, SUCCESS_RESULT._replace(url=TICKET_URL))
def test_create_ticket_request_unexpected_response(self, mock_session, mock_id, mock_project): mock_session.return_value = FakeSession(status_code=400) ticket = bugzilla.BugzillaTicket(URL, PROJECT) t = ticket._create_ticket_request({}) self.assertEqual(t, FAILURE_RESULT._replace(error_message=''))
def test_remove_cc(self, mock_session, mock_content): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT, ticket_id=TICKET_ID) t = ticket.remove_cc('') self.assertEqual(t, mock_content.return_value)
def test_generate_ticket_url_no_ticket_id(self, mock_session): mock_session.return_value = FakeSession() ticket = bugzilla.BugzillaTicket(URL, PROJECT) self.assertEqual(None, ticket._generate_ticket_url()) self.assertEqual(ticket.request_result, SUCCESS_RESULT)