Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

309
Vistas
Las pruebas de integración con WireMock fallan porque no se encuentran procesadores ALPN

Estoy escribiendo algunas pruebas de integración para una aplicación Spring Boot escrita en Kotlin. Para bloquear algunas solicitudes HTTP, estoy usando WireMock a través spring-cloud-contract-wiremock como dependencia.

Algunos códigos de muestra anónimos de una prueba de integración:

 @SpringBootTest @AutoConfigureMockMvc @AutoConfigureWireMock class MyIntegrationTest { @Test fun `some test`() { mockEndpoint("url", 500, someResponseBodyInJson) mockMvc.perform( MockMvcRequestBuilders .post("url") .contentType(MediaType.APPLICATION_JSON.toString()) .content(someRequestBodyInJson) ) .andExpect(MockMvcResultMatchers.status().isInternalServerError) } private fun mockEndpoint(url: String, responseCode: Int, responseBody: String) { stubFor( WireMock.post(url).willReturn( WireMock.aResponse() .withStatus(responseCode) .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString()) .withBody(responseBody) ) ) } }

Mientras ejecuto estas pruebas en mi máquina local, todo funciona bien. Sin embargo, en el entorno de CI/CD está fallando con el siguiente error:

 java.lang.IllegalStateException: No Server ALPNProcessors! at wiremock.org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory.<init>(ALPNServerConnectionFactory.java:52)

Investigué un poco y descubrí que tiene que ver con Jetty que se pierde algunas cosas en la ruta de clases. Agregué la siguiente dependencia testImplementation("org.eclipse.jetty:jetty-alpn-server:11.0.7") , pero las pruebas siguen fallando. La extensión alpn-boot no debería ser necesaria ya que se está utilizando JDK 11.

Alguien que me pueda ayudar a solucionar esto? ¿Necesito otra dependencia o estoy mirando en la dirección equivocada?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Degradar a Jetty 9.4.x

Wiremock no es compatible con Jetty 10 o Jetty 11.

Además, Spring no es compatible con Jetty 11 (que usa Jakarta EE 9 y Servlet 5.0 en el nuevo espacio de nombres jakarta.servlet )

over 4 years ago · Santiago Trujillo Denunciar

0

El equipo de Wiremock abordó esto en la versión 2.32, hay un ticket aquí . Debe especificar una versión correcta para wiremock-jre8-standalone para anular una versión anterior extraída por Spring:

 # Gradle testImplementation 'com.github.tomakehurst:wiremock-jre8-standalone:2.32.0' #Maven <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock-jre8-standalone</artifactId> <version>2.32.0</version> <scope>test</scope> </dependency>
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda