From b49e7c3aa658433f8b937ba1a734582e25c82d78 Mon Sep 17 00:00:00 2001 From: igorsatsyuk Date: Wed, 22 Jul 2026 17:51:10 +0300 Subject: [PATCH] [#14] Fix SonarQube code smells: @Service annotation and @InjectMocks in tests --- .../audit/eventstore/service/EventHashService.java | 4 ++-- .../query/repository/AuditLogQueryRepositoryImplTest.java | 8 ++------ .../query/service/AuditIntegrityCheckServiceTest.java | 8 ++------ .../audit/query/service/AuditLogQueryServiceTest.java | 8 ++------ .../audit/query/service/BatchIntegrityCheckerTest.java | 8 ++------ 5 files changed, 10 insertions(+), 26 deletions(-) diff --git a/backend/event-store-service/src/main/java/lt/satsyuk/distributed/audit/eventstore/service/EventHashService.java b/backend/event-store-service/src/main/java/lt/satsyuk/distributed/audit/eventstore/service/EventHashService.java index 71ed234f..627d04e2 100644 --- a/backend/event-store-service/src/main/java/lt/satsyuk/distributed/audit/eventstore/service/EventHashService.java +++ b/backend/event-store-service/src/main/java/lt/satsyuk/distributed/audit/eventstore/service/EventHashService.java @@ -1,12 +1,12 @@ package lt.satsyuk.distributed.audit.eventstore.service; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -@Component +@Service public class EventHashService { private static final String SHA_256 = "SHA-256"; diff --git a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/repository/AuditLogQueryRepositoryImplTest.java b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/repository/AuditLogQueryRepositoryImplTest.java index 5c7f4aef..a49b3178 100644 --- a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/repository/AuditLogQueryRepositoryImplTest.java +++ b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/repository/AuditLogQueryRepositoryImplTest.java @@ -1,9 +1,9 @@ package lt.satsyuk.distributed.audit.query.repository; import lt.satsyuk.distributed.audit.query.service.AuditLogFilter; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.r2dbc.core.DatabaseClient; @@ -27,13 +27,9 @@ class AuditLogQueryRepositoryImplTest { @Mock private DatabaseClient databaseClient; + @InjectMocks private AuditLogQueryRepositoryImpl repository; - @BeforeEach - void setUp() { - repository = new AuditLogQueryRepositoryImpl(databaseClient); - } - // ---- escapeLikePattern ------------------------------------------------ @Test diff --git a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditIntegrityCheckServiceTest.java b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditIntegrityCheckServiceTest.java index 867681ab..99e70d4e 100644 --- a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditIntegrityCheckServiceTest.java +++ b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditIntegrityCheckServiceTest.java @@ -4,9 +4,9 @@ import lt.satsyuk.distributed.audit.query.blockchain.AuditLedgerBlockchainClient; import lt.satsyuk.distributed.audit.query.model.AuditEventRecord; import lt.satsyuk.distributed.audit.query.repository.AuditLogQueryRepository; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Mono; @@ -30,13 +30,9 @@ class AuditIntegrityCheckServiceTest { @Mock private AuditLedgerBlockchainClient blockchainClient; + @InjectMocks private AuditIntegrityCheckService service; - @BeforeEach - void setUp() { - service = new AuditIntegrityCheckService(auditLogQueryRepository, blockchainClient); - } - @Test void checkIntegrityReturnsOnChainWhenHashIsAnchored() { AuditEventRecord eventRecord = sampleRecord(10L, HASH_64); diff --git a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditLogQueryServiceTest.java b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditLogQueryServiceTest.java index 51b34630..1eecdafc 100644 --- a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditLogQueryServiceTest.java +++ b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/AuditLogQueryServiceTest.java @@ -5,10 +5,10 @@ import lt.satsyuk.distributed.audit.query.mapper.AuditEventDtoMapper; import lt.satsyuk.distributed.audit.query.model.AuditEventRecord; import lt.satsyuk.distributed.audit.query.repository.AuditLogQueryRepository; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; @@ -36,13 +36,9 @@ class AuditLogQueryServiceTest { @Mock private AuditEventDtoMapper mapper; + @InjectMocks private AuditLogQueryService service; - @BeforeEach - void setUp() { - service = new AuditLogQueryService(auditLogQueryRepository, mapper); - } - @Test void findAuditLogsAppliesFilterAndMapsRecords() { AuditEventRecord eventRecord = sampleRecord(); diff --git a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/BatchIntegrityCheckerTest.java b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/BatchIntegrityCheckerTest.java index 4affd87d..9466d3eb 100644 --- a/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/BatchIntegrityCheckerTest.java +++ b/backend/query-service/src/test/java/lt/satsyuk/distributed/audit/query/service/BatchIntegrityCheckerTest.java @@ -5,9 +5,9 @@ import lt.satsyuk.distributed.audit.query.blockchain.AuditLedgerBlockchainClient; import lt.satsyuk.distributed.audit.query.model.AuditEventRecord; import lt.satsyuk.distributed.audit.query.repository.AuditLogQueryRepository; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; @@ -31,13 +31,9 @@ class BatchIntegrityCheckerTest { @Mock private AuditLedgerBlockchainClient blockchainClient; + @InjectMocks private BatchIntegrityChecker checker; - @BeforeEach - void setUp() { - checker = new BatchIntegrityChecker(auditLogQueryRepository, blockchainClient); - } - @Test void runCheckAggregatesOnChainPendingAndMismatchAcrossBatches() { AuditEventRecord onChain = buildEventRecord(1L, "evt-1", HASH_1);