import subprocess,json,time
from pathlib import Path
root=Path.cwd()
def api(endpoint,*fields):
 a=['glab','api',endpoint]
 if fields:a+=['--method','POST']
 for k,v in fields:a+=['-f',f'{k}={v}']
 return json.loads(subprocess.check_output(a))
n=str(int(time.time()))
u=api('projects',('name','t3-pr23439-proof-'+n),('initialize_with_readme','true'),('visibility','public'))
g=api('groups',('name','pr23439-proof-'+n),('path','pr23439-proof-'+n),('parent_id','131484201'))
f=api(f'projects/{u["id"]}/fork',('namespace_id','131484201'))
r=api(f'projects/{u["id"]}/fork',('namespace_id',str(g['id'])),('path','renamed-fork-'+n),('name','renamed-fork-'+n))
out={'upstream':u['http_url_to_repo'],'plain':f['http_url_to_repo'],'nested':r['http_url_to_repo'],'ids':[u['id'],f['id'],r['id']],'group':g['id']}
(root/'fixtures.json').write_text(json.dumps(out))
print(json.dumps(out))
