package com.example.service.integration_testing; import com.example.service.base.NotificationContextResolver; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest @ActiveProfiles("dev") @DisplayName("NotificationContextResolver Live Tests") public class NotificationContextResolverLiveTest { private String notificationsJson; private String conversationJson; private String queryInputText; private String metadataJson; @Autowired private NotificationContextResolver notificationContextResolver; @BeforeEach void setUp() { notificationsJson = "Hola :\n" + "Pasó algo con la captura de tu INE y no se completó tu *solicitud de tarjeta de crédito con folio *.\n" + "¡Reinténtalo cuando quieras! Solo toma en cuenta estos consejos:\n" + "🪪 Presenta tu INE original (no copias ni escaneos).\n" + "📅Revisa que esté vigente y sin tachaduras.\n" + "📷 Confirma que la fotografía sea clara.\n" + "🏠 Asegúrate de que la dirección sea legible.\n" + "Estamos listos para recibirte.\n"; conversationJson = "System: Hola :Pasó algo con la captura de tu INE y no se completó tu *solicitud de tarjeta de crédito con folio *.¡Reinténtalo cuando quieras! Solo toma en cuenta estos consejos:🪪 Presenta tu INE original (no copias ni escaneos).📅Revisa que esté vigente y sin tachaduras.📷 Confirma que la fotografía sea clara.🏠 Asegúrate de que la dirección sea legible.Estamos listos para recibirte.notification_po_contexto=campañaprueba, notification_po_id_campaña=campaña01, notification_po_id_aplicacion=TestSigma, notification_po_id_notificacion=Prueba2"; queryInputText = "cual es el id de la notificaion?"; metadataJson = "{\"contexto\":\"campañaprueba\",\"id_aplicacion\":\"TestSigma\",\"id_campaña\":\"campaña01\",\"id_notificacion\":\"Prueba2\",\"vigencia\":\"30/09/2025\"}"; //metadataJson = "{}"; } @Test @DisplayName("Should get live response from LLM and print it") public void shouldGetLiveResponseFromLlmAndPrintIt() { String result = notificationContextResolver.resolveContext(queryInputText, notificationsJson, conversationJson, metadataJson, "test_user", "test_session", "1234567890"); System.out.println("Live LLM Response: " + result); assertNotNull(result); } }