eodag
eodag copied to clipboard
fix: NoneType error in server mode download with api plugin
fixed the NoneType error which was occurring because in case of an ApiPlugin we don't have an auth plugin.
also fixed some defaults for ecmwf
Test Results
4 files + 1 4 suites +1 4m 50s :stopwatch: + 3m 2s 524 tests ± 0 521 :white_check_mark: + 1 3 :zzz: ± 0 0 :x: - 1 2 096 runs +1 456 2 004 :white_check_mark: +1 407 92 :zzz: +50 0 :x: - 1
Results for commit 687c1928. ± Comparison against base commit 2c0e6904.
:recycle: This comment has been updated with latest results.
Code Coverage (Ubuntu)
Filename Stmts Miss Cover Missing
----------------------------------------- ------- ------ ------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py 11 0 100.00%
cli.py 303 51 83.17% 60, 646-692, 794-845, 849
config.py 341 27 92.08% 81-83, 92, 100, 104-106, 179, 191, 444-446, 510-513, 560-561, 570-571, 650, 719-724, 726
crunch.py 6 6 0.00% 18-24
api/__init__.py 1 0 100.00%
api/core.py 739 76 89.72% 88-97, 370, 597, 641-644, 682, 787, 791-796, 822, 892, 969, 1082, 1172-1184, 1224, 1226, 1230, 1253, 1257-1268, 1281-1287, 1377-1380, 1409-1429, 1486, 1503-1506, 1518-1521, 1889, 1922-1928, 2193, 2197-2200, 2214-2216, 2251
api/search_result.py 44 6 86.36% 33-35, 70, 79, 86, 100
api/product/__init__.py 6 0 100.00%
api/product/_assets.py 44 5 88.64% 27-29, 79, 129
api/product/_product.py 215 34 84.19% 53-60, 64-66, 170-177, 261-262, 352, 367-368, 393, 454, 468-471, 484, 508-511, 554-560
api/product/metadata_mapping.py 653 80 87.75% 67-69, 130-132, 233, 265-266, 312-313, 323-335, 337, 348, 354-366, 407-410, 447, 468-471, 494, 502-503, 579-580, 604-605, 611-614, 629-630, 779, 825, 1078, 1092-1112, 1132, 1137, 1247, 1269, 1283, 1296-1315, 1354, 1406, 1444-1448, 1467
api/product/drivers/__init__.py 6 0 100.00%
api/product/drivers/base.py 8 2 75.00% 23, 41
plugins/__init__.py 1 0 100.00%
plugins/base.py 23 3 86.96% 25, 48, 55
plugins/manager.py 132 14 89.39% 49-51, 105-110, 156, 195, 215, 241, 280-281
plugins/apis/__init__.py 1 0 100.00%
plugins/apis/base.py 4 0 100.00%
plugins/apis/ecmwf.py 98 15 84.69% 47-55, 156-158, 205-206, 232-234
plugins/apis/usgs.py 172 36 79.07% 59-64, 128, 201, 235, 270-272, 277, 303-304, 309, 339-346, 357-362, 384-390, 392-398, 421
plugins/authentication/__init__.py 7 1 85.71% 31
plugins/authentication/aws_auth.py 20 2 90.00% 25-27
plugins/authentication/base.py 19 3 84.21% 26, 34, 47
plugins/authentication/generic.py 16 3 81.25% 28, 40, 50
plugins/authentication/header.py 17 1 94.12% 27
plugins/authentication/keycloak.py 88 17 80.68% 32-34, 159-160, 190-212, 238-243
plugins/authentication/oauth.py 15 8 46.67% 25, 32-34, 38-41
plugins/authentication/openid_connect.py 117 11 90.60% 40-42, 153, 159, 172-173, 184-189
plugins/authentication/qsauth.py 36 2 94.44% 32, 83
plugins/authentication/sas_auth.py 49 2 95.92% 32, 76
plugins/authentication/token.py 86 17 80.23% 35-37, 86, 99, 101, 116-128, 170-173
plugins/authentication/token_exchange.py 35 19 45.71% 74-80, 92-120
plugins/crunch/__init__.py 1 0 100.00%
plugins/crunch/base.py 10 2 80.00% 25, 38
plugins/crunch/filter_date.py 62 15 75.81% 30, 53-58, 72, 81, 90, 93, 105-107, 116-118, 125
plugins/crunch/filter_latest_intersect.py 50 10 80.00% 32-34, 51-52, 71, 80-83, 85, 92-95
plugins/crunch/filter_latest_tpl_name.py 33 2 93.94% 28, 86
plugins/crunch/filter_overlap.py 68 17 75.00% 28-30, 33, 82-85, 91, 99, 110-126
plugins/crunch/filter_property.py 33 8 75.76% 29, 60-65, 68-69, 85-89
plugins/download/__init__.py 1 0 100.00%
plugins/download/aws.py 492 165 66.46% 77-83, 272, 285, 352-355, 369-373, 419-421, 425, 459-460, 466-470, 503, 538, 542, 549, 579-587, 591, 629-637, 644-646, 687-761, 779-840, 851-856, 872-885, 914, 929-931, 934, 944-952, 960-973, 983-1002, 1009-1021, 1062, 1088, 1133-1135, 1355
plugins/download/base.py 260 57 78.08% 58-64, 145, 180, 319-320, 340-346, 377-381, 387-388, 432, 435-449, 461, 465, 538-542, 572-573, 581-598, 605-613, 615-619, 666, 688, 710, 718
plugins/download/creodias_s3.py 17 9 47.06% 44-58
plugins/download/http.py 529 132 75.05% 85-91, 124, 203-213, 215-216, 251-254, 318-321, 323-324, 331-336, 354-369, 386-388, 400, 448, 455-461, 479, 493, 507, 515-517, 533-538, 549, 567, 606-610, 632, 672, 717, 731-737, 773-834, 852, 885-894, 920-921, 948-953, 959, 975, 992-993, 1020-1021, 1028, 1090-1096, 1151-1152, 1158, 1168, 1234, 1238, 1252-1268
plugins/download/s3rest.py 118 27 77.12% 55-58, 121, 162, 197, 227-234, 237-239, 243, 256-262, 270-271, 274-278, 301, 322-325
plugins/search/__init__.py 1 0 100.00%
plugins/search/base.py 127 9 92.91% 49-54, 108, 112, 275, 295, 378
plugins/search/build_search_result.py 179 24 86.59% 62, 97, 142-143, 149, 160, 296-299, 333, 390-407, 469, 472, 482, 499, 527, 529
plugins/search/creodias_s3.py 54 3 94.44% 55, 73, 107
plugins/search/csw.py 107 83 22.43% 43-45, 57-58, 62-63, 74-122, 128-141, 149-181, 199-240
plugins/search/data_request_search.py 197 65 67.01% 52, 89-92, 108, 120, 124-125, 139, 144, 149, 156, 169-172, 226-227, 231, 241-247, 252, 280-283, 291-302, 319, 321, 328-329, 331-332, 350-354, 387, 394, 405, 418, 424-436, 441
plugins/search/qssearch.py 553 58 89.51% 96, 368-374, 382-383, 490-496, 551-554, 627-628, 669, 687, 702, 755, 776, 779-780, 789, 800, 809, 832, 892-897, 901-902, 930, 1001, 1048, 1124-1128, 1194-1195, 1216, 1241-1253, 1260, 1291-1292, 1302-1308, 1351, 1366, 1386, 1476
plugins/search/static_stac_search.py 47 3 93.62% 39-40, 82
rest/__init__.py 5 2 60.00% 21-22
rest/core.py 206 16 92.23% 66-72, 261, 345, 605, 607, 610-612, 684, 691-695
rest/server.py 299 54 81.94% 80-81, 107, 130-131, 244-246, 262, 302-303, 315-331, 423-428, 460, 627-634, 667, 711-712, 803-805, 822-827, 858, 860, 864-865, 869-870
rest/stac.py 436 86 80.28% 60-62, 272, 294, 366, 403-405, 428, 463-464, 550-595, 640, 660-661, 841, 906-908, 1127, 1137-1149, 1162-1184, 1198-1243, 1402-1403
rest/types/__init__.py 1 0 100.00%
rest/types/eodag_search.py 185 9 95.14% 52-55, 231-235, 288, 291, 359
rest/types/stac_queryables.py 30 2 93.33% 28, 114
rest/types/stac_search.py 122 10 91.80% 48-51, 167, 182-184, 192, 196
rest/utils/__init__.py 96 13 86.46% 51, 108-109, 128-130, 182, 192-206
rest/utils/cql_evaluate.py 48 5 89.58% 69, 76, 90, 97, 105
rest/utils/rfc3339.py 31 3 90.32% 78, 90, 92
types/__init__.py 76 6 92.11% 53, 87, 154, 174, 179, 187
types/bbox.py 43 19 55.81% 46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py 9 0 100.00%
types/queryables.py 81 0 100.00%
types/search_args.py 70 18 74.29% 60-64, 71-88, 104
types/whoosh.py 15 0 100.00%
utils/__init__.py 502 41 91.83% 84, 89, 110-112, 193-194, 203-230, 233, 247, 329-333, 409-413, 434-436, 518, 533, 571-572, 968-971, 979-980, 1022, 1102, 1186, 1204, 1380
utils/constraints.py 123 42 65.85% 31, 84-93, 134, 139, 143, 154, 177-178, 189-197, 206, 220-236, 245-256
utils/exceptions.py 37 2 94.59% 23, 93
utils/import_system.py 30 20 33.33% 27, 67-81, 93-103
utils/logging.py 29 1 96.55% 123
utils/notebook.py 44 23 47.73% 25-29, 36-41, 58-62, 72-78, 83-87
utils/rest.py 28 1 96.43% 49
utils/stac_reader.py 91 28 69.23% 55-56, 63-86, 93-95, 99, 141, 155-158
TOTAL 8889 1531 82.78%
Diff against develop
Filename Stmts Miss Cover
------------ ------- ------ -------
rest/stac.py 0 -3 +0.69%
TOTAL 0 -3 +0.04%
Results for commit: 687c19282e81aba7741f57af1d44c60c8031fccd
Minimum allowed coverage is 70%
:recycle: This comment has been updated with latest results
Code Coverage (Windows)
Filename Stmts Miss Cover Missing
----------------------------------------- ------- ------ ------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py 11 0 100.00%
cli.py 303 51 83.17% 60, 646-692, 794-845, 849
config.py 341 28 91.79% 81-83, 92, 100, 104-106, 179, 191, 444-446, 510-513, 560-561, 570-571, 650, 684, 719-724, 726
crunch.py 6 6 0.00% 18-24
api/__init__.py 1 0 100.00%
api/core.py 739 76 89.72% 88-97, 370, 597, 641-644, 682, 787, 791-796, 822, 892, 969, 1082, 1172-1184, 1224, 1226, 1230, 1253, 1257-1268, 1281-1287, 1377-1380, 1409-1429, 1486, 1503-1506, 1518-1521, 1889, 1922-1928, 2193, 2197-2200, 2214-2216, 2251
api/search_result.py 44 6 86.36% 33-35, 70, 79, 86, 100
api/product/__init__.py 6 0 100.00%
api/product/_assets.py 44 5 88.64% 27-29, 79, 129
api/product/_product.py 215 34 84.19% 53-60, 64-66, 170-177, 261-262, 352, 367-368, 393, 454, 468-471, 484, 508-511, 554-560
api/product/metadata_mapping.py 653 81 87.60% 67-69, 130-132, 233, 265-266, 312-313, 323-335, 337, 348, 354-366, 407-410, 447, 468-471, 494, 502-503, 579-580, 604-605, 611-614, 629-630, 779, 825, 1078, 1092-1112, 1132, 1137, 1247, 1269, 1283, 1296-1315, 1354, 1406, 1429, 1444-1448, 1467
api/product/drivers/__init__.py 6 0 100.00%
api/product/drivers/base.py 8 2 75.00% 23, 41
plugins/__init__.py 1 0 100.00%
plugins/base.py 23 4 82.61% 25, 48, 55, 68
plugins/manager.py 132 14 89.39% 49-51, 105-110, 156, 195, 215, 241, 280-281
plugins/apis/__init__.py 1 0 100.00%
plugins/apis/base.py 4 0 100.00%
plugins/apis/ecmwf.py 98 15 84.69% 47-55, 156-158, 205-206, 232-234
plugins/apis/usgs.py 172 36 79.07% 59-64, 128, 201, 235, 270-272, 277, 303-304, 309, 339-346, 357-362, 384-390, 392-398, 421
plugins/authentication/__init__.py 7 1 85.71% 31
plugins/authentication/aws_auth.py 20 2 90.00% 25-27
plugins/authentication/base.py 19 3 84.21% 26, 34, 47
plugins/authentication/generic.py 16 3 81.25% 28, 40, 50
plugins/authentication/header.py 17 1 94.12% 27
plugins/authentication/keycloak.py 88 17 80.68% 32-34, 159-160, 190-212, 238-243
plugins/authentication/oauth.py 15 8 46.67% 25, 32-34, 38-41
plugins/authentication/openid_connect.py 117 11 90.60% 40-42, 153, 159, 172-173, 184-189
plugins/authentication/qsauth.py 36 2 94.44% 32, 83
plugins/authentication/sas_auth.py 49 2 95.92% 32, 76
plugins/authentication/token.py 86 17 80.23% 35-37, 86, 99, 101, 116-128, 170-173
plugins/authentication/token_exchange.py 35 19 45.71% 74-80, 92-120
plugins/crunch/__init__.py 1 0 100.00%
plugins/crunch/base.py 10 2 80.00% 25, 38
plugins/crunch/filter_date.py 62 15 75.81% 30, 53-58, 72, 81, 90, 93, 105-107, 116-118, 125
plugins/crunch/filter_latest_intersect.py 50 35 30.00% 32-34, 48-53, 69-114
plugins/crunch/filter_latest_tpl_name.py 33 2 93.94% 28, 86
plugins/crunch/filter_overlap.py 68 17 75.00% 28-30, 33, 82-85, 91, 99, 110-126
plugins/crunch/filter_property.py 33 8 75.76% 29, 60-65, 68-69, 85-89
plugins/download/__init__.py 1 0 100.00%
plugins/download/aws.py 492 165 66.46% 77-83, 272, 285, 352-355, 369-373, 419-421, 425, 459-460, 466-470, 503, 538, 542, 549, 579-587, 591, 629-637, 644-646, 687-761, 779-840, 851-856, 872-885, 914, 929-931, 934, 944-952, 960-973, 983-1002, 1009-1021, 1062, 1088, 1133-1135, 1355
plugins/download/base.py 260 59 77.31% 58-64, 145, 180, 250-252, 319-320, 340-346, 377-381, 387-388, 432, 435-449, 461, 465, 538-542, 572-573, 581-598, 605-613, 615-619, 666, 688, 710, 718
plugins/download/creodias_s3.py 17 9 47.06% 44-58
plugins/download/http.py 529 132 75.05% 85-91, 124, 203-213, 215-216, 251-254, 318-321, 323-324, 331-336, 354-369, 386-388, 400, 448, 455-461, 479, 493, 507, 515-517, 533-538, 549, 567, 606-610, 632, 672, 717, 731-737, 773-834, 852, 885-894, 920-921, 948-953, 959, 975, 992-993, 1020-1021, 1028, 1090-1096, 1151-1152, 1158, 1168, 1234, 1238, 1252-1268
plugins/download/s3rest.py 118 27 77.12% 55-58, 121, 162, 197, 227-234, 237-239, 243, 256-262, 270-271, 274-278, 301, 322-325
plugins/search/__init__.py 1 0 100.00%
plugins/search/base.py 127 9 92.91% 49-54, 108, 112, 275, 295, 378
plugins/search/build_search_result.py 179 31 82.68% 62, 97, 142-143, 149, 160, 296-299, 333, 390-407, 469, 472, 482, 499, 519-534
plugins/search/creodias_s3.py 54 3 94.44% 55, 73, 107
plugins/search/csw.py 107 83 22.43% 43-45, 57-58, 62-63, 74-122, 128-141, 149-181, 199-240
plugins/search/data_request_search.py 197 65 67.01% 52, 89-92, 108, 120, 124-125, 139, 144, 149, 156, 169-172, 226-227, 231, 241-247, 252, 280-283, 291-302, 319, 321, 328-329, 331-332, 350-354, 387, 394, 405, 418, 424-436, 441
plugins/search/qssearch.py 553 82 85.17% 96, 368-374, 382-383, 490-496, 551-554, 627-628, 669, 687, 702, 755, 776, 779-780, 789, 800, 809, 832, 892-897, 901-902, 930, 1001, 1048, 1124-1128, 1194-1195, 1216, 1241-1253, 1260, 1291-1292, 1302-1308, 1351, 1366, 1386, 1436-1505
plugins/search/static_stac_search.py 47 3 93.62% 39-40, 82
rest/__init__.py 5 2 60.00% 21-22
rest/core.py 206 95 53.88% 66-72, 153, 155, 157, 163-164, 185-193, 199-205, 252-306, 319-355, 505-536, 554, 604-643, 684, 691-695
rest/server.py 299 299 0.00% 18-883
rest/stac.py 436 145 66.74% 60-62, 214, 272, 294, 366, 403-405, 428, 463-464, 550-595, 640, 648-649, 653-661, 783, 841, 906-908, 925-927, 935-937, 950-952, 966-983, 993-1014, 1024-1046, 1054-1071, 1094-1117, 1127, 1137-1149, 1162-1184, 1198-1243, 1396-1422
rest/types/__init__.py 1 0 100.00%
rest/types/eodag_search.py 185 18 90.27% 52-55, 231-235, 268-270, 288, 291, 297, 301, 359, 371-374
rest/types/stac_queryables.py 30 6 80.00% 28, 53-58, 114
rest/types/stac_search.py 122 12 90.16% 48-51, 167, 182-184, 192, 196, 240, 243
rest/utils/__init__.py 96 31 67.71% 51, 79-85, 105, 108-109, 128-130, 143, 150, 175-183, 190-211
rest/utils/cql_evaluate.py 48 5 89.58% 69, 76, 90, 97, 105
rest/utils/rfc3339.py 31 5 83.87% 73-74, 78, 90, 92
types/__init__.py 76 11 85.53% 53, 87, 127, 154, 164-166, 174, 179, 187, 197
types/bbox.py 43 19 55.81% 46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py 9 0 100.00%
types/queryables.py 81 0 100.00%
types/search_args.py 70 18 74.29% 60-64, 71-88, 104
types/whoosh.py 15 0 100.00%
utils/__init__.py 502 42 91.63% 84, 89, 110-112, 193-194, 203-230, 233, 247, 329-333, 409-413, 434-436, 518, 533, 571-572, 968-971, 979-980, 1022, 1102, 1185-1186, 1204, 1380
utils/constraints.py 123 42 65.85% 31, 84-93, 134, 139, 143, 154, 177-178, 189-197, 206, 220-236, 245-256
utils/exceptions.py 37 2 94.59% 23, 93
utils/import_system.py 30 20 33.33% 27, 67-81, 93-103
utils/logging.py 29 1 96.55% 123
utils/notebook.py 44 23 47.73% 25-29, 36-41, 58-62, 72-78, 83-87
utils/rest.py 28 1 96.43% 49
utils/stac_reader.py 91 28 69.23% 55-56, 63-86, 93-95, 99, 141, 155-158
TOTAL 8889 2016 77.32%
Diff against develop
Filename Stmts Miss Cover
------------ ------- ------ -------
rest/stac.py 0 -3 +0.68%
TOTAL 0 -3 +0.03%
Results for commit: 687c19282e81aba7741f57af1d44c60c8031fccd
Minimum allowed coverage is 70%
:recycle: This comment has been updated with latest results