Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

306
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!