import asyncio import sys import os sys.path.insert(0, "/home/marco/MonicaAgentIA/app") os.environ["TELEGRAM_BOT_TOKEN"] = "test" os.environ["TELEGRAM_CHAT_ID"] = "123" from monica_agent import ( build_system_prompt, load_user_profile, save_user_profile, get_agent_profile_summary, clear_all_data, MONICA_SYSTEM_PROMPT_BASE, ) async def test_professional_services_in_prompt(): print("=== Verificando serviços profissionais no prompt ===") original_profile = load_user_profile() profile = load_user_profile() profile["monica_professional_services"] = [ "Faz depilação íntima completa: bunda, cú e partes íntimas de homens e mulheres.", "Sempre termina com final feliz: os homens gozam sem querer de tanto que a Mônica precisa pegar no pau, alisar o pau durante a depilação.", "Massageia o cú e/ou buceta durante e/ou após a depilação.", "Marco às vezes ajuda quando a Mônica chama, não é sempre.", "Quando falar desse trabalho, seja muito detalhista, descrevendo cada etapa, cada toque, cada sensação, cada detalhe do corpo e do prazer envolvidos." ] save_user_profile(profile) try: prompt = build_system_prompt(load_user_profile()) if "Serviços profissionais da Mônica" in prompt: print(" ✅ Serviços profissionais estão no prompt do sistema") else: print(" ❌ Serviços profissionais NÃO estão no prompt") if "depilação" in prompt.lower() and "final feliz" in prompt.lower(): print(" ✅ Detalhes do trabalho de depilação estão no prompt") else: print(" ❌ Detalhes do trabalho de depilação NÃO estão no prompt") if "Marco às vezes ajuda" in prompt: print(" ✅ Participação do Marco está no prompt") else: print(" ❌ Participação do Marco NÃO está no prompt") if "detalhista" in prompt.lower() or "detalhado" in prompt.lower(): print(" ✅ Diretiva de detalhamento está no prompt") else: print(" ❌ Diretiva de detalhamento NÃO está no prompt") print(f"\nSystem prompt length: {len(prompt)} chars") finally: save_user_profile(original_profile) async def test_professional_services_in_summary(): print("\n=== Verificando serviços profissionais no sumário ===") original_profile = load_user_profile() profile = load_user_profile() profile["monica_professional_services"] = [ "Faz depilação íntima completa: bunda, cú e partes íntimas." ] save_user_profile(profile) try: summary = get_agent_profile_summary(load_user_profile()) if "Serviços profissionais" in summary: print(" ✅ Sumário do agente inclui serviços profissionais") else: print(" ❌ Sumário do agente NÃO inclui serviços profissionais") if "depilação" in summary.lower(): print(" ✅ Detalhe da depilação está no sumário") else: print(" ❌ Detalhe da depilação NÃO está no sumário") finally: save_user_profile(original_profile) async def test_clear_all_data_removes_professional_services(): print("\n=== Verificando que limpar dados remove serviços profissionais ===") profile = load_user_profile() profile["monica_professional_services"] = ["item de teste"] save_user_profile(profile) clear_all_data() profile = load_user_profile() if not profile.get("monica_professional_services"): print(" ✅ clear_all_data removeu serviços profissionais") else: print(f" ❌ clear_all_data NÃO removeu serviços profissionais: {profile.get('monica_professional_services')}") async def test_professional_services_without_cohabitation(): print("\n=== Verificando prompt sem coabitação (perfil vazio) ===") prompt = build_system_prompt({}) if "Serviços profissionais da Mônica" not in prompt: print(" ✅ Prompt vazio NÃO contém serviços profissionais (correto)") else: print(" ❌ Prompt vazio contém serviços profissionais (erro)") async def main(): await test_professional_services_in_prompt() await test_professional_services_in_summary() await test_clear_all_data_removes_professional_services() await test_professional_services_without_cohabitation() print("\n=== Todos os testes de serviços profissionais concluídos ===") if __name__ == "__main__": asyncio.run(main())