from unittest.mock import MagicMock from gitea.client import GiteaClient from gitea.tools.gitea_tools import GiteaTools def test_gitea_tools_delegation() -> None: mock_client: MagicMock = MagicMock(spec=GiteaClient) gitea_tools: GiteaTools = GiteaTools(mock_client) # 1. get_issue gitea_tools.get_issue("owner", "repo", 1) mock_client.get_issue.assert_called_once_with("owner", "repo", 1) # 2. get_pull_request gitea_tools.get_pull_request("owner", "repo", 2) mock_client.get_pull_request.assert_called_once_with("owner", "repo", 2) # 3. close_issue gitea_tools.close_issue("owner", "repo", 3) mock_client.close_issue.assert_called_once_with("owner", "repo", 3) # 4. close_pull_request gitea_tools.close_pull_request("owner", "repo", 4) mock_client.close_pull_request.assert_called_once_with("owner", "repo", 4) # 5. get_issue_comments gitea_tools.get_issue_comments("owner", "repo", 5) mock_client.get_issue_comments.assert_called_once_with("owner", "repo", 5) # 6. get_pull_request_comments gitea_tools.get_pull_request_comments("owner", "repo", 6) mock_client.get_pull_request_comments.assert_called_once_with("owner", "repo", 6) # 7. list_assigned_issues mock_client.list_all_user_repos.return_value = [] gitea_tools.list_assigned_issues() mock_client.list_all_user_repos.assert_called() # 8. list_assigned_pull_requests gitea_tools.list_assigned_pull_requests() mock_client.list_all_user_repos.assert_called() # 9. list_issues gitea_tools.list_issues("owner", "repo") mock_client.list_repo_issues.assert_called_once_with("owner", "repo", "open") # 10. list_pull_requests gitea_tools.list_pull_requests("owner", "repo") mock_client.list_repo_pull_requests.assert_called_once_with("owner", "repo", "open") # 11. get_file_content gitea_tools.get_file_content("owner", "repo", "path") mock_client.get_file_content.assert_called_with("owner", "repo", "path") # 12. create_pull_request gitea_tools.create_pull_request("owner", "repo", "head", "base", "title", "desc") mock_client.create_pr_via_tea.assert_called_once_with("owner", "repo", "title", "desc", "head", "base") # 13. create_issue gitea_tools.create_issue("owner", "repo", "title", "body") mock_client.create_issue.assert_called_once_with("owner", "repo", "title", "body", None, None) # 14. create_branch gitea_tools.create_branch("owner", "repo", "branch", "sha") mock_client.create_ref.assert_called_once_with("owner", "repo", "branch", "sha") # 15. commit_file gitea_tools.commit_file("owner", "repo", "path", "msg", "content", "branch") mock_client.update_file.assert_called_with("owner", "repo", "path", "msg", "content", "branch") # 16. add_label_to_issue gitea_tools.add_label_to_issue("owner", "repo", 1, "bug") mock_client.add_label.assert_called_with("owner", "repo", 1, "bug") # 17. add_label_to_pr gitea_tools.add_label_to_pr("owner", "repo", 1, "bug") mock_client.add_label_pr.assert_called_once_with("owner", "repo", 1, "bug") # 18. add_comment_to_issue gitea_tools.add_comment_to_issue("owner", "repo", 1, "body") mock_client.add_comment.assert_called_with("owner", "repo", 1, "body") # 19. get_pull_request_diff gitea_tools.get_pull_request_diff("owner", "repo", 1) mock_client.get_pull_request_diff.assert_called_once_with("owner", "repo", 1) # 20. get_pull_request_patch gitea_tools.get_pull_request_patch("owner", "repo", 1) mock_client.get_pull_request_patch.assert_called_once_with("owner", "repo", 1) # 21. approve_pull_request gitea_tools.approve_pull_request("owner", "repo", 1, "good") mock_client.approve_pr.assert_called_once_with("owner", "repo", 1, "good") # 22. request_changes gitea_tools.request_changes("owner", "repo", 1, "bad") mock_client.request_changes_pr.assert_called_once_with("owner", "repo", 1, "bad") # 23. add_comment gitea_tools.add_comment("owner", "repo", 1, "body") mock_client.add_comment.assert_called_with("owner", "repo", 1, "body") # 24. add_label gitea_tools.add_label("owner", "repo", 1, "bug") mock_client.add_label.assert_called_with("owner", "repo", 1, "bug") # 25. get_file_content_with_ref gitea_tools.get_file_content_with_ref("owner", "repo", "path", "ref") mock_client.get_file_content.assert_called_with("owner", "repo", "path", "ref") # 26. update_file gitea_tools.update_file("owner", "repo", "path", "msg", "content", "branch") mock_client.update_file.assert_called_with("owner", "repo", "path", "msg", "content", "branch")