117 lines
4.6 KiB
Python
Executable File
117 lines
4.6 KiB
Python
Executable File
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())
|