PyGithub MCP Server

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Coverage Analysis Report</title> <style> body { font-family: Arial, sans-serif; margin: 0; padding: 20px; line-height: 1.6; } h1, h2, h3 { color: #333; } .container { max-width: 1200px; margin: 0 auto; } .summary { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 30px; } .summary-item { background: #f5f5f5; padding: 15px; border-radius: 5px; flex: 1; min-width: 200px; } .high { color: #d9534f; } .medium { color: #f0ad4e; } .low { color: #5cb85c; } table { width: 100%; border-collapse: collapse; margin-bottom: 30px; } th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; } th { background-color: #f2f2f2; } tr:hover { background-color: #f5f5f5; } .progress-bar { height: 20px; background: #e9ecef; border-radius: 10px; overflow: hidden; margin-top: 5px; } .progress-value { height: 100%; border-radius: 10px; } .priority-high { background-color: #ffeeed; } .priority-medium { background-color: #fff8ee; } .priority-low { background-color: #efffee; } .module-details { display: none; padding: 10px; background: #f9f9f9; border-left: 5px solid #ddd; margin: 10px 0; } .toggle-details { cursor: pointer; color: #0066cc; user-select: none; } .toggle-details:hover { text-decoration: underline; } .test-failures { margin-top: 30px; } .test-failure { background-color: #ffeeed; } .test-failure-message { font-family: monospace; white-space: pre-wrap; max-height: 300px; overflow-y: auto; } .tabs { display: flex; margin-bottom: 20px; } .tab { padding: 10px 20px; background-color: #f2f2f2; cursor: pointer; margin-right: 5px; border-radius: 5px 5px 0 0; } .tab.active { background-color: #007bff; color: white; } .tab-content { display: none; } .tab-content.active { display: block; } </style> </head> <body> <div class="container"> <h1>Coverage Analysis Report</h1> <p>Generated on: 2025-03-08 15:38:19</p> <div class="tabs"> <div class="tab active" onclick="openTab(event, 'coverage-tab')">Coverage Report</div> <div class="tab" onclick="openTab(event, 'failures-tab')">Test Failures (7)</div> </div> <div id="coverage-tab" class="tab-content active"> <div class="summary"> <div class="summary-item"> <h3>Overall Coverage</h3> <div class="progress-bar"> <div class="progress-value" style="width: 89.0%; background-color: #5cb85c;"></div> </div> <p>89.00%</p> </div> <div class="summary-item"> <h3>Statements</h3> <p>1826 total / 190 missing</p> </div> <div class="summary-item"> <h3>Priority Distribution</h3> <p><span class="high">■</span> High: 0 modules</p> <p><span class="medium">■</span> Medium: 6 modules</p> <p><span class="low">■</span> Low: 38 modules</p> </div> </div> <h2 class="medium">Medium Priority Modules</h2> <table> <tr> <th>Module</th> <th>Coverage</th> <th>Missing / Total</th> <th>Details</th> </tr> <tr class="priority-medium"> <td>src/pygithub_mcp_server/tools/repositories/tools.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 76%; background-color: #f0ad4e;"></div> </div> 76% </td> <td>43 / 182</td> <td><span class="toggle-details" onclick="toggleDetails('medium-0')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="medium-0" class="module-details"> <p><strong>Missing Lines:</strong> 57-58, 152-153, 163-167, 210-214, 252-262, 303-313, 352-362, 455-459</p> <p><strong>Ranges:</strong> 57-58, 152-153, 163-167, 210-214, 252-262, 303-313, 352-362, 455-459</p> </div> </td> </tr> <tr class="priority-medium"> <td>src/pygithub_mcp_server/operations/repositories.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 77%; background-color: #f0ad4e;"></div> </div> 77% </td> <td>32 / 150</td> <td><span class="toggle-details" onclick="toggleDetails('medium-1')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="medium-1" class="module-details"> <p><strong>Missing Lines:</strong> 53-55, 81->83, 83->85, 85->89, 92-94, 116->120, 123-125, 153-155, 193-195, 225, 244-246, 277->271, 279-281, 294->297, 309-311, 337, 352-354, 377, 396-398</p> <p><strong>Ranges:</strong> 53-55, 81 (branch), 83 (branch), 85 (branch), 92-94, 116 (branch), 123-125, 153-155, 193-195, 244-246, 277 (branch), 279-281, 294 (branch), 309-311, 352-354, 396-398</p> </div> </td> </tr> <tr class="priority-medium"> <td>src/pygithub_mcp_server/tools/issues/tools.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 79%; background-color: #f0ad4e;"></div> </div> 79% </td> <td>39 / 183</td> <td><span class="toggle-details" onclick="toggleDetails('medium-2')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="medium-2" class="module-details"> <p><strong>Missing Lines:</strong> 75-79, 112-113, 152-156, 193-197, 229-233, 304-308, 340-344, 376-380, 425-426</p> <p><strong>Ranges:</strong> 75-79, 112-113, 152-156, 193-197, 229-233, 304-308, 340-344, 376-380, 425-426</p> </div> </td> </tr> <tr class="priority-medium"> <td>src/pygithub_mcp_server/tools/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 80%; background-color: #f0ad4e;"></div> </div> 80% </td> <td>11 / 68</td> <td><span class="toggle-details" onclick="toggleDetails('medium-3')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="medium-3" class="module-details"> <p><strong>Missing Lines:</strong> 57->54, 68-76, 127, 130-131</p> <p><strong>Ranges:</strong> 57 (branch), 68-76, 130-131</p> </div> </td> </tr> <tr class="priority-medium"> <td>src/pygithub_mcp_server/version.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 80%; background-color: #f0ad4e;"></div> </div> 80% </td> <td>2 / 10</td> <td><span class="toggle-details" onclick="toggleDetails('medium-4')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="medium-4" class="module-details"> <p><strong>Missing Lines:</strong> 48, 56</p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-medium"> <td>src/pygithub_mcp_server/utils/environment.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 83%; background-color: #f0ad4e;"></div> </div> 83% </td> <td>6 / 52</td> <td><span class="toggle-details" onclick="toggleDetails('medium-5')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="medium-5" class="module-details"> <p><strong>Missing Lines:</strong> 29, 34-37, 44->exit, 109, 112, 114->121</p> <p><strong>Ranges:</strong> 34-37, 44 (branch), 114 (branch)</p> </div> </td> </tr> </table> <h2 class="low">Low Priority Modules <span class="toggle-details" onclick="toggleLowPriority()">Show</span></h2> <div id="low-priority-section" style="display: none;"> <table> <tr> <th>Module</th> <th>Coverage</th> <th>Missing / Total</th> <th>Details</th> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/common/pagination.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 85%; background-color: #5cb85c;"></div> </div> 85% </td> <td>9 / 52</td> <td><span class="toggle-details" onclick="toggleDetails('low-0')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-0" class="module-details"> <p><strong>Missing Lines:</strong> 41-43, 95-101</p> <p><strong>Ranges:</strong> 41-43, 95-101</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/client/client.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 87%; background-color: #5cb85c;"></div> </div> 87% </td> <td>6 / 61</td> <td><span class="toggle-details" onclick="toggleDetails('low-1')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-1" class="module-details"> <p><strong>Missing Lines:</strong> 60, 91, 94, 122-124</p> <p><strong>Ranges:</strong> 122-124</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/errors/handlers.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 88%; background-color: #5cb85c;"></div> </div> 88% </td> <td>13 / 106</td> <td><span class="toggle-details" onclick="toggleDetails('low-2')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-2" class="module-details"> <p><strong>Missing Lines:</strong> 57->64, 61-62, 65->71, 68-70, 95, 97, 99, 118-121, 143-145</p> <p><strong>Ranges:</strong> 57 (branch), 61-62, 65 (branch), 68-70, 118-121, 143-145</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/operations/issues.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 91%; background-color: #5cb85c;"></div> </div> 91% </td> <td>21 / 196</td> <td><span class="toggle-details" onclick="toggleDetails('low-3')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-3" class="module-details"> <p><strong>Missing Lines:</strong> 77, 214-226, 239-241, 245-246, 402-404</p> <p><strong>Ranges:</strong> 214-226, 239-241, 245-246, 402-404</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/responses.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 92%; background-color: #5cb85c;"></div> </div> 92% </td> <td>1 / 16</td> <td><span class="toggle-details" onclick="toggleDetails('low-4')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-4" class="module-details"> <p><strong>Missing Lines:</strong> 38</p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/server.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 93%; background-color: #5cb85c;"></div> </div> 93% </td> <td>1 / 25</td> <td><span class="toggle-details" onclick="toggleDetails('low-5')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-5" class="module-details"> <p><strong>Missing Lines:</strong> 20</p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/client/rate_limit.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 94%; background-color: #5cb85c;"></div> </div> 94% </td> <td>3 / 53</td> <td><span class="toggle-details" onclick="toggleDetails('low-6')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-6" class="module-details"> <p><strong>Missing Lines:</strong> 32-34, 46->49</p> <p><strong>Ranges:</strong> 32-34, 46 (branch)</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/config/settings.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 94%; background-color: #5cb85c;"></div> </div> 94% </td> <td>1 / 33</td> <td><span class="toggle-details" onclick="toggleDetails('low-7')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-7" class="module-details"> <p><strong>Missing Lines:</strong> 54->62, 59</p> <p><strong>Ranges:</strong> 54 (branch)</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/common/datetime.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 96%; background-color: #5cb85c;"></div> </div> 96% </td> <td>0 / 49</td> <td><span class="toggle-details" onclick="toggleDetails('low-8')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-8" class="module-details"> <p><strong>Missing Lines:</strong> 66->81, 76->81, 130->128</p> <p><strong>Ranges:</strong> 66 (branch), 76 (branch), 130 (branch)</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/errors/formatters.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 97%; background-color: #5cb85c;"></div> </div> 97% </td> <td>0 / 22</td> <td><span class="toggle-details" onclick="toggleDetails('low-9')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-9" class="module-details"> <p><strong>Missing Lines:</strong> 33->47</p> <p><strong>Ranges:</strong> 33 (branch)</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/schemas/repositories.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 97%; background-color: #5cb85c;"></div> </div> 97% </td> <td>2 / 138</td> <td><span class="toggle-details" onclick="toggleDetails('low-10')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-10" class="module-details"> <p><strong>Missing Lines:</strong> 122->127, 124, 218->223, 220</p> <p><strong>Ranges:</strong> 122 (branch), 218 (branch)</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/schemas/issues.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 99%; background-color: #5cb85c;"></div> </div> 99% </td> <td>0 / 176</td> <td><span class="toggle-details" onclick="toggleDetails('low-11')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-11" class="module-details"> <p><strong>Missing Lines:</strong> 259->264</p> <p><strong>Ranges:</strong> 259 (branch)</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 4</td> <td><span class="toggle-details" onclick="toggleDetails('low-12')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-12" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/__main__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 4</td> <td><span class="toggle-details" onclick="toggleDetails('low-13')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-13" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/client/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 3</td> <td><span class="toggle-details" onclick="toggleDetails('low-14')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-14" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/config/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 2</td> <td><span class="toggle-details" onclick="toggleDetails('low-15')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-15" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 9</td> <td><span class="toggle-details" onclick="toggleDetails('low-16')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-16" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/common/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 2</td> <td><span class="toggle-details" onclick="toggleDetails('low-17')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-17" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/issues/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 3</td> <td><span class="toggle-details" onclick="toggleDetails('low-18')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-18" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/issues/comments.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 6</td> <td><span class="toggle-details" onclick="toggleDetails('low-19')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-19" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/issues/issues.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 16</td> <td><span class="toggle-details" onclick="toggleDetails('low-20')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-20" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/parameters.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 70</td> <td><span class="toggle-details" onclick="toggleDetails('low-21')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-21" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/repositories/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 3</td> <td><span class="toggle-details" onclick="toggleDetails('low-22')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-22" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/repositories/contents.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 4</td> <td><span class="toggle-details" onclick="toggleDetails('low-23')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-23" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/repositories/repositories.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 4</td> <td><span class="toggle-details" onclick="toggleDetails('low-24')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-24" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/users/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 2</td> <td><span class="toggle-details" onclick="toggleDetails('low-25')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-25" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/converters/users/users.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 6</td> <td><span class="toggle-details" onclick="toggleDetails('low-26')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-26" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/errors/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 4</td> <td><span class="toggle-details" onclick="toggleDetails('low-27')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-27" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/errors/exceptions.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 21</td> <td><span class="toggle-details" onclick="toggleDetails('low-28')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-28" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/operations/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 2</td> <td><span class="toggle-details" onclick="toggleDetails('low-29')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-29" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/schemas/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 8</td> <td><span class="toggle-details" onclick="toggleDetails('low-30')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-30" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/schemas/base.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 27</td> <td><span class="toggle-details" onclick="toggleDetails('low-31')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-31" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/schemas/pull_requests.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 10</td> <td><span class="toggle-details" onclick="toggleDetails('low-32')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-32" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/schemas/responses.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 21</td> <td><span class="toggle-details" onclick="toggleDetails('low-33')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-33" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/schemas/search.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 14</td> <td><span class="toggle-details" onclick="toggleDetails('low-34')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-34" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/tools/issues/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 2</td> <td><span class="toggle-details" onclick="toggleDetails('low-35')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-35" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/tools/repositories/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 5</td> <td><span class="toggle-details" onclick="toggleDetails('low-36')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-36" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> <tr class="priority-low"> <td>src/pygithub_mcp_server/utils/__init__.py</td> <td> <div class="progress-bar"> <div class="progress-value" style="width: 100%; background-color: #5cb85c;"></div> </div> 100% </td> <td>0 / 2</td> <td><span class="toggle-details" onclick="toggleDetails('low-37')">Show Details</span></td> </tr> <tr> <td colspan="4"> <div id="low-37" class="module-details"> <p><strong>Missing Lines:</strong> </p> <p><strong>Ranges:</strong> None</p> </div> </td> </tr> </table> </div> </div> <div id="failures-tab" class="tab-content"> <h2>Test Failures Summary</h2> <div class="summary"> <div class="summary-item"> <h3>Other</h3> <p>5 failures</p> </div> <div class="summary-item"> <h3>Assertion Failure</h3> <p>2 failures</p> </div> </div> <table> <tr> <th>Test</th> <th>Category</th> <th>Duration</th> <th>Details</th> </tr> <tr class="test-failure"> <td>tests/integration/tools/repositories/test_repositories_tools_integration.py::test_search_repositories_empty_results</td> <td>Other</td> <td>0.000s</td> <td><span class="toggle-details" onclick="toggleDetails('failure-0')">Show Error</span></td> </tr> <tr> <td colspan="4"> <div id="failure-0" class="module-details"> <div class="test-failure-message">tests/integration/tools/repositories/test_repositories_tools_integration.py:30: in test_search_repositories_empty_results assert not result.get(&quot;is_error&quot;, False) E AttributeError: &#x27;function&#x27; object has no attribute &#x27;get&#x27;</div> </div> </td> </tr> <tr class="test-failure"> <td>tests/integration/tools/repositories/test_repositories_tools_integration.py::test_get_repository_integration</td> <td>Other</td> <td>0.000s</td> <td><span class="toggle-details" onclick="toggleDetails('failure-1')">Show Error</span></td> </tr> <tr> <td colspan="4"> <div id="failure-1" class="module-details"> <div class="test-failure-message">tests/integration/tools/repositories/test_repositories_tools_integration.py:51: in test_get_repository_integration assert not result.get(&quot;is_error&quot;, False) E AttributeError: &#x27;function&#x27; object has no attribute &#x27;get&#x27;</div> </div> </td> </tr> <tr class="test-failure"> <td>tests/integration/tools/repositories/test_repositories_tools_integration.py::test_list_commits_integration</td> <td>Other</td> <td>0.000s</td> <td><span class="toggle-details" onclick="toggleDetails('failure-2')">Show Error</span></td> </tr> <tr> <td colspan="4"> <div id="failure-2" class="module-details"> <div class="test-failure-message">tests/integration/tools/repositories/test_repositories_tools_integration.py:72: in test_list_commits_integration assert not result.get(&quot;is_error&quot;, False) E AttributeError: &#x27;function&#x27; object has no attribute &#x27;get&#x27;</div> </div> </td> </tr> <tr class="test-failure"> <td>tests/integration/tools/repositories/test_repositories_tools_integration.py::test_get_file_contents_integration</td> <td>Other</td> <td>0.000s</td> <td><span class="toggle-details" onclick="toggleDetails('failure-3')">Show Error</span></td> </tr> <tr> <td colspan="4"> <div id="failure-3" class="module-details"> <div class="test-failure-message">tests/integration/tools/repositories/test_repositories_tools_integration.py:97: in test_get_file_contents_integration if not result.get(&quot;is_error&quot;, False): E AttributeError: &#x27;function&#x27; object has no attribute &#x27;get&#x27;</div> </div> </td> </tr> <tr class="test-failure"> <td>tests/integration/tools/repositories/test_repositories_tools_integration.py::test_search_repositories_integration</td> <td>Other</td> <td>0.000s</td> <td><span class="toggle-details" onclick="toggleDetails('failure-4')">Show Error</span></td> </tr> <tr> <td colspan="4"> <div id="failure-4" class="module-details"> <div class="test-failure-message">tests/integration/tools/repositories/test_repositories_tools_integration.py:129: in test_search_repositories_integration assert not result.get(&quot;is_error&quot;, False) E AttributeError: &#x27;function&#x27; object has no attribute &#x27;get&#x27;</div> </div> </td> </tr> <tr class="test-failure"> <td>tests/unit/tools/repositories/test_repositories_tools_edge_cases.py::test_create_or_update_file_error_handling</td> <td>Assertion Failure</td> <td>0.000s</td> <td><span class="toggle-details" onclick="toggleDetails('failure-5')">Show Error</span></td> </tr> <tr> <td colspan="4"> <div id="failure-5" class="module-details"> <div class="test-failure-message">tests/unit/tools/repositories/test_repositories_tools_edge_cases.py:233: in test_create_or_update_file_error_handling assert result.get(&quot;is_error&quot;, False) is True E AssertionError: assert False is True E + where False = &lt;built-in method get of dict object at 0x77e57d0df480&gt;(&#x27;is_error&#x27;, False) E + where &lt;built-in method get of dict object at 0x77e57d0df480&gt; = {&#x27;content&#x27;: [{&#x27;text&#x27;: &#x27;{}&#x27;, &#x27;type&#x27;: &#x27;text&#x27;}]}.get</div> </div> </td> </tr> <tr class="test-failure"> <td>tests/unit/tools/repositories/test_repositories_tools_edge_cases.py::test_push_files_error_handling</td> <td>Assertion Failure</td> <td>0.000s</td> <td><span class="toggle-details" onclick="toggleDetails('failure-6')">Show Error</span></td> </tr> <tr> <td colspan="4"> <div id="failure-6" class="module-details"> <div class="test-failure-message">tests/unit/tools/repositories/test_repositories_tools_edge_cases.py:287: in test_push_files_error_handling assert result.get(&quot;is_error&quot;, False) is True E AssertionError: assert False is True E + where False = &lt;built-in method get of dict object at 0x77e57d070b40&gt;(&#x27;is_error&#x27;, False) E + where &lt;built-in method get of dict object at 0x77e57d070b40&gt; = {&#x27;content&#x27;: [{&#x27;text&#x27;: &#x27;{}&#x27;, &#x27;type&#x27;: &#x27;text&#x27;}]}.get</div> </div> </td> </tr> </table> </div> <script> function toggleDetails(id) { const element = document.getElementById(id); if (element.style.display === 'none' || !element.style.display) { element.style.display = 'block'; } else { element.style.display = 'none'; } } function toggleLowPriority() { const section = document.getElementById('low-priority-section'); const button = document.querySelector('h2.low .toggle-details'); if (section.style.display === 'none') { section.style.display = 'block'; button.textContent = 'Hide'; } else { section.style.display = 'none'; button.textContent = 'Show'; } } function openTab(evt, tabName) { // Hide all tab content const tabContents = document.getElementsByClassName("tab-content"); for (let i = 0; i < tabContents.length; i++) { tabContents[i].className = tabContents[i].className.replace(" active", ""); } // Remove active class from all tabs const tabs = document.getElementsByClassName("tab"); for (let i = 0; i < tabs.length; i++) { tabs[i].className = tabs[i].className.replace(" active", ""); } // Show the current tab and add an "active" class to the button document.getElementById(tabName).className += " active"; evt.currentTarget.className += " active"; } </script> </div> </body> </html>