linked metrics-endpoint (#132)
Co-authored-by: Michael Hoennig <michael@hoennig.de> Reviewed-on: https://dev.hostsharing.net/hostsharing/hs.hsadmin.ng/pulls/132 Reviewed-by: Timotheus Pokorra <timotheus.pokorra@hostsharing.net>
This commit is contained in:
@@ -16,6 +16,7 @@ import net.hostsharing.hsadminng.hs.booking.item.HsBookingItem;
|
||||
import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAssetRbacEntity;
|
||||
import net.hostsharing.hsadminng.rbac.context.ContextBasedTest;
|
||||
import net.hostsharing.hsadminng.rbac.grant.RbacGrantsDiagramService;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@@ -120,6 +121,7 @@ public class ArchitectureTest {
|
||||
@SuppressWarnings("unused")
|
||||
public static final ArchRule configPackageRule = classes()
|
||||
.that().resideInAPackage("..config..")
|
||||
.and().areNotAnnotatedWith(SpringBootTest.class)
|
||||
.should().onlyDependOnClassesThat()
|
||||
.resideOutsideOfPackage(NET_HOSTSHARING_HSADMINNG);
|
||||
|
||||
|
@@ -0,0 +1,42 @@
|
||||
package net.hostsharing.hsadminng.config;
|
||||
|
||||
import io.restassured.RestAssured;
|
||||
import net.hostsharing.hsadminng.HsadminNgApplication;
|
||||
import net.hostsharing.hsadminng.test.DisableSecurityConfig;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.web.server.LocalManagementPort;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
|
||||
import static net.hostsharing.hsadminng.rbac.test.JsonMatcher.lenientlyEquals;
|
||||
|
||||
@SpringBootTest(
|
||||
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
|
||||
classes = { HsadminNgApplication.class, DisableSecurityConfig.class }
|
||||
)
|
||||
@ActiveProfiles("test")
|
||||
class CustomActuatorEndpointAcceptanceTest {
|
||||
|
||||
@LocalManagementPort
|
||||
private Integer managementPort;
|
||||
|
||||
@Test
|
||||
void shouldListMetricLinks() {
|
||||
RestAssured // @formatter:off
|
||||
.given()
|
||||
.port(managementPort)
|
||||
.when()
|
||||
.get("http://localhost/actuator/metric-links")
|
||||
.then().log().all().assertThat()
|
||||
.statusCode(200)
|
||||
.contentType("application/vnd.spring-boot.actuator.v3+json")
|
||||
.body("", lenientlyEquals("""
|
||||
{
|
||||
"application.ready.time": "http://localhost:%{managementPort}/actuator/metrics/application.ready.time",
|
||||
"application.started.time": "http://localhost:%{managementPort}/actuator/metrics/application.started.time"
|
||||
}
|
||||
""".replace("%{managementPort}", managementPort.toString())));
|
||||
// @formatter:on
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user