First Commit
This commit is contained in:
Executable
+116
@@ -0,0 +1,116 @@
|
||||
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())
|
||||
Reference in New Issue
Block a user