import pytest async def test_migration(use_legacy_config, db_migration): from nonebot_bison.config.config_legacy import config as config_legacy from nonebot_bison.config.db import data_migrate from nonebot_bison.config.db_config import config config_legacy.add_subscribe( user=123, user_type="group", target="weibo_id", target_name="weibo_name", target_type="weibo", cats=[2, 3], tags=[], ) config_legacy.add_subscribe( user=123, user_type="group", target="weibo_id2", target_name="weibo_name2", target_type="weibo", cats=[1, 2], tags=["tag"], ) config_legacy.add_subscribe( user=234, user_type="group", target="weibo_id", target_name="weibo_name", target_type="weibo", cats=[1], tags=[], ) await data_migrate() user123_config = await config.list_subscribe(123, "group") assert len(user123_config) == 2 for c in user123_config: if c.target.target == "weibo_id": assert c.categories == [2, 3] assert c.target.target_name == "weibo_name" assert c.target.platform_name == "weibo" assert c.tags == [] elif c.target.target == "weibo_id2": assert c.categories == [1, 2] assert c.target.target_name == "weibo_name2" assert c.target.platform_name == "weibo" assert c.tags == ["tag"] user234_config = await config.list_subscribe(234, "group") assert len(user234_config) == 1 assert user234_config[0].categories == [1] assert user234_config[0].target.target == "weibo_id" assert user234_config[0].target.target_name == "weibo_name" assert user234_config[0].tags == []