Files
project-auth-server/application/build/reports/jacoco/test/jacocoTestReport.xml
T

1 line
40 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="application"><sessioninfo id="donghyeon-960XGK-79722118" start="1778567060953" dump="1778567065647"/><package name="com/project/auth/application/auth/exception"><class name="com/project/auth/application/auth/exception/InvalidKeycloakClaimsException" sourcefilename="InvalidKeycloakClaimsException.java"><method name="&lt;init&gt;" desc="()V" line="9"><counter type="INSTRUCTION" missed="0" covered="4"/><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="4"/><counter type="LINE" missed="0" covered="2"/><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/application/auth/exception/KeycloakAccountConflictException" sourcefilename="KeycloakAccountConflictException.java"><method name="&lt;init&gt;" desc="()V" line="9"><counter type="INSTRUCTION" missed="0" covered="4"/><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="4"/><counter type="LINE" missed="0" covered="2"/><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/application/auth/exception/KeycloakUserNotFoundException" sourcefilename="KeycloakUserNotFoundException.java"><method name="&lt;init&gt;" desc="()V" line="9"><counter type="INSTRUCTION" missed="4" 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="4" covered="0"/><counter type="LINE" missed="2" 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="KeycloakUserNotFoundException.java"><line nr="9" mi="3" ci="0" mb="0" cb="0"/><line nr="10" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="KeycloakAccountConflictException.java"><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="InvalidKeycloakClaimsException.java"><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="4" covered="8"/><counter type="LINE" missed="2" covered="4"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="1" covered="2"/></package><package name="com/project/auth/application/support/audit"><class name="com/project/auth/application/support/audit/AuditLevel" sourcefilename="AuditLevel.java"><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="15"/><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="15"/><counter type="LINE" missed="0" covered="3"/><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/application/support/audit/AuthAuditEventType" sourcefilename="AuthAuditEventType.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="11"><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><method name="code" desc="()Ljava/lang/String;" 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="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="LINE" missed="0" covered="9"/><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/application/support/audit/AuthAuditEvent" sourcefilename="AuthAuditEvent.java"><method name="&lt;init&gt;" desc="(Lcom/project/auth/application/support/audit/AuditLevel;Ljava/lang/String;Ljava/util/Map;)V" line="10"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="info" desc="(Ljava/lang/String;[Ljava/lang/Object;)Lcom/project/auth/application/support/audit/AuthAuditEvent;" line="18"><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="warn" desc="(Ljava/lang/String;[Ljava/lang/Object;)Lcom/project/auth/application/support/audit/AuthAuditEvent;" line="22"><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="toFields" desc="([Ljava/lang/Object;)Ljava/util/Map;" line="26"><counter type="INSTRUCTION" missed="5" covered="40"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="13" covered="78"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/application/support/audit/AuthAuditFields" sourcefilename="AuthAuditFields.java"><method name="maskedEmail" desc="(Lcom/project/auth/domain/user/model/UserEmail;)Ljava/lang/String;" line="34"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="userIdHash" desc="(Ljava/util/UUID;)Ljava/lang/String;" line="39"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="maskEmail" desc="(Ljava/lang/String;)Ljava/lang/String;" line="44"><counter type="INSTRUCTION" missed="30" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="localPartPrefix" desc="(Ljava/lang/String;)Ljava/lang/String;" line="55"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="sha256Hex" desc="(Ljava/lang/String;)Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="18" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="28"><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><counter type="INSTRUCTION" missed="85" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="9" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/project/auth/application/support/audit/AuthAuditFailureReason" sourcefilename="AuthAuditFailureReason.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="9"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="code" desc="()Ljava/lang/String;" line="14"><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="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="17" 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="28" covered="0"/><counter type="LINE" missed="7" 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/auth/application/support/audit/AuthAuditEventPublisher" sourcefilename="AuthAuditEventPublisher.java"/><sourcefile name="AuthAuditEventType.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="7" mb="0" cb="0"/><line nr="5" mi="0" ci="7" mb="0" cb="0"/><line nr="6" mi="0" ci="7" mb="0" cb="0"/><line nr="7" mi="0" ci="7" mb="0" cb="0"/><line nr="11" mi="0" ci="4" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="0" ci="1" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AuthAuditFields.java"><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="8" ci="0" mb="0" cb="0"/><line nr="44" mi="4" ci="0" mb="0" cb="0"/><line nr="45" mi="8" ci="0" mb="4" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="6" ci="0" mb="0" cb="0"/><line nr="51" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="4" ci="0" mb="2" cb="0"/><line nr="56" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="64" mi="8" ci="0" mb="0" cb="0"/><line nr="65" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="85" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="9" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AuthAuditEventPublisher.java"/><sourcefile name="AuditLevel.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="6" mb="0" cb="0"/><line nr="5" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AuthAuditFailureReason.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="7" ci="0" mb="0" cb="0"/><line nr="5" mi="7" ci="0" mb="0" cb="0"/><line nr="9" mi="4" ci="0" mb="0" cb="0"/><line nr="10" mi="3" ci="0" mb="0" cb="0"/><line nr="11" mi="1" ci="0" mb="0" cb="0"/><line nr="14" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="28" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AuthAuditEvent.java"><line nr="10" mi="0" ci="11" mb="0" cb="0"/><line nr="11" mi="0" ci="4" mb="0" cb="0"/><line nr="12" mi="0" ci="4" mb="0" cb="0"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="14" mi="0" ci="6" mb="0" cb="0"/><line nr="15" mi="0" ci="1" mb="0" cb="0"/><line nr="18" mi="0" ci="8" mb="0" cb="0"/><line nr="22" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="1" cb="1"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="8" mb="0" cb="2"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="0" ci="8" mb="0" cb="0"/><line nr="34" mi="0" ci="7" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="13" covered="78"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="126" covered="135"/><counter type="BRANCH" missed="7" covered="3"/><counter type="LINE" missed="27" covered="26"/><counter type="COMPLEXITY" missed="14" covered="8"/><counter type="METHOD" missed="10" covered="7"/><counter type="CLASS" missed="2" covered="3"/></package><package name="com/project/auth/application/support/exception"><class name="com/project/auth/application/support/exception/ClientFacingErrorCode" sourcefilename="ClientFacingErrorCode.java"/><class name="com/project/auth/application/support/exception/ErrorCode" sourcefilename="ErrorCode.java"/><class name="com/project/auth/application/support/exception/CommonErrorCode" sourcefilename="CommonErrorCode.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="9"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="code" desc="()Ljava/lang/String;" 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="message" desc="()Ljava/lang/String;" line="21"><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="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="11"/><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="28"/><counter type="LINE" missed="0" covered="8"/><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/application/support/exception/BusinessException" sourcefilename="BusinessException.java"><method name="&lt;init&gt;" desc="(Lcom/project/auth/application/support/exception/ClientFacingErrorCode;)V" line="8"><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><method name="&lt;init&gt;" desc="(Lcom/project/auth/application/support/exception/ClientFacingErrorCode;Ljava/lang/String;)V" line="13"><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="&lt;init&gt;" desc="(Lcom/project/auth/application/support/exception/ClientFacingErrorCode;Ljava/lang/Throwable;)V" line="18"><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="&lt;init&gt;" desc="(Lcom/project/auth/application/support/exception/ClientFacingErrorCode;Ljava/lang/String;Ljava/lang/Throwable;)V" line="23"><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><method name="getErrorCode" desc="()Lcom/project/auth/application/support/exception/ClientFacingErrorCode;" line="28"><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="35"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/application/support/exception/AuthErrorCode" sourcefilename="AuthErrorCode.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="13"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="code" desc="()Ljava/lang/String;" line="20"><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="message" desc="()Ljava/lang/String;" line="25"><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="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="60"/><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/application/support/exception/ExternalErrorCode" sourcefilename="ExternalErrorCode.java"/><sourcefile name="CommonErrorCode.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="8" mb="0" cb="0"/><line nr="9" mi="0" ci="4" mb="0" cb="0"/><line nr="10" mi="0" ci="3" mb="0" cb="0"/><line nr="11" mi="0" ci="3" mb="0" cb="0"/><line nr="12" mi="0" ci="1" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExternalErrorCode.java"/><sourcefile name="AuthErrorCode.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="8" mb="0" cb="0"/><line nr="5" mi="0" ci="8" mb="0" cb="0"/><line nr="6" mi="0" ci="8" mb="0" cb="0"/><line nr="7" mi="0" ci="8" mb="0" cb="0"/><line nr="8" mi="0" ci="8" mb="0" cb="0"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="1" mb="0" cb="0"/><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="60"/><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="BusinessException.java"><line nr="8" mi="0" ci="4" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><line nr="13" mi="0" ci="3" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="1" mb="0" cb="0"/><line nr="18" mi="0" ci="5" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="23" mi="0" ci="4" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="1" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClientFacingErrorCode.java"/><sourcefile name="ErrorCode.java"/><counter type="INSTRUCTION" missed="0" covered="123"/><counter type="LINE" missed="0" covered="33"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="13"/><counter type="CLASS" missed="0" covered="3"/></package><package name="com/project/auth/application/auth/identity/port/out"><class name="com/project/auth/application/auth/identity/port/out/LoadKeycloakUserPort" sourcefilename="LoadKeycloakUserPort.java"/><class name="com/project/auth/application/auth/identity/port/out/RegisterKeycloakUserPort" sourcefilename="RegisterKeycloakUserPort.java"/><sourcefile name="LoadKeycloakUserPort.java"/><sourcefile name="RegisterKeycloakUserPort.java"/></package><package name="com/project/auth/application/auth/identity"><class name="com/project/auth/application/auth/identity/LoadedKeycloakUser" sourcefilename="LoadedKeycloakUser.java"><method name="&lt;init&gt;" desc="(Ljava/util/UUID;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="from" desc="(Lcom/project/auth/domain/user/model/User;)Lcom/project/auth/application/auth/identity/LoadedKeycloakUser;" line="16"><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><counter type="INSTRUCTION" missed="0" covered="33"/><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/application/auth/identity/LoadKeycloakUserUseCase" sourcefilename="LoadKeycloakUserUseCase.java"/><class name="com/project/auth/application/auth/identity/KeycloakUserClaims" sourcefilename="KeycloakUserClaims.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="3"><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><sourcefile name="KeycloakUserClaims.java"><line nr="3" 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="LoadKeycloakUserUseCase.java"/><sourcefile name="LoadedKeycloakUser.java"><line nr="7" mi="0" ci="18" 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"/><line nr="18" mi="0" ci="2" mb="0" cb="0"/><line nr="19" mi="0" ci="2" 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"/><counter type="INSTRUCTION" missed="0" covered="33"/><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="45"/><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/application/support/logging"><class name="com/project/auth/application/support/logging/LogSanitizer" sourcefilename="LogSanitizer.java"><method name="userAgent" desc="(Ljava/lang/String;)Ljava/lang/String;" line="23"><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="clientIp" desc="(Ljava/lang/String;)Ljava/lang/String;" line="27"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="requestPath" desc="(Ljava/lang/String;)Ljava/lang/String;" line="39"><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="actorId" desc="(Ljava/lang/String;)Ljava/lang/String;" line="43"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="normalize" desc="(Ljava/lang/String;)Ljava/lang/String;" line="54"><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="normalize" desc="(Ljava/lang/String;I)Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="0" covered="63"/><counter type="BRANCH" missed="0" covered="18"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="1"/></method><method name="maskEmail" desc="(Ljava/lang/String;)Ljava/lang/String;" line="79"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="localPartPrefix" desc="(Ljava/lang/String;)Ljava/lang/String;" line="90"><counter type="INSTRUCTION" missed="0" covered="14"/><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="isIpv4Octets" desc="([Ljava/lang/String;)Z" line="97"><counter type="INSTRUCTION" missed="0" covered="23"/><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="isIpv4Octet" desc="(Ljava/lang/String;)Z" line="106"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sha256Hex" desc="(Ljava/lang/String;)Ljava/lang/String;" line="122"><counter type="INSTRUCTION" missed="7" covered="11"/><counter type="LINE" missed="2" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" 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><counter type="INSTRUCTION" missed="7" covered="269"/><counter type="BRANCH" missed="1" covered="53"/><counter type="LINE" missed="2" covered="52"/><counter type="COMPLEXITY" missed="1" covered="38"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="LogSanitizer.java"><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="4" mb="0" cb="0"/><line nr="27" mi="0" ci="5" mb="0" cb="4"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="0" ci="7" mb="0" cb="4"/><line nr="33" mi="0" ci="11" mb="0" cb="0"/><line nr="35" mi="0" ci="7" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="9" mb="0" cb="6"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="2"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="7" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="4"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="62" mi="0" ci="8" mb="0" cb="0"/><line nr="63" mi="0" ci="12" mb="0" cb="4"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="12" mb="0" cb="8"/><line nr="67" mi="0" ci="5" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="2"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="8" mb="0" cb="4"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="6" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="2"/><line nr="91" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="8" mb="0" cb="0"/><line nr="97" mi="0" ci="16" mb="0" cb="2"/><line nr="98" mi="0" ci="3" mb="0" cb="2"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="7" mb="1" cb="3"/><line nr="107" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="110" mi="0" ci="8" mb="0" cb="2"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="2"/><line nr="113" mi="0" ci="2" mb="0" cb="0"/><line nr="115" mi="0" ci="8" mb="0" cb="0"/><line nr="117" mi="0" ci="7" mb="0" cb="2"/><line nr="122" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="8" mb="0" cb="0"/><line nr="124" mi="1" ci="0" mb="0" cb="0"/><line nr="125" mi="6" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="7" covered="269"/><counter type="BRANCH" missed="1" covered="53"/><counter type="LINE" missed="2" covered="52"/><counter type="COMPLEXITY" missed="1" covered="38"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="7" covered="269"/><counter type="BRANCH" missed="1" covered="53"/><counter type="LINE" missed="2" covered="52"/><counter type="COMPLEXITY" missed="1" covered="38"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/project/auth/application/auth/identity/internal"><class name="com/project/auth/application/auth/identity/internal/KeycloakUserLoader" sourcefilename="KeycloakUserLoader.java"><method name="&lt;init&gt;" desc="(Lcom/project/auth/application/auth/identity/port/out/LoadKeycloakUserPort;Lcom/project/auth/application/auth/identity/port/out/RegisterKeycloakUserPort;Lcom/project/auth/application/support/audit/AuthAuditEventPublisher;Ljava/time/Clock;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="load" desc="(Lcom/project/auth/application/auth/identity/KeycloakUserClaims;)Lcom/project/auth/application/auth/identity/LoadedKeycloakUser;" line="50"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="autoRegister" desc="(Lcom/project/auth/application/auth/identity/internal/ValidatedKeycloakUserClaims;)Lcom/project/auth/domain/user/model/User;" line="59"><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$load$0" desc="(Lcom/project/auth/application/auth/identity/internal/ValidatedKeycloakUserClaims;)Lcom/project/auth/domain/user/model/User;" 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="0" covered="103"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/application/auth/identity/internal/KeycloakUserClaimsValidator" sourcefilename="KeycloakUserClaimsValidator.java"><method name="validate" desc="(Lcom/project/auth/application/auth/identity/KeycloakUserClaims;)Lcom/project/auth/application/auth/identity/internal/ValidatedKeycloakUserClaims;" line="15"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isBlank" desc="(Ljava/lang/String;)Z" line="34"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="4" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/project/auth/application/auth/identity/internal/ValidatedKeycloakUserClaims" sourcefilename="ValidatedKeycloakUserClaims.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Lcom/project/auth/domain/user/model/UserEmail;Lcom/project/auth/domain/user/model/UserName;)V" line="6"><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><sourcefile name="ValidatedKeycloakUserClaims.java"><line nr="6" 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="KeycloakUserLoader.java"><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="9" mb="0" cb="0"/><line nr="53" mi="0" ci="7" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="6" mb="0" cb="2"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="64" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="2" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="18" mb="0" cb="0"/><line nr="74" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="103"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="KeycloakUserClaimsValidator.java"><line nr="15" mi="0" ci="3" mb="1" cb="1"/><line nr="16" mi="0" ci="4" mb="1" cb="1"/><line nr="17" mi="0" ci="4" mb="0" cb="2"/><line nr="18" mi="0" ci="3" mb="1" cb="1"/><line nr="19" 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="3" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="9" mb="1" cb="3"/><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="4" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="160"/><counter type="BRANCH" missed="4" covered="10"/><counter type="LINE" missed="0" covered="36"/><counter type="COMPLEXITY" missed="4" covered="10"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="3"/></package><counter type="INSTRUCTION" missed="137" covered="740"/><counter type="BRANCH" missed="12" covered="66"/><counter type="LINE" missed="31" covered="159"/><counter type="COMPLEXITY" missed="20" covered="74"/><counter type="METHOD" missed="11" covered="44"/><counter type="CLASS" missed="3" covered="14"/></report>