"""Jira test module.""" import tempfile from unittest.mock import patch import pytest import config from src.utils import jira @pytest.fixture() def mock_jira_issue(): """Provide a Jira issue number.""" return 'DEVEX-123' @pytest.fixture() def mock_output_file(): """Return a test file for upload.""" test_file = tempfile.NamedTemporaryFile(delete=False) test_file.write(b'audit_test_info') test_file.close() return test_file.name @pytest.fixture() def mock_user(): """Return a test user.""" return 'test_user' @patch('src.utils.jira.JIRA', autospec=True) def test_attach_to_jira_issue( mock_JIRA, mock_jira_issue, mock_output_file, mock_user): """Test attach_to_jira_issue function.""" mock_jira = mock_JIRA() mock_jira.add_attachment.return_value.created = '2022-01-01-01:00:00' mock_jira.add_attachment.return_value.status_code = 200 attachment_created = jira.attach_to_jira_issue( mock_jira_issue, mock_output_file, mock_user) assert attachment_created == '2022-01-01-01:00:00' @patch('src.utils.jira.JIRA', autospec=True) def test_verify_jira_issue(mock_JIRA, mock_jira_issue): """Test verify_jira_issue function.""" mock_jira = mock_JIRA() mock_jira.issue.return_value.permalink.return_value = \ config.JIRA_BASE_URL + mock_jira_issue mock_jira.issue.return_value.status_code = 200 issue_url = jira.verify_jira_issue(mock_jira_issue) assert issue_url == mock_jira.issue.return_value.permalink.return_value mock_jira.issue.assert_called_with(mock_jira_issue)