Repository navigation
Commit 205d9f9
fix(billing-cost-management-mcp-server): read rec-details templates as UTF-8 (#4815)
* fix(billing-cost-management-mcp-server): read rec-details templates as UTF-8
get_template_for_recommendation opened the bundled recommendation
templates with the locale's default encoding. All nine templates contain
non-ASCII characters, so on a host whose default is not UTF-8 (for
example Windows with cp1252) eight of them came back with mojibake, and
the ecs_service template could not be decoded at all. The surrounding
except/pass turned that into None, so rec-details silently dropped the
template for EcsService recommendations.
Open the template with encoding='utf-8'. Add tests that load every
bundled template under a simulated cp1252 default, so they also fail on
UTF-8 platforms without the fix, and a CHANGELOG entry.
* test(billing-cost-management-mcp-server): correct legacy_default_encoding docstring
The docstring said the fixture also changes Path.read_text(). It does only
on Python 3.11+: on 3.10 pathlib binds io.open at import time, so patching
io.open does not reach it. The tests exercise the builtin open() that
get_template_for_recommendation uses and fail without the fix on 3.10,
3.11 and 3.12; only the description was wrong.
---------
Co-authored-by: finklen-amazon <finklen@amazon.com>1 parent 549416f commit 205d9f9
3 files changed
Lines changed: 80 additions & 1 deletion
File tree
- src/billing-cost-management-mcp-server
- awslabs/billing_cost_management_mcp_server/tools
- tests/tools
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
445 | | - | |
| 445 | + | |
446 | 446 | | |
447 | 447 | | |
448 | 448 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
27 | 29 | | |
| 30 | + | |
28 | 31 | | |
29 | 32 | | |
30 | 33 | | |
| |||
42 | 45 | | |
43 | 46 | | |
44 | 47 | | |
| 48 | + | |
45 | 49 | | |
46 | 50 | | |
47 | 51 | | |
| |||
1203 | 1207 | | |
1204 | 1208 | | |
1205 | 1209 | | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
1206 | 1284 | | |
1207 | 1285 | | |
1208 | 1286 | | |
| |||
0 commit comments