1 line
73 KiB
XML
1 line
73 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="bootstrap"><sessioninfo id="donghyeon-960XGK-66b8ee6f" start="1777872898755" dump="1777872939511"/><package name="com/project/auth/config/support"><class name="com/project/auth/config/support/JsonConfiguration" sourcefilename="JsonConfiguration.java"><method name="<init>" desc="()V" line="10"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="objectMapper" desc="()Lcom/fasterxml/jackson/databind/ObjectMapper;" line="14"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="JsonConfiguration.java"><line nr="10" mi="0" ci="3" mb="0" cb="0"/><line nr="14" mi="0" ci="4" mb="0" cb="0"/><line nr="15" mi="0" ci="6" mb="0" cb="0"/><line nr="16" mi="0" ci="4" mb="0" cb="0"/><line nr="17" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/project/auth"><class name="com/project/auth/AuthApplication" sourcefilename="AuthApplication.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="main" desc="([Ljava/lang/String;)V" line="10"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="5" covered="3"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="AuthApplication.java"><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="4" ci="0" mb="0" cb="0"/><line nr="11" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="3"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="5" covered="3"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/project/auth/config/auth"><class name="com/project/auth/config/auth/ResourceServerSecurityConfiguration" sourcefilename="ResourceServerSecurityConfiguration.java"><method name="<init>" desc="()V" line="24"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="securityActorIdResolver" desc="()Lcom/project/auth/config/auth/security/SecurityActorIdResolver;" line="30"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="securityAuditTrailWriter" desc="(Lcom/project/auth/config/auth/security/SecurityActorIdResolver;)Lcom/project/auth/config/auth/security/SecurityAuditTrailWriter;" line="35"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="securityExceptionHandler" desc="(Lorg/springframework/web/servlet/HandlerExceptionResolver;Lcom/project/auth/config/auth/security/SecurityAuditTrailWriter;)Lcom/project/auth/config/auth/security/SecurityExceptionHandler;" line="43"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="keycloakGrantedAuthoritiesConverter" desc="()Lorg/springframework/core/convert/converter/Converter;" line="48"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="keycloakAuthenticatedUserFactory" desc="()Lcom/project/auth/config/auth/security/KeycloakAuthenticatedUserFactory;" line="53"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="jwtAuthenticationConverter" desc="(Lorg/springframework/core/convert/converter/Converter;Lcom/project/auth/config/auth/security/KeycloakAuthenticatedUserFactory;)Lorg/springframework/core/convert/converter/Converter;" line="61"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="securityFilterChain" desc="(Lorg/springframework/security/config/annotation/web/builders/HttpSecurity;Lorg/springframework/core/convert/converter/Converter;Lcom/project/auth/config/auth/security/SecurityExceptionHandler;)Lorg/springframework/security/web/SecurityFilterChain;" line="73"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$securityFilterChain$4" desc="(Lcom/project/auth/config/auth/security/SecurityExceptionHandler;Lorg/springframework/security/config/annotation/web/configurers/ExceptionHandlingConfigurer;)V" line="93"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$securityFilterChain$3" desc="(Lorg/springframework/core/convert/converter/Converter;Lcom/project/auth/config/auth/security/SecurityExceptionHandler;Lorg/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer;)V" line="88"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$securityFilterChain$2" desc="(Lorg/springframework/core/convert/converter/Converter;Lorg/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer$JwtConfigurer;)V" line="89"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$securityFilterChain$1" desc="(Lorg/springframework/security/config/annotation/web/configurers/AuthorizeHttpRequestsConfigurer$AuthorizationManagerRequestMatcherRegistry;)V" line="76"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$securityFilterChain$0" desc="(Lorg/springframework/security/config/annotation/web/configurers/CsrfConfigurer;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="123"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="13"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/auth/AuthCoreConfiguration" sourcefilename="AuthCoreConfiguration.java"><method name="<init>" desc="()V" line="13"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="systemClock" desc="()Ljava/time/Clock;" line="17"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadKeycloakUserUseCase" desc="(Lcom/project/auth/application/auth/identity/port/out/LoadKeycloakUserPort;Lcom/project/auth/application/support/audit/AuthAuditEventPublisher;)Lcom/project/auth/application/auth/identity/LoadKeycloakUserUseCase;" line="25"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ResourceServerSecurityConfiguration.java"><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="6" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="6" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="8" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="36" mb="0" cb="0"/><line nr="88" mi="0" ci="7" mb="0" cb="0"/><line nr="89" mi="0" ci="7" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="123"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="13"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AuthCoreConfiguration.java"><line nr="13" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="2" mb="0" cb="0"/><line nr="25" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="134"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="16"/><counter type="METHOD" missed="0" covered="16"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/project/auth/config/openapi"><class name="com/project/auth/config/openapi/AppDocsProperties" sourcefilename="AppDocsProperties.java"><method name="<init>" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="9"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/openapi/OpenApiConfig" sourcefilename="OpenApiConfig.java"><method name="<init>" desc="(Lcom/project/auth/config/openapi/AppDocsProperties;)V" line="15"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authServerOpenApi" desc="()Lio/swagger/v3/oas/models/OpenAPI;" line="21"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="AppDocsProperties.java"><line nr="9" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="OpenApiConfig.java"><line nr="15" mi="0" ci="2" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="10" mb="0" cb="0"/><line nr="22" mi="0" ci="4" mb="0" cb="0"/><line nr="23" mi="0" ci="4" mb="0" cb="0"/><line nr="24" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/project/auth/config/web"><class name="com/project/auth/config/web/InfrastructureExceptionHandler" sourcefilename="InfrastructureExceptionHandler.java"><method name="<init>" desc="(Lcom/project/auth/presentation/support/response/ApiResultFactory;)V" line="33"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleInfrastructureException" desc="(Lcom/project/auth/infrastructure/support/exception/InfrastructureException;Ljakarta/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" line="42"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleLeakedDomainException" desc="(Lcom/project/auth/domain/user/exception/DomainException;Ljakarta/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" line="62"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="80"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/SecurityResponseExceptionHandler" sourcefilename="SecurityResponseExceptionHandler.java"><method name="<init>" desc="(Lcom/project/auth/presentation/support/response/ApiResultFactory;)V" line="50"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleAuthenticationException" desc="(Lorg/springframework/security/core/AuthenticationException;Ljakarta/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" line="59"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleAccessDeniedException" desc="(Lorg/springframework/security/access/AccessDeniedException;Ljakarta/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" line="77"><counter type="INSTRUCTION" missed="39" covered="43"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="9" covered="10"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAnonymous" desc="(Lorg/springframework/security/core/Authentication;)Z" line="105"><counter type="INSTRUCTION" missed="2" covered="10"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="46"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="41" covered="102"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="9" covered="25"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/ApiErrorController" sourcefilename="ApiErrorController.java"><method name="<init>" desc="(Lorg/springframework/boot/webmvc/error/ErrorAttributes;Lcom/project/auth/presentation/support/response/ApiResultFactory;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="error" desc="(Ljakarta/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" line="52"><counter type="INSTRUCTION" missed="24" covered="84"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="classify" desc="(Lorg/springframework/http/HttpStatus;)Lcom/project/auth/application/support/exception/ClientFacingErrorCode;" line="76"><counter type="INSTRUCTION" missed="6" covered="16"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="3" covered="6"/><counter type="COMPLEXITY" missed="3" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="safeStatus" desc="(I)Lorg/springframework/http/HttpStatus;" line="91"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resolveStatusCode" desc="(Ljava/lang/Object;)I" line="98"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="originalRequestPath" desc="(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;" line="105"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="36"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="30" covered="155"/><counter type="BRANCH" missed="5" covered="15"/><counter type="LINE" missed="5" covered="35"/><counter type="COMPLEXITY" missed="5" covered="14"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/WebConfiguration" sourcefilename="WebConfiguration.java"><method name="<init>" desc="()V" line="13"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="traceIdFilter" desc="()Lorg/springframework/boot/web/servlet/FilterRegistrationBean;" line="17"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="requestAccessLogFilter" desc="(Lcom/project/auth/config/web/AccessLogProperties;)Lorg/springframework/boot/web/servlet/FilterRegistrationBean;" line="28"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apiResultFactory" desc="(Ljava/time/Clock;)Lcom/project/auth/config/web/RequestBoundApiResultFactory;" line="37"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="53"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/RequestAccessLogFilter" sourcefilename="RequestAccessLogFilter.java"><method name="<init>" desc="(Lcom/project/auth/config/web/AccessLogProperties;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shouldNotFilter" desc="(Ljakarta/servlet/http/HttpServletRequest;)Z" line="32"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shouldNotFilterAsyncDispatch" desc="()Z" line="38"><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="shouldNotFilterErrorDispatch" desc="()Z" line="43"><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="doFilterInternal" desc="(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljakarta/servlet/FilterChain;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="logRequestSummary" desc="(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;J)V" line="62"><counter type="INSTRUCTION" missed="1" covered="54"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resolveActorId" desc="()Ljava/lang/String;" line="82"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="122"/><counter type="BRANCH" missed="3" covered="7"/><counter type="LINE" missed="2" covered="35"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="2" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/RequestBoundApiResultFactory" sourcefilename="RequestBoundApiResultFactory.java"><method name="<init>" desc="(Ljava/time/Clock;)V" line="26"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="success" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lcom/project/auth/presentation/support/response/ApiResult;" line="32"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="success" desc="(Ljava/lang/String;Ljava/lang/String;)Lcom/project/auth/presentation/support/response/ApiResult;" line="37"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="failure" desc="(Ljava/lang/String;Ljava/lang/String;)Lcom/project/auth/presentation/support/response/ApiResult;" line="42"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="failure" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lcom/project/auth/presentation/support/response/ApiResult;" line="47"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="result" desc="(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;)Lcom/project/auth/presentation/support/response/ApiResult;" line="57"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="61"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="1" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/AccessLogProperties" sourcefilename="AccessLogProperties.java"><method name="<init>" desc="(Ljava/util/List;)V" line="8"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/TraceIdFilter" sourcefilename="TraceIdFilter.java"><method name="<init>" desc="()V" line="16"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doFilterInternal" desc="(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljakarta/servlet/FilterChain;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextTraceId" desc="()Ljava/lang/String;" line="47"><counter type="INSTRUCTION" missed="4" covered="18"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="57"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/DevActuatorConfiguration" sourcefilename="DevActuatorConfiguration.java"><method name="<init>" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="actuatorSecurityFilterChain" desc="(Lorg/springframework/security/config/annotation/web/builders/HttpSecurity;)Lorg/springframework/security/web/SecurityFilterChain;" line="20"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="httpExchangeRepository" desc="()Lorg/springframework/boot/actuate/web/exchanges/HttpExchangeRepository;" line="41"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$actuatorSecurityFilterChain$1" desc="(Lorg/springframework/security/config/annotation/web/configurers/CsrfConfigurer;)V" line="35"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$actuatorSecurityFilterChain$0" desc="(Lorg/springframework/security/config/annotation/web/configurers/AuthorizeHttpRequestsConfigurer$AuthorizationManagerRequestMatcherRegistry;)V" line="23"><counter type="INSTRUCTION" missed="43" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="5" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="ApiErrorController.java"><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="6" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="8" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="1" cb="3"/><line nr="59" mi="17" ci="0" mb="0" cb="0"/><line nr="60" mi="7" ci="0" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="2"/><line nr="62" mi="0" ci="17" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="16" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="6" mb="0" cb="0"/><line nr="72" mi="0" ci="5" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="2"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="6" mb="3" cb="3"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="2" ci="0" mb="0" cb="0"/><line nr="83" mi="2" ci="0" mb="0" cb="0"/><line nr="84" mi="2" ci="0" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="98" mi="0" ci="6" mb="0" cb="2"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="9" mb="1" cb="3"/><line nr="107" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="30" covered="155"/><counter type="BRANCH" missed="5" covered="15"/><counter type="LINE" missed="5" covered="35"/><counter type="COMPLEXITY" missed="5" covered="14"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RequestBoundApiResultFactory.java"><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="6" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="8" mb="0" cb="0"/><line nr="37" mi="8" ci="0" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="47" mi="0" ci="8" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="11" mb="1" cb="3"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="61"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="1" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="WebConfiguration.java"><line nr="13" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="4" mb="0" cb="0"/><line nr="18" mi="0" ci="5" mb="0" cb="0"/><line nr="19" mi="0" ci="8" mb="0" cb="0"/><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="21" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="6" mb="0" cb="0"/><line nr="30" mi="0" ci="8" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="53"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SecurityResponseExceptionHandler.java"><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="2" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="8" mb="0" cb="0"/><line nr="60" mi="0" ci="6" mb="0" cb="0"/><line nr="61" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="7" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="1" cb="1"/><line nr="78" mi="8" ci="0" mb="0" cb="0"/><line nr="79" mi="6" ci="0" mb="0" cb="0"/><line nr="80" mi="5" ci="0" mb="0" cb="0"/><line nr="81" mi="6" ci="0" mb="0" cb="0"/><line nr="82" mi="2" ci="0" mb="0" cb="0"/><line nr="84" mi="7" ci="0" mb="0" cb="0"/><line nr="85" mi="2" ci="0" mb="0" cb="0"/><line nr="86" mi="2" ci="0" mb="0" cb="0"/><line nr="87" mi="1" ci="0" mb="0" cb="0"/><line nr="91" mi="0" ci="8" mb="0" cb="0"/><line nr="92" mi="0" ci="6" mb="0" cb="0"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="94" mi="0" ci="6" mb="0" cb="0"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="7" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="1" mb="0" cb="0"/><line nr="105" mi="0" ci="4" mb="1" cb="1"/><line nr="106" mi="2" ci="6" mb="2" cb="2"/><counter type="INSTRUCTION" missed="41" covered="102"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="9" covered="25"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AccessLogProperties.java"><line nr="8" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RequestAccessLogFilter.java"><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="24" mi="0" ci="2" mb="0" cb="0"/><line nr="25" mi="0" ci="4" mb="0" cb="2"/><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="4" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="10" mb="0" cb="0"/><line nr="38" mi="2" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="6" mb="0" cb="0"/><line nr="57" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="1" ci="6" mb="1" cb="1"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="7" mb="1" cb="3"/><line nr="84" mi="0" ci="3" mb="1" cb="1"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="122"/><counter type="BRANCH" missed="3" covered="7"/><counter type="LINE" missed="2" covered="35"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="2" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DevActuatorConfiguration.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="12" ci="0" mb="0" cb="0"/><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="2" ci="0" mb="0" cb="0"/><line nr="23" mi="2" ci="0" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="40" ci="0" mb="0" cb="0"/><line nr="35" mi="5" ci="0" mb="0" cb="0"/><line nr="36" mi="2" ci="0" mb="0" cb="0"/><line nr="41" mi="4" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="5" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="TraceIdFilter.java"><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="4" ci="4" mb="3" cb="1"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="57"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="InfrastructureExceptionHandler.java"><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="7" mb="0" cb="0"/><line nr="50" mi="0" ci="7" mb="0" cb="0"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="2" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="7" mb="0" cb="0"/><line nr="69" mi="0" ci="7" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="80"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="161" covered="636"/><counter type="BRANCH" missed="16" covered="30"/><counter type="LINE" missed="27" covered="153"/><counter type="COMPLEXITY" missed="23" covered="47"/><counter type="METHOD" missed="8" covered="37"/><counter type="CLASS" missed="1" covered="8"/></package><package name="com/project/auth/config/auth/security"><class name="com/project/auth/config/auth/security/KeycloakAuthenticatedUserFactory" sourcefilename="KeycloakAuthenticatedUserFactory.java"><method name="<init>" desc="()V" line="11"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="create" desc="(Lorg/springframework/security/oauth2/jwt/Jwt;Ljava/util/Collection;)Lcom/project/auth/presentation/auth/current/AuthenticatedUser;" line="18"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="displayName" desc="(Lorg/springframework/security/oauth2/jwt/Jwt;)Ljava/lang/String;" line="27"><counter type="INSTRUCTION" missed="4" covered="11"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authorityNames" desc="(Ljava/util/Collection;)Ljava/util/Set;" line="35"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="35"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="12"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/auth/security/KeycloakGrantedAuthoritiesConverter" sourcefilename="KeycloakGrantedAuthoritiesConverter.java"><method name="<init>" desc="()V" line="15"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="convert" desc="(Lorg/springframework/security/oauth2/jwt/Jwt;)Ljava/util/Collection;" line="25"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="realmRoles" desc="(Lorg/springframework/security/oauth2/jwt/Jwt;)Ljava/util/List;" line="33"><counter type="INSTRUCTION" missed="4" covered="36"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$realmRoles$0" desc="(Ljava/lang/String;)Z" line="46"><counter type="INSTRUCTION" missed="1" covered="6"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="81"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="16"/><counter type="COMPLEXITY" missed="3" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/auth/security/SecurityActorIdResolver" sourcefilename="SecurityActorIdResolver.java"><method name="<init>" desc="()V" line="11"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resolve" desc="(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;" line="16"><counter type="INSTRUCTION" missed="10" covered="17"/><counter type="BRANCH" missed="5" covered="3"/><counter type="LINE" missed="2" covered="6"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="20"/><counter type="BRANCH" missed="5" covered="3"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="3" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/auth/security/KeycloakJwtAuthenticationToken" sourcefilename="KeycloakJwtAuthenticationToken.java"><method name="<init>" desc="(Lorg/springframework/security/oauth2/jwt/Jwt;Ljava/util/Collection;Lcom/project/auth/presentation/auth/current/AuthenticatedUser;Ljava/lang/String;)V" line="20"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrincipal" desc="()Lcom/project/auth/presentation/auth/current/AuthenticatedUser;" line="26"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/auth/security/SecurityAuditTrailWriter" sourcefilename="SecurityAuditTrailWriter.java"><method name="<init>" desc="(Lcom/project/auth/config/auth/security/SecurityActorIdResolver;)V" line="17"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="record" desc="(Ljakarta/servlet/http/HttpServletRequest;Lcom/project/auth/application/support/audit/AuthAuditEventType;Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="12"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/auth/security/KeycloakJwtAuthenticationConverter" sourcefilename="KeycloakJwtAuthenticationConverter.java"><method name="<init>" desc="(Lorg/springframework/core/convert/converter/Converter;Lcom/project/auth/config/auth/security/KeycloakAuthenticatedUserFactory;)V" line="20"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="convert" desc="(Lorg/springframework/security/oauth2/jwt/Jwt;)Lorg/springframework/security/authentication/AbstractAuthenticationToken;" line="30"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/auth/security/SecurityExceptionHandler" sourcefilename="SecurityExceptionHandler.java"><method name="<init>" desc="(Lorg/springframework/web/servlet/HandlerExceptionResolver;Lcom/project/auth/config/auth/security/SecurityAuditTrailWriter;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="commence" desc="(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/springframework/security/core/AuthenticationException;)V" line="44"><counter type="INSTRUCTION" missed="7" covered="17"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="3" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handle" desc="(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/springframework/security/access/AccessDeniedException;)V" line="59"><counter type="INSTRUCTION" missed="7" covered="17"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="3" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recordAudit" desc="(Ljakarta/servlet/http/HttpServletRequest;Lcom/project/auth/application/support/audit/AuthAuditEventType;Ljava/lang/String;)V" line="70"><counter type="INSTRUCTION" missed="6" covered="8"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="20" covered="61"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="8" covered="16"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="KeycloakJwtAuthenticationToken.java"><line nr="20" mi="0" ci="5" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="KeycloakAuthenticatedUserFactory.java"><line nr="11" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="2" mb="0" cb="0"/><line nr="21" mi="0" ci="2" mb="0" cb="0"/><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="4" mb="0" cb="0"/><line nr="28" mi="0" ci="5" mb="2" cb="2"/><line nr="29" mi="0" ci="2" mb="0" cb="0"/><line nr="31" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="35"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="12"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="KeycloakJwtAuthenticationConverter.java"><line nr="20" mi="0" ci="2" mb="0" cb="0"/><line nr="21" mi="0" ci="6" mb="0" cb="0"/><line nr="22" mi="0" ci="6" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="30" mi="0" ci="6" mb="0" cb="0"/><line nr="31" mi="0" ci="6" mb="0" cb="0"/><line nr="32" mi="0" ci="9" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SecurityExceptionHandler.java"><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="27" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="6" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="1" cb="1"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="1" cb="1"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="62" mi="2" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="65" mi="0" ci="8" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="72" mi="5" ci="0" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="20" covered="61"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="8" covered="16"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SecurityActorIdResolver.java"><line nr="11" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="2" mb="0" cb="2"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="1" ci="2" mb="1" cb="1"/><line nr="23" mi="5" ci="0" mb="4" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="20"/><counter type="BRANCH" missed="5" covered="3"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="3" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SecurityAuditTrailWriter.java"><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="17" mi="0" ci="2" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="0" ci="5" mb="0" cb="0"/><line nr="23" mi="0" ci="4" mb="0" cb="0"/><line nr="24" mi="0" ci="16" mb="0" cb="0"/><line nr="28" mi="0" ci="6" mb="0" cb="0"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="KeycloakGrantedAuthoritiesConverter.java"><line nr="15" mi="0" ci="2" mb="0" cb="0"/><line nr="21" mi="0" ci="6" mb="0" cb="0"/><line nr="25" mi="0" ci="8" mb="0" cb="0"/><line nr="26" mi="0" ci="11" mb="0" cb="2"/><line nr="27" mi="0" ci="8" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="2" mb="1" cb="1"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="7" mb="1" cb="1"/><line nr="40" mi="2" ci="0" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="1" ci="7" mb="1" cb="1"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="81"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="16"/><counter type="COMPLEXITY" missed="3" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="39" covered="309"/><counter type="BRANCH" missed="12" covered="12"/><counter type="LINE" missed="13" covered="78"/><counter type="COMPLEXITY" missed="10" covered="24"/><counter type="METHOD" missed="0" covered="22"/><counter type="CLASS" missed="0" covered="7"/></package><package name="com/project/auth/config/persistence"><class name="com/project/auth/config/persistence/PersistenceConfiguration" sourcefilename="PersistenceConfiguration.java"><method name="<init>" desc="()V" line="11"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="userPersistenceMapper" desc="()Lcom/project/auth/infrastructure/persistence/user/mapper/UserPersistenceMapper;" line="15"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="jpaUserRepositoryAdapter" desc="(Lcom/project/auth/infrastructure/persistence/user/repository/UserJpaRepository;Lcom/project/auth/infrastructure/persistence/user/mapper/UserPersistenceMapper;)Lcom/project/auth/infrastructure/persistence/user/JpaUserRepositoryAdapter;" line="23"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadKeycloakUserPort" desc="(Lcom/project/auth/infrastructure/persistence/user/JpaUserRepositoryAdapter;)Lcom/project/auth/application/auth/identity/port/out/LoadKeycloakUserPort;" line="28"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/persistence/MigrationProperties" sourcefilename="MigrationProperties.java"><method name="<init>" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="9"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="PersistenceConfiguration.java"><line nr="11" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="4" mb="0" cb="0"/><line nr="23" mi="0" ci="6" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MigrationProperties.java"><line nr="9" mi="9" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="9" covered="15"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="1" covered="1"/></package><package name="com/project/auth/config/logging"><class name="com/project/auth/config/logging/AuthAuditLoggingConfiguration" sourcefilename="AuthAuditLoggingConfiguration.java"><method name="<init>" desc="()V" line="17"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authAuditEventPublisher" desc="(Lorg/springframework/context/ApplicationEventPublisher;)Lcom/project/auth/application/support/audit/AuthAuditEventPublisher;" line="23"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authAuditEventListener" desc="()Lcom/project/auth/config/logging/AuthAuditLoggingConfiguration$AuthAuditEventLogListener;" line="28"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/logging/AuthAuditLoggingConfiguration$AuthAuditEventLogListener" sourcefilename="AuthAuditLoggingConfiguration.java"><method name="<init>" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onAuthAuditEvent" desc="(Lcom/project/auth/application/support/audit/AuthAuditEvent;)V" line="35"><counter type="INSTRUCTION" missed="2" covered="24"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$onAuthAuditEvent$0" desc="(Lorg/slf4j/spi/LoggingEventBuilder;Ljava/lang/String;Ljava/lang/String;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="34"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="AuthAuditLoggingConfiguration.java"><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="23" mi="0" ci="6" mb="0" cb="0"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="2" ci="8" mb="1" cb="1"/><line nr="36" mi="0" ci="6" mb="0" cb="0"/><line nr="37" mi="0" ci="12" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="51"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="2" covered="51"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/project/authmigration"><class name="com/project/authmigration/MigrationApplication" sourcefilename="MigrationApplication.java"><method name="<init>" desc="()V" line="25"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="34"><counter type="INSTRUCTION" missed="25" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="<clinit>" desc="()V" line="27"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="42" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/project/authmigration/MigrationApplication$MigrationConfiguration" sourcefilename="MigrationApplication.java"><method name="<init>" desc="()V" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="flyway" desc="(Ljavax/sql/DataSource;Lcom/project/auth/config/persistence/MigrationProperties;)Lorg/flywaydb/core/Flyway;" line="49"><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="migrationRunner" desc="(Lorg/flywaydb/core/Flyway;Lcom/project/auth/config/persistence/MigrationProperties;Lorg/springframework/context/ConfigurableApplicationContext;)Lorg/springframework/boot/ApplicationRunner;" line="63"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$migrationRunner$1" desc="(Lcom/project/auth/config/persistence/MigrationProperties;Lorg/flywaydb/core/Flyway;Lorg/springframework/context/ConfigurableApplicationContext;Lorg/springframework/boot/ApplicationArguments;)V" line="64"><counter type="INSTRUCTION" missed="25" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$migrationRunner$0" desc="()I" line="72"><counter type="INSTRUCTION" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="<clinit>" desc="()V" line="45"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="63" covered="0"/><counter type="LINE" missed="17" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="MigrationApplication.java"><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="14" ci="0" mb="0" cb="0"/><line nr="34" mi="10" ci="0" mb="0" cb="0"/><line nr="36" mi="2" ci="0" mb="0" cb="0"/><line nr="37" mi="8" ci="0" mb="0" cb="0"/><line nr="38" mi="2" ci="0" mb="0" cb="0"/><line nr="39" mi="2" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="45" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="50" mi="6" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="7" ci="0" mb="0" cb="0"/><line nr="53" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="69" mi="3" ci="0" mb="0" cb="0"/><line nr="70" mi="3" ci="0" mb="0" cb="0"/><line nr="72" mi="11" ci="0" mb="0" cb="0"/><line nr="73" mi="2" ci="0" mb="0" cb="0"/><line nr="74" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="9" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="2" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="9" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="2" covered="0"/></package><counter type="INSTRUCTION" missed="321" covered="1205"/><counter type="BRANCH" missed="29" covered="43"/><counter type="LINE" missed="68" covered="284"/><counter type="COMPLEXITY" missed="45" covered="104"/><counter type="METHOD" missed="19" covered="92"/><counter type="CLASS" missed="4" covered="24"/></report> |