import os import sys import json from tools import gmail_manage_label, gmail_manage_filter, list_gmail_emails, run_bash_command, resolve_account def test_account(account_alias: str): print(f"\n--- INICIANDO TESTES PARA CONTA: {account_alias} ---") # 1. Teste de Listagem de E-mails print(f"[TEST] Listando e-mails...") emails = list_gmail_emails(account_alias) if "Sucesso" in emails or "šŸ“§" in emails: print(f"āœ… SUCESSO na listagem (Amostra): {emails[:50]}...") else: print(f"āŒ FALHA na listagem: {emails}") # 2. Teste de Criação de Marcador (Label) test_label = "ANTIGRAVITY_PROACTIVE_TEST" print(f"[TEST] Criando marcador '{test_label}'...") res_label = gmail_manage_label(f"{account_alias} {test_label}") if "Sucesso" in res_label or "jĆ” existe" in res_label or "Criação" in res_label: print(f"āœ… SUCESSO no marcador: {res_label}") else: print(f"āŒ FALHA no marcador: {res_label}") # 3. Teste de Criação de Filtro print(f"[TEST] Criando filtro de teste...") res_filter = gmail_manage_filter(f"{account_alias} test@example.com {test_label}") if "Sucesso" in res_filter or "Sucesso" in str(res_filter) or "{" in str(res_filter): print(f"āœ… SUCESSO no filtro: {res_filter}") else: print(f"āŒ FALHA no filtro: {res_filter}") # 4. Limpeza print(f"[TEST] Limpando...") account = resolve_account(account_alias) # Busca ID para deletar list_res = run_bash_command(f"{account} gmail users labels list") try: data = json.loads(list_res) for l in data.get("labels", []): if l["name"] == test_label: run_bash_command(f"{account} gmail users labels delete --params '{{\"userId\": \"me\", \"id\": \"{l['id']}\"}}'") print(f"āœ… Limpeza concluĆ­da.") break except: pass if __name__ == "__main__": accounts = ["adm", "mr", "4r"] for acc in accounts: try: test_account(acc) except Exception as e: print(f"āŒ Erro crĆ­tico ao testar {acc}: {e}")