coverage_report.json•21 kB
{
"timestamp": "2025-03-13 01:12:08",
"summary": {
"overall_coverage": 70.0,
"total_statements": 1869,
"total_missing": 480,
"modules_count": 44,
"high_priority_count": 11,
"medium_priority_count": 7,
"low_priority_count": 26
},
"high_priority_modules": [
{
"name": "src/pygithub_mcp_server/__main__.py",
"coverage": 0,
"statements": 4,
"missing": 4,
"missing_lines": "6-11",
"parsed_lines": [
6,
7,
8,
9,
10,
11
],
"missing_ranges": [
"6-11"
]
},
{
"name": "src/pygithub_mcp_server/converters/parameters.py",
"coverage": 14,
"statements": 70,
"missing": 56,
"missing_lines": "23-34, 46-65, 77-101, 113-134, 150, 153, 156",
"parsed_lines": [
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
150,
153,
156
],
"missing_ranges": [
"23-34",
"46-65",
"77-101",
"113-134"
]
},
{
"name": "src/pygithub_mcp_server/converters/responses.py",
"coverage": 21,
"statements": 16,
"missing": 11,
"missing_lines": "29-40, 56-59",
"parsed_lines": [
32,
33,
34,
35,
36,
37,
38,
39,
40,
56,
57,
58,
59,
29,
30,
31
],
"missing_ranges": [
"29-40",
"56-59"
]
},
{
"name": "src/pygithub_mcp_server/converters/common/datetime.py",
"coverage": 34,
"statements": 49,
"missing": 29,
"missing_lines": "43, 47, 51, 62, 63->81, 66->81, 70-78, 82-84, 102-115, 124-135",
"parsed_lines": [
128,
129,
130,
131,
132,
133,
134,
135,
43,
47,
51,
62,
63,
66,
70,
71,
72,
73,
74,
75,
76,
77,
78,
82,
83,
84,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
124,
125,
126,
127
],
"missing_ranges": [
"63 (branch)",
"66 (branch)",
"70-78",
"82-84",
"102-115",
"124-135"
]
},
{
"name": "src/pygithub_mcp_server/errors/formatters.py",
"coverage": 44,
"statements": 22,
"missing": 10,
"missing_lines": "33->47, 37-45, 59",
"parsed_lines": [
33,
37,
38,
39,
40,
41,
42,
43,
44,
45,
59
],
"missing_ranges": [
"33 (branch)",
"37-45"
]
},
{
"name": "src/pygithub_mcp_server/config/settings.py",
"coverage": 47,
"statements": 33,
"missing": 15,
"missing_lines": "48-68",
"parsed_lines": [
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68
],
"missing_ranges": [
"48-68"
]
},
{
"name": "src/pygithub_mcp_server/utils/environment.py",
"coverage": 48,
"statements": 52,
"missing": 23,
"missing_lines": "29, 34-37, 44->exit, 67, 84-89, 106-121",
"parsed_lines": [
29,
34,
35,
36,
37,
44,
67,
84,
85,
86,
87,
88,
89,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121
],
"missing_ranges": [
"34-37",
"44 (branch)",
"84-89",
"106-121"
]
},
{
"name": "src/pygithub_mcp_server/tools/repositories/tools.py",
"coverage": 52,
"statements": 182,
"missing": 87,
"missing_lines": "57-58, 68-72, 92-120, 139-167, 204-214, 247-248, 258-262, 309-313, 340-343, 352-362, 390-391, 406-410, 449-459",
"parsed_lines": [
57,
58,
68,
69,
70,
71,
72,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
247,
248,
258,
259,
260,
261,
262,
309,
310,
311,
312,
313,
340,
341,
342,
343,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
390,
391,
406,
407,
408,
409,
410,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459
],
"missing_ranges": [
"57-58",
"68-72",
"92-120",
"139-167",
"204-214",
"247-248",
"258-262",
"309-313",
"340-343",
"352-362",
"390-391",
"406-410",
"449-459"
]
},
{
"name": "src/pygithub_mcp_server/errors/handlers.py",
"coverage": 62,
"statements": 106,
"missing": 40,
"missing_lines": "49-51, 54->64, 57->64, 61-62, 65->71, 68-70, 75-80, 91, 93, 95, 97, 99, 102-103, 107-126, 141-145, 169->168, 177",
"parsed_lines": [
141,
142,
143,
144,
145,
169,
49,
50,
51,
177,
54,
57,
61,
62,
65,
68,
69,
70,
75,
76,
77,
78,
79,
80,
91,
93,
95,
97,
99,
102,
103,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126
],
"missing_ranges": [
"49-51",
"54 (branch)",
"57 (branch)",
"61-62",
"65 (branch)",
"68-70",
"75-80",
"102-103",
"107-126",
"141-145",
"169 (branch)"
]
},
{
"name": "src/pygithub_mcp_server/operations/repositories.py",
"coverage": 65,
"statements": 193,
"missing": 58,
"missing_lines": "54-55, 70-94, 109-125, 153-155, 178, 185, 235->239, 245->249, 250-251, 253, 254->258, 258->265, 260-261, 270->272, 272->274, 274->280, 276-277, 332-333, 350, 359-362, 376-378, 404, 463-465",
"parsed_lines": [
54,
55,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
153,
154,
155,
178,
185,
235,
245,
250,
251,
253,
254,
258,
260,
261,
270,
272,
274,
276,
277,
332,
333,
350,
359,
360,
361,
362,
376,
377,
378,
404,
463,
464,
465
],
"missing_ranges": [
"54-55",
"70-94",
"109-125",
"153-155",
"235 (branch)",
"245 (branch)",
"250-251",
"254 (branch)",
"258 (branch)",
"260-261",
"270 (branch)",
"272 (branch)",
"274 (branch)",
"276-277",
"332-333",
"359-362",
"376-378",
"463-465"
]
},
{
"name": "src/pygithub_mcp_server/converters/common/pagination.py",
"coverage": 68,
"statements": 52,
"missing": 19,
"missing_lines": "38-43, 72-78, 95-101",
"parsed_lines": [
38,
39,
40,
41,
42,
43,
72,
73,
74,
75,
76,
77,
78,
95,
96,
97,
98,
99,
100,
101
],
"missing_ranges": [
"38-43",
"72-78",
"95-101"
]
}
],
"medium_priority_modules": [
{
"name": "src/pygithub_mcp_server/tools/__init__.py",
"coverage": 75,
"statements": 68,
"missing": 14,
"missing_lines": "55->54, 57->54, 68-76, 127-131, 136",
"parsed_lines": [
128,
129,
130,
131,
68,
69,
70,
71,
72,
73,
74,
75,
76,
136,
55,
57,
127
],
"missing_ranges": [
"55 (branch)",
"57 (branch)",
"68-76",
"127-131"
]
},
{
"name": "src/pygithub_mcp_server/schemas/responses.py",
"coverage": 78,
"statements": 21,
"missing": 3,
"missing_lines": "23-25",
"parsed_lines": [
24,
25,
23
],
"missing_ranges": [
"23-25"
]
},
{
"name": "src/pygithub_mcp_server/schemas/repositories.py",
"coverage": 79,
"statements": 138,
"missing": 18,
"missing_lines": "29, 37, 45, 53, 71, 79, 87, 115, 122->127, 124, 126, 146-148, 164, 193, 211, 218->223, 220, 222",
"parsed_lines": [
146,
147,
148,
29,
164,
37,
45,
53,
193,
71,
79,
211,
87,
218,
220,
222,
115,
122,
124,
126
],
"missing_ranges": [
"122 (branch)",
"146-148",
"218 (branch)"
]
},
{
"name": "src/pygithub_mcp_server/tools/issues/tools.py",
"coverage": 79,
"statements": 183,
"missing": 39,
"missing_lines": "75-79, 112-113, 152-156, 193-197, 229-233, 304-308, 340-344, 376-380, 425-426",
"parsed_lines": [
152,
153,
154,
155,
156,
425,
426,
304,
305,
306,
307,
308,
193,
194,
195,
196,
197,
75,
76,
77,
78,
79,
340,
341,
342,
343,
344,
229,
230,
231,
232,
233,
112,
113,
376,
377,
378,
379,
380
],
"missing_ranges": [
"75-79",
"112-113",
"152-156",
"193-197",
"229-233",
"304-308",
"340-344",
"376-380",
"425-426"
]
},
{
"name": "src/pygithub_mcp_server/version.py",
"coverage": 80,
"statements": 10,
"missing": 2,
"missing_lines": "48, 56",
"parsed_lines": [
48,
56
],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/schemas/base.py",
"coverage": 82,
"statements": 27,
"missing": 3,
"missing_lines": "23, 31, 48",
"parsed_lines": [
48,
31,
23
],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/issues/issues.py",
"coverage": 83,
"statements": 16,
"missing": 2,
"missing_lines": "46, 105",
"parsed_lines": [
105,
46
],
"missing_ranges": []
}
],
"low_priority_modules": [
{
"name": "src/pygithub_mcp_server/schemas/issues.py",
"coverage": 86,
"statements": 176,
"missing": 16,
"missing_lines": "43, 117->122, 153-156, 199, 207, 224, 252, 259->264, 261, 263, 295-298, 315, 341, 358",
"parsed_lines": [
259,
261,
263,
153,
154,
155,
156,
295,
296,
297,
298,
43,
315,
199,
207,
341,
224,
358,
117,
252
],
"missing_ranges": [
"117 (branch)",
"153-156",
"259 (branch)",
"295-298"
]
},
{
"name": "src/pygithub_mcp_server/client/client.py",
"coverage": 87,
"statements": 61,
"missing": 6,
"missing_lines": "60, 91, 94, 122-124",
"parsed_lines": [
91,
124,
122,
123,
60,
94
],
"missing_ranges": [
"122-124"
]
},
{
"name": "src/pygithub_mcp_server/operations/issues.py",
"coverage": 91,
"statements": 196,
"missing": 21,
"missing_lines": "77, 214-226, 239-241, 245-246, 402-404",
"parsed_lines": [
402,
403,
404,
77,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
239,
240,
241,
245,
246
],
"missing_ranges": [
"214-226",
"239-241",
"245-246",
"402-404"
]
},
{
"name": "src/pygithub_mcp_server/server.py",
"coverage": 93,
"statements": 25,
"missing": 1,
"missing_lines": "20",
"parsed_lines": [
20
],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/client/rate_limit.py",
"coverage": 94,
"statements": 53,
"missing": 3,
"missing_lines": "32-34, 46->49",
"parsed_lines": [
32,
33,
34,
46
],
"missing_ranges": [
"32-34",
"46 (branch)"
]
},
{
"name": "src/pygithub_mcp_server/__init__.py",
"coverage": 100,
"statements": 4,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/client/__init__.py",
"coverage": 100,
"statements": 3,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/config/__init__.py",
"coverage": 100,
"statements": 2,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/__init__.py",
"coverage": 100,
"statements": 9,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/common/__init__.py",
"coverage": 100,
"statements": 2,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/issues/__init__.py",
"coverage": 100,
"statements": 3,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/issues/comments.py",
"coverage": 100,
"statements": 6,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/repositories/__init__.py",
"coverage": 100,
"statements": 3,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/repositories/contents.py",
"coverage": 100,
"statements": 4,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/repositories/repositories.py",
"coverage": 100,
"statements": 4,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/users/__init__.py",
"coverage": 100,
"statements": 2,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/converters/users/users.py",
"coverage": 100,
"statements": 6,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/errors/__init__.py",
"coverage": 100,
"statements": 4,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/errors/exceptions.py",
"coverage": 100,
"statements": 21,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/operations/__init__.py",
"coverage": 100,
"statements": 2,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/schemas/__init__.py",
"coverage": 100,
"statements": 8,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/schemas/pull_requests.py",
"coverage": 100,
"statements": 10,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/schemas/search.py",
"coverage": 100,
"statements": 14,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/tools/issues/__init__.py",
"coverage": 100,
"statements": 2,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/tools/repositories/__init__.py",
"coverage": 100,
"statements": 5,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
},
{
"name": "src/pygithub_mcp_server/utils/__init__.py",
"coverage": 100,
"statements": 2,
"missing": 0,
"missing_lines": "",
"parsed_lines": [],
"missing_ranges": []
}
]
}