import json,subprocess,sys
from pathlib import Path
fixture=json.loads(Path(sys.argv[1]).read_text())
def api(p):return json.loads(subprocess.check_output(['glab','api',p]))
rows=[]
for branch,source in zip(['fork-feature','nested-feature','control-feature'],[fixture['ids'][1],fixture['ids'][2],fixture['ids'][0]]):
 b=api(f'projects/{source}/repository/branches/{branch}')
 mrs=api(f'projects/{fixture["ids"][0]}/merge_requests?state=opened&source_branch={branch}')
 rows.append({'branch':branch,'branchExistsInSource':b['name']==branch,'expectedSourceProjectId':source,'mergeRequests':[{k:mr[k] for k in ['iid','source_branch','target_branch','source_project_id','target_project_id','state','web_url']} for mr in mrs]})
print(json.dumps({'cases':rows},indent=2))
