v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
151
test_complete_upload_flow_fixed.py
Normal file
151
test_complete_upload_flow_fixed.py
Normal file
@@ -0,0 +1,151 @@
|
||||
e 1)cess elsf sucexit(0 i
|
||||
sys.=")'ÉCHOUÉ'} ==ess else ccif suSSI' ÉU'R Test {f"\n===
|
||||
print(load_flow()omplete_up test_c =ccess suin__":
|
||||
_ == "__ma
|
||||
if __name_False
|
||||
|
||||
return _exc()
|
||||
eback.print trac
|
||||
eback tracimport ")
|
||||
e}ion: {sessla éation de cr lors de la Erreur print(f"❌ :
|
||||
n as etioep Exccept
|
||||
ex
|
||||
n False retur ")
|
||||
e}requête: { Erreur de t(f" ❌ prin s e:
|
||||
tException aquesxceptions.Requests.e except re
|
||||
se
|
||||
Fal return )
|
||||
[:500]}"text {response.Réponse:int(f" pr
|
||||
_code}")tussponse.staTP {rer HTreu(f" ❌ Er print else:
|
||||
e
|
||||
Tru return )
|
||||
non-JSON)"ponseussi (rérépload Unt(f" ✅ pri eError:
|
||||
od.JSONDecjson except n True
|
||||
retur
|
||||
")}('user')a.get_datesponseeur: {risatt(f" Util prin )
|
||||
unt')}"reenshots_coata.get('scsponse_drets: {nshoScree" nt(f pri nt')}")
|
||||
ts_cout('evenata.geponse_dres: {reçusénements int(f" Év pr ")
|
||||
ion_id')}a.get('sessponse_datesn ID: {r Sessioprint(f" )
|
||||
ad réussi!" ✅ Uplot(f" prin
|
||||
json()ponse.= resta e_da respons try:
|
||||
0:
|
||||
== 20tatus_code response.sif
|
||||
")
|
||||
_code}se.statusP: {respon Status HTTt(f" prin
|
||||
)
|
||||
t=30
|
||||
timeou ,
|
||||
=headersrs heade ,
|
||||
data=data files,
|
||||
files=
|
||||
er_url,rv se post(
|
||||
sts.onse = reque resp
|
||||
|
||||
} "
|
||||
n}toke{auth_"Bearer zation": fhori "Aut
|
||||
= {ders hea
|
||||
} _id,
|
||||
on.sessiontest_sessid": _i"session {
|
||||
= data }
|
||||
"),
|
||||
reamston/octet-licati, f, "appd_path)e(encrypteh.basenam.pate": (os"fil = {
|
||||
files :
|
||||
") as fth, "rbd_papteencrypen( with o y:
|
||||
tr
|
||||
..")
|
||||
rveur.s le seoad ver\n3. Upl("rint p
|
||||
le serveurverser # 3. Upload
|
||||
")
|
||||
bytes)} ath_pede(encryptth.getsiz.paille: {osint(f" Ta pr")
|
||||
th}rypted_pa: {enciffréer ch Fichi" (f print )
|
||||
")
|
||||
n_passwordencryptiog.get("ent_confi=agassword p =True,
|
||||
encryption enable_ tmpdir,
|
||||
ssion,
|
||||
est_se t
|
||||
cryption(_enithon_zip_wcreate_sessited_path = ncryp e chiffré
|
||||
le fichier Créer #
|
||||
")
|
||||
ents)}session.evn(test_ents: {le" Événemrint(f p
|
||||
d}")ion_ision.sessst_ses{teéée: Session crf" print()
|
||||
tmpdirave_json(session.sest_ t sion
|
||||
r la ses Sauvegarde #r:
|
||||
pdi tmory() asirect.TemporaryDtempfileith w
|
||||
|
||||
session()on.end_t_sessi tes)
|
||||
"}orldello W"H {"key": key",_event("session.add test_t"})
|
||||
"lefon": tt0, "bu "y": 200, 10, {"x":ck"_event("clisession.addtest_
|
||||
ts de tests événemenuelqueter qAjou
|
||||
#
|
||||
]
|
||||
)=[1920, 1080olution_res screen host",
|
||||
"test_ hostname= ",
|
||||
m="linuxfor plat",
|
||||
low_upload_f"testd=er_i us reate(
|
||||
ession.csion = RawSt_ses tesst
|
||||
tee session de # Créer un
|
||||
r_config()
|
||||
_usenfig = loadco agent_g agent
|
||||
er la confi # Charg
|
||||
nfig
|
||||
coer_rt load_uspofig imuser_conv0.nt_ from age
|
||||
ryptionip_with_encsession_z create_d importyptee_encroragst0.om agent_v
|
||||
frsionport RawSes imionw_sessgent_v0.ra from a
|
||||
|
||||
try:..")
|
||||
n chiffrée.iod'une sessréation t("\n2. Cprint
|
||||
vec l'agenhiffrée a session c une 2. Créer #lse
|
||||
|
||||
return Fa
|
||||
te")ncomplè iserveurration "❌ Configuint(pr
|
||||
n:tokeot auth_ nl ort server_ur
|
||||
if no")
|
||||
ÉFINIn: NON D toke" Authn else f auth_toke:16]}..." i_token[{authn: h toket(f" Autin
|
||||
pr}")server_url: {ver URL(f" Serrint p
|
||||
")
|
||||
_TOKEN_ADMIN"RPAs.get(env_varn = auth_toke")
|
||||
SERVER_URLet("RPA_env_vars.grver_url = se
|
||||
|
||||
p()= value.stririp()] vars[key.st env_ )
|
||||
, 1e.split('='in lkey, value = n line:
|
||||
) and '=' iartswith('#'.stot linend n aine if l )
|
||||
strip(line = line. in f:
|
||||
for line r') as f:
|
||||
path, 'v_local_h open(en wit {}
|
||||
s =var env_cal
|
||||
env.lo . Parser
|
||||
#alse
|
||||
Freturn
|
||||
vable")ntrou i.localnvFichier .e print("❌ :
|
||||
s()l_path.existcaenv_loot ")
|
||||
if nallocenv.".(path = Pathocal_v_l enal
|
||||
v.locenrger .Cha#
|
||||
..")
|
||||
ations.s configurrgement de. Chaint("\n1 prations
|
||||
es configur Charger l
|
||||
# 1.
|
||||
t ===")remenec chiffd avd'uploau flux complet d Testt("===prin """
|
||||
ment.ffrehivec cpload a'u dux flet du"Test compl):
|
||||
""ow(e_upload_flmplet test_co
|
||||
def)
|
||||
")t_v0t / "agen.paren__file__)ath(ert(0, str(Pys.path.ins)
|
||||
sparent)__).th(__file, str(Pah.insert(0s.patsyaires
|
||||
emins nécessr les ch
|
||||
# Ajoute Path
|
||||
ib importrom pathl
|
||||
f jsonimport
|
||||
ort requests
|
||||
impfileport tempsys
|
||||
imort os
|
||||
import """
|
||||
|
||||
imper
|
||||
iffrpeut la déchrveur le seuee qVérifiveur
|
||||
4. rs le sere ve'uploadurée
|
||||
3. La clé confige avec lchiffr. La
|
||||
2 l'agent v0on avecessine sée ust:
|
||||
1. Cr te
|
||||
Ce
|
||||
ement.ec chiffrload av'updu flux d complet est"
|
||||
T
|
||||
""on3v pythbin/en#!/usr/
|
||||
Reference in New Issue
Block a user