feat(version): exposer GET /api/v1/version public sans authentification
CI — Tests & Docker Build / Tests (push) Failing after 5s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 10:07:14 +02:00
parent 647f10ff8a
commit e73ecfd379
5 changed files with 72 additions and 11 deletions
@@ -30,6 +30,7 @@ public class SecurityConfig {
.authorizeHttpRequests(auth -> auth
.requestMatchers(
"/api/v1/auth/**",
"/api/v1/version",
"/swagger-ui/**",
"/swagger-ui.html",
"/api-docs/**",
@@ -0,0 +1,26 @@
package com.olhar.olharapi.interfaces.rest.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.info.BuildProperties;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@RequestMapping("/api/v1/version")
@RequiredArgsConstructor
@Tag(name = "Version", description = "Version de l'API")
public class VersionController {
private final BuildProperties buildProperties;
@GetMapping
@Operation(summary = "Retourne la version de l'API")
public Map<String, String> getVersion() {
return Map.of("version", buildProperties.getVersion());
}
}
@@ -0,0 +1,24 @@
package com.olhar.olharapi.interfaces;
import com.olhar.olharapi.infrastructure.AbstractIntegrationTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import static org.assertj.core.api.Assertions.assertThat;
class VersionControllerIT extends AbstractIntegrationTest {
@Autowired
private TestRestTemplate restTemplate;
@Test
void getVersion_shouldReturnVersionWithoutAuthentication() {
ResponseEntity<String> response = restTemplate.getForEntity("/api/v1/version", String.class);
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(response.getBody()).contains("version");
}
}