es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

java.lang.AssertionError: Problema con el punto de prueba Camel Mock

Estoy teniendo problemas con la simulación de ruta de camello. No pudo contar los mensajes de la ruta y en su lugar devuelve “0” como contador de mensajes. Aquí está mi caso de prueba y ruta. ¿Alguien puede ayudarme con esto?

Archivo WatcherRouteTest.java:

@CamelSpringBootTest
@SpringBootTest
@MockEndpoints
@UseAdviceWith
public class RouteTest {

  @Autowired
  CamelContext camelContext;

  @Autowired
  ProducerTemplate producerTemplate;

  File resultFile;

  @EndpointInject("mock:azure-storage-blob")
  MockEndpoint storageMockEndpoint;


  @Test
  void testFlow() throws Exception {

    AdviceWith.adviceWith(camelContext, "uploadFile", a ->
        a.replaceFromWith("direct:start")
    );

    storageMockEndpoint.expectedMessageCount(1);
    storageMockEndpoint.message(0)
        .header(Exchange.FILE_NAME).isEqualTo("text.csv");

    InputStream body = fetchFileFromResourcesFolderAsStream("test-files/text.csv");
    Map<string, object=""> headers = new HashMap<>();
    headers.put(Exchange.FILE_NAME, "text.csv");
    headers.put("CamelAzureStorageBlobContainerName","abc");
    headers.put("header.CamelAzureStorageBlobSourceBlobAccountName","abcd");

    camelContext.start();
    producerTemplate.sendBodyAndHeaders("direct:start", body, headers);

    storageMockEndpoint.assertIsSatisfied();

    resultFile = fileCreationUtility( "text.csv");
    assertTrue(resultFile.exists());

  }
}

Aquí está mi implementación actual:

from("direct:upload")
        .routeId("uploadFile")
        .setHeader("CamelAzureStorageBlobSourceBlobAccountName",constant(storageAccountName))
        .toD(BLOB_URL)
        .log(LoggingLevel.INFO,"${header.CamelFileName} Uploaded to ${header.CamelAzureStorageBlobContainerName} Container Successfully")
        .end();

Excepción ocurrida:

java.lang.AssertionError: mock://azure-storage-blob Received message count. Expected: <1> but was: <0>
Expected :<1>
Actual :<0>
</string,>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está relacionado con el caso de prueba que no puede contar los mensajes de la ruta. La cantidad esperada de mensajes está establecida en 1, pero la cantidad actual es 0. Una cosa que se puede verificar es si la configuración del punto final es correcta. También es posible que sea necesario modificar el método de burlado del punto final. Algunas opciones para probar incluyen verificar la compatibilidad de la versión de Camel, configurar la configuración y propiedades del punto final, y revisar el caso de prueba en busca de otros problemas. Es posible que sea necesario realizar más solución de problemas dependiendo de la causa subyacente del problema.

Comments are closed.