@@ -411,3 +411,185 @@ async def test_store_sync(
411
411
},
412
412
}
413
413
)
414
+
415
+
416
+ async def test_store_sync_validation_failed (
417
+ mocked_store_data : dict [str , Path ], mocked_api : MockRouter , mocker : MockerFixture
418
+ ) -> None :
419
+ """测试同步商店数据出错的情况
420
+
421
+ 均增加一个 tag,以测试数据是否正确同步
422
+ """
423
+ from src .providers .store_test .store import StoreTest
424
+
425
+ mocked_api .get ("https://pypi.org/pypi/nonebot2/json" , name = "pypi_nonebot2" ).respond (
426
+ 404
427
+ )
428
+
429
+ test = StoreTest ()
430
+ await test .run (0 , 0 , False )
431
+
432
+ assert load_json (mocked_store_data ["adapters" ]) == snapshot (
433
+ [
434
+ {
435
+ "module_name" : "nonebot.adapters.onebot.v11" ,
436
+ "project_link" : "nonebot-adapter-onebot" ,
437
+ "name" : "OneBot V11" ,
438
+ "desc" : "OneBot V11 协议" ,
439
+ "author" : "yanyongyu" ,
440
+ "homepage" : "https://onebot.adapters.nonebot.dev/" ,
441
+ "tags" : [{"label" : "sync" , "color" : "#ffffff" }],
442
+ "is_official" : True ,
443
+ "time" : "2024-10-24T07:34:56.115315Z" ,
444
+ "version" : "2.4.6" ,
445
+ },
446
+ {
447
+ "module_name" : "nonebot.adapters.onebot.v12" ,
448
+ "project_link" : "nonebot-adapter-onebot" ,
449
+ "name" : "OneBot V12" ,
450
+ "desc" : "OneBot V12 协议" ,
451
+ "author" : "he0119" ,
452
+ "homepage" : "https://onebot.adapters.nonebot.dev/" ,
453
+ "tags" : [],
454
+ "is_official" : True ,
455
+ "time" : "2024-10-24T07:34:56.115315Z" ,
456
+ "version" : "2.4.6" ,
457
+ },
458
+ ]
459
+ )
460
+ assert load_json (mocked_store_data ["bots" ]) == snapshot (
461
+ [
462
+ {
463
+ "name" : "CoolQBot" ,
464
+ "desc" : "基于 NoneBot2 的聊天机器人" ,
465
+ "author" : "he0119" ,
466
+ "homepage" : "https://github.com/he0119/CoolQBot" ,
467
+ "tags" : [{"label" : "sync" , "color" : "#ffffff" }],
468
+ "is_official" : False ,
469
+ },
470
+ {
471
+ "name" : "Github Bot" ,
472
+ "desc" : "在QQ获取/处理Github repo/pr/issue" ,
473
+ "author" : "BigOrangeQWQ" ,
474
+ "homepage" : "https://github.com/cscs181/QQ-GitHub-Bot" ,
475
+ "tags" : [],
476
+ "is_official" : False ,
477
+ },
478
+ ]
479
+ )
480
+ assert load_json (mocked_store_data ["drivers" ]) == snapshot (
481
+ [
482
+ {
483
+ "module_name" : "~none" ,
484
+ "project_link" : "" ,
485
+ "name" : "None" ,
486
+ "desc" : "None 驱动器" ,
487
+ "author" : "yanyongyu" ,
488
+ "homepage" : "/docs/advanced/driver" ,
489
+ "tags" : [],
490
+ "is_official" : True ,
491
+ "time" : "2024-10-31T13:47:14.152851Z" ,
492
+ "version" : "2.4.0" ,
493
+ },
494
+ {
495
+ "module_name" : "~fastapi" ,
496
+ "project_link" : "nonebot2[fastapi]" ,
497
+ "name" : "FastAPI" ,
498
+ "desc" : "FastAPI 驱动器" ,
499
+ "author" : "yanyongyu" ,
500
+ "homepage" : "/docs/advanced/driver" ,
501
+ "tags" : [],
502
+ "is_official" : True ,
503
+ "time" : "2024-10-31T13:47:14.152851Z" ,
504
+ "version" : "2.4.0" ,
505
+ },
506
+ ]
507
+ )
508
+ assert load_json (mocked_store_data ["plugins" ]) == snapshot (
509
+ [
510
+ {
511
+ "module_name" : "nonebot_plugin_datastore" ,
512
+ "project_link" : "nonebot-plugin-datastore" ,
513
+ "name" : "数据存储" ,
514
+ "desc" : "NoneBot 数据存储插件" ,
515
+ "author" : "he0119" ,
516
+ "homepage" : "https://github.com/he0119/nonebot-plugin-datastore" ,
517
+ "tags" : [{"label" : "good first plugin" , "color" : "#ffffff" }],
518
+ "is_official" : False ,
519
+ "type" : "library" ,
520
+ "supported_adapters" : None ,
521
+ "valid" : True ,
522
+ "time" : "2024-06-20T07:53:23.524486Z" ,
523
+ "version" : "1.3.0" ,
524
+ "skip_test" : False ,
525
+ },
526
+ {
527
+ "module_name" : "nonebot_plugin_treehelp" ,
528
+ "project_link" : "nonebot-plugin-treehelp" ,
529
+ "name" : "帮助" ,
530
+ "desc" : "获取插件帮助信息" ,
531
+ "author" : "he0119" ,
532
+ "homepage" : "https://github.com/he0119/nonebot-plugin-treehelp" ,
533
+ "tags" : [],
534
+ "is_official" : False ,
535
+ "type" : "application" ,
536
+ "supported_adapters" : None ,
537
+ "valid" : True ,
538
+ "time" : "2024-07-13T04:41:40.905441Z" ,
539
+ "version" : "0.5.0" ,
540
+ "skip_test" : False ,
541
+ },
542
+ ]
543
+ )
544
+ assert load_json (mocked_store_data ["results" ]) == snapshot (
545
+ {
546
+ "nonebot-plugin-datastore:nonebot_plugin_datastore" : {
547
+ "time" : "2023-06-26T22:08:18.945584+08:00" ,
548
+ "config" : "" ,
549
+ "version" : "1.3.0" ,
550
+ "test_env" : None ,
551
+ "results" : {"validation" : True , "load" : True , "metadata" : True },
552
+ "outputs" : {
553
+ "validation" : None ,
554
+ "load" : "datastore" ,
555
+ "metadata" : {
556
+ "name" : "数据存储" ,
557
+ "description" : "NoneBot 数据存储插件" ,
558
+ "usage" : "请参考文档" ,
559
+ "type" : "library" ,
560
+ "homepage" : "https://github.com/he0119/nonebot-plugin-datastore" ,
561
+ "supported_adapters" : None ,
562
+ },
563
+ },
564
+ },
565
+ "nonebot-plugin-treehelp:nonebot_plugin_treehelp" : {
566
+ "time" : "2023-06-26T22:20:41.833311+08:00" ,
567
+ "config" : "" ,
568
+ "version" : "0.3.0" ,
569
+ "test_env" : None ,
570
+ "results" : {"validation" : True , "load" : True , "metadata" : True },
571
+ "outputs" : {
572
+ "validation" : None ,
573
+ "load" : "treehelp" ,
574
+ "metadata" : {
575
+ "name" : "帮助" ,
576
+ "description" : "获取插件帮助信息" ,
577
+ "usage" : """\
578
+ 获取插件列表
579
+ /help
580
+ 获取插件树
581
+ /help -t
582
+ /help --tree
583
+ 获取某个插件的帮助
584
+ /help 插件名
585
+ 获取某个插件的树
586
+ /help --tree 插件名
587
+ """ ,
588
+ "type" : "application" ,
589
+ "homepage" : "https://github.com/he0119/nonebot-plugin-treehelp" ,
590
+ "supported_adapters" : None ,
591
+ },
592
+ },
593
+ },
594
+ }
595
+ )
0 commit comments