PyGithub MCP Server
by AstroMined
<!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("is_error", False)
E AttributeError: 'function' object has no attribute 'get'</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("is_error", False)
E AttributeError: 'function' object has no attribute 'get'</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("is_error", False)
E AttributeError: 'function' object has no attribute 'get'</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("is_error", False):
E AttributeError: 'function' object has no attribute 'get'</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("is_error", False)
E AttributeError: 'function' object has no attribute 'get'</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("is_error", False) is True
E AssertionError: assert False is True
E + where False = <built-in method get of dict object at 0x77e57d0df480>('is_error', False)
E + where <built-in method get of dict object at 0x77e57d0df480> = {'content': [{'text': '{}', 'type': 'text'}]}.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("is_error", False) is True
E AssertionError: assert False is True
E + where False = <built-in method get of dict object at 0x77e57d070b40>('is_error', False)
E + where <built-in method get of dict object at 0x77e57d070b40> = {'content': [{'text': '{}', 'type': 'text'}]}.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>