test(upserver): 归档存档迁移与玩法闭环回归工具

This commit is contained in:
Liubing\LB
2026-09-28 18:16:14 +08:00
parent c4ae02def9
commit a6f5e107f8
232 changed files with 12903 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
from pathlib import Path
def block(s,marker):
start=s.index(marker);a=s.index('{',start);n=1;b=a+1
while n:n+=(s[b]=='{')-(s[b]=='}');b+=1
return s[start:b]
s=Path('Client/Assets/Scripts/Services/ClubService.cs').read_text(encoding='utf-8-sig');m=Path('Client/Assets/Scripts/Services/ClubModel.cs').read_text(encoding='utf-8-sig')
code='using System;using System.Collections.Generic;using System.ComponentModel;using System.Threading.Tasks;using Newtonsoft.Json.Linq;\n'
code+=block(m,'public enum EMemberRole')+'\n'+'\n'.join(block(m,'public class '+x+'\n') for x in ['ClubInfo','ClubSettingData','GetSelfClubRequest','GetSelfClubResp','ClubPlayerProfile'])
code+='''
public class Subject {public User userService=new();public Server customServerMgr=new();public Chat chatService=new();public ClubInfo myClubInfo=new(){id=9};public EMemberRole memberRole=EMemberRole.Owner;public Dictionary<long,string> internalIdToPlayerId=new();public int Effects;void SetClubPlayerProfile(List<ClubPlayerProfile> p){Effects++;}void SetClubRed(){Effects++;}void MyClubInfoChange(){Effects++;}
'''+block(s,'public async void GetSelfClub()')+'\n}\n'
code+='''
public class User {public bool IsAuthorized=true;public string ApiPlayerId="101";}
public class Server {public int SessionVersion,Calls;public string Response;public GetSelfClubRequest Request;public TaskCompletionSource<string> Gate;public Task<string> ClubRequest(string path,object data){Calls++;Request=(GetSelfClubRequest)data;return Gate?.Task??Task.FromResult(Response);}}
public class Chat{public int Calls;public void GetConversationList(long id){Calls++;}}
'''
Path('CodexOutput/upserver/HomeLoginTests/Generated.cs').write_text(code)