Files

1 line
44 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-626a138f" start="1777882137684" dump="1777882166087"/><package name="com/project/auth/config/web"><class name="com/project/auth/config/web/ApiErrorController" sourcefilename="ApiErrorController.java"><method name="&lt;init&gt;" desc="(Lcom/project/auth/presentation/support/response/ApiResultFactory;)V" line="44"><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="error" desc="(Ljakarta/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" line="50"><counter type="INSTRUCTION" missed="24" covered="79"/><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="74"><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="89"><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="96"><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="103"><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="resolveError" desc="(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/Throwable;" line="111"><counter type="INSTRUCTION" missed="5" covered="9"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="40"><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="35" covered="153"/><counter type="BRANCH" missed="6" covered="16"/><counter type="LINE" missed="5" covered="36"/><counter type="COMPLEXITY" missed="6" covered="15"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/RequestAccessLogFilter" sourcefilename="RequestAccessLogFilter.java"><method name="&lt;init&gt;" 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="&lt;clinit&gt;" 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/InfrastructureExceptionHandler" sourcefilename="InfrastructureExceptionHandler.java"><method name="&lt;init&gt;" 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="&lt;clinit&gt;" 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="&lt;init&gt;" desc="(Lcom/project/auth/presentation/support/response/ApiResultFactory;Lcom/project/auth/config/auth/security/SecurityAuditTrailWriter;)V" line="61"><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="handleAuthenticationException" desc="(Lorg/springframework/security/core/AuthenticationException;Ljakarta/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" line="72"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="10"/><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="91"><counter type="INSTRUCTION" missed="44" covered="49"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="10" covered="11"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAnonymous" desc="(Lorg/springframework/security/core/Authentication;Ljakarta/servlet/http/HttpServletRequest;)Z" line="127"><counter type="INSTRUCTION" missed="12" covered="5"/><counter type="BRANCH" missed="7" covered="1"/><counter type="LINE" missed="2" covered="2"/><counter type="COMPLEXITY" missed="4" 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="137"><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="&lt;clinit&gt;" desc="()V" 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><counter type="INSTRUCTION" missed="62" covered="125"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="14" covered="31"/><counter type="COMPLEXITY" missed="5" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/RequestBoundApiResultFactory" sourcefilename="RequestBoundApiResultFactory.java"><method name="&lt;init&gt;" 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="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" 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="0" covered="4"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="1" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/config/web/TraceIdFilter" sourcefilename="TraceIdFilter.java"><method name="&lt;init&gt;" 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="&lt;clinit&gt;" 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><sourcefile name="ApiErrorController.java"><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="1" cb="3"/><line nr="57" mi="17" ci="0" mb="0" cb="0"/><line nr="58" mi="7" ci="0" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="2"/><line nr="60" mi="0" ci="17" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="16" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="6" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="2"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="6" mb="3" cb="3"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="2" ci="0" mb="0" cb="0"/><line nr="81" mi="2" ci="0" mb="0" cb="0"/><line nr="82" mi="2" ci="0" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="6" mb="0" cb="2"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="9" mb="1" cb="3"/><line nr="105" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="5" ci="5" mb="1" cb="1"/><counter type="INSTRUCTION" missed="35" covered="153"/><counter type="BRANCH" missed="6" covered="16"/><counter type="LINE" missed="5" covered="36"/><counter type="COMPLEXITY" missed="6" covered="15"/><counter type="METHOD" missed="0" covered="8"/><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="0" cb="4"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="61"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="1" covered="6"/><counter type="CLASS" missed="0" covered="1"/></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="SecurityResponseExceptionHandler.java"><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="8" mb="0" cb="0"/><line nr="73" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="7" mb="0" cb="0"/><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="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="1" cb="1"/><line nr="92" mi="8" ci="0" mb="0" cb="0"/><line nr="93" mi="6" ci="0" mb="0" cb="0"/><line nr="94" mi="5" ci="0" mb="0" cb="0"/><line nr="95" mi="6" ci="0" mb="0" cb="0"/><line nr="96" mi="2" ci="0" mb="0" cb="0"/><line nr="97" mi="5" ci="0" mb="0" cb="0"/><line nr="100" mi="7" ci="0" mb="0" cb="0"/><line nr="101" mi="2" ci="0" mb="0" cb="0"/><line nr="102" mi="2" ci="0" mb="0" cb="0"/><line nr="103" mi="1" ci="0" mb="0" cb="0"/><line nr="107" mi="0" ci="8" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="109" mi="0" ci="5" mb="0" cb="0"/><line nr="110" mi="0" ci="6" mb="0" cb="0"/><line nr="111" mi="0" ci="2" mb="0" cb="0"/><line nr="112" mi="0" ci="5" mb="0" cb="0"/><line nr="114" mi="0" ci="7" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="1" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="1" cb="1"/><line nr="128" mi="0" ci="2" mb="0" cb="0"/><line nr="130" mi="4" ci="0" mb="2" cb="0"/><line nr="131" mi="8" ci="0" mb="4" cb="0"/><line nr="137" mi="0" ci="6" mb="0" cb="0"/><line nr="138" mi="1" ci="0" mb="0" cb="0"/><line nr="139" mi="5" ci="0" mb="0" cb="0"/><line nr="141" mi="0" ci="1" mb="0" cb="0"/><line nr="142" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="62" covered="125"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="14" covered="31"/><counter type="COMPLEXITY" missed="5" covered="6"/><counter type="METHOD" missed="0" covered="6"/><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="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="114" covered="598"/><counter type="BRANCH" missed="20" covered="30"/><counter type="LINE" missed="22" covered="147"/><counter type="COMPLEXITY" missed="19" covered="45"/><counter type="METHOD" missed="3" covered="34"/><counter type="CLASS" missed="0" covered="6"/></package><package name="com/project/auth/config/auth/security"><class name="com/project/auth/config/auth/security/KeycloakJwtAuthenticationToken" sourcefilename="KeycloakJwtAuthenticationToken.java"><method name="&lt;init&gt;" 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="&lt;init&gt;" 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="&lt;clinit&gt;" 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/KeycloakAuthenticatedUserFactory" sourcefilename="KeycloakAuthenticatedUserFactory.java"><method name="&lt;init&gt;" 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="&lt;init&gt;" 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/KeycloakJwtAuthenticationConverter" sourcefilename="KeycloakJwtAuthenticationConverter.java"><method name="&lt;init&gt;" 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="&lt;init&gt;" 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="&lt;clinit&gt;" 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><class name="com/project/auth/config/auth/security/SecurityActorIdResolver" sourcefilename="SecurityActorIdResolver.java"><method name="&lt;init&gt;" 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><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="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="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/logging"><class name="com/project/auth/config/logging/AuthAuditLoggingConfiguration$AuthAuditEventLogListener" sourcefilename="AuthAuditLoggingConfiguration.java"><method name="&lt;init&gt;" 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="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="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"/></sourcefile><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"/></package><counter type="INSTRUCTION" missed="155" covered="941"/><counter type="BRANCH" missed="33" covered="43"/><counter type="LINE" missed="35" covered="231"/><counter type="COMPLEXITY" missed="30" covered="72"/><counter type="METHOD" missed="3" covered="59"/><counter type="CLASS" missed="0" covered="14"/></report>