| | |
| | | import org.junit.jupiter.api.Test; |
| | | import org.junit.jupiter.api.extension.ExtendWith; |
| | | import org.mockito.ArgumentCaptor; |
| | | import org.mockito.InOrder; |
| | | import org.mockito.Mock; |
| | | import org.mockito.junit.jupiter.MockitoExtension; |
| | | import org.mockito.junit.jupiter.MockitoSettings; |
| | |
| | | import static org.mockito.ArgumentMatchers.any; |
| | | import static org.mockito.ArgumentMatchers.eq; |
| | | import static org.mockito.Mockito.atLeastOnce; |
| | | import static org.mockito.Mockito.inOrder; |
| | | import static org.mockito.Mockito.never; |
| | | import static org.mockito.Mockito.verify; |
| | | import static org.mockito.Mockito.when; |
| | |
| | | verify(redisUtil).compareAndDelete(eq(RedisKeyType.AI_AUTO_TUNE_APPLY_LOCK.key), anyString()); |
| | | assertEquals(0, transactionManager.getJobSaveOutsideTransactionCount()); |
| | | assertEquals(0, transactionManager.getJobUpdateOutsideTransactionCount()); |
| | | InOrder rollbackOrder = inOrder(redisUtil, aiAutoTuneChangeService); |
| | | rollbackOrder.verify(redisUtil).trySetStringIfAbsent(anyString(), anyString(), anyLong()); |
| | | rollbackOrder.verify(aiAutoTuneChangeService, atLeastOnce()).list(any(Wrapper.class)); |
| | | } |
| | | |
| | | @Test |
| | |
| | | |
| | | @Test |
| | | void rollbackLockNotAcquiredReturnsFailedAuditWithoutTargetWrite() { |
| | | AiAutoTuneJob latestRealJob = job(10L, "manual", "success"); |
| | | AiAutoTuneChange configChange = successChange(10L, "sys_config", "", "conveyorStationTaskLimit", "10", "15"); |
| | | when(aiAutoTuneChangeService.list(any(Wrapper.class))) |
| | | .thenReturn(List.of(configChange)) |
| | | .thenReturn(List.of(configChange)); |
| | | when(aiAutoTuneJobService.getById(10L)).thenReturn(latestRealJob); |
| | | when(redisUtil.trySetStringIfAbsent(anyString(), anyString(), anyLong())).thenReturn(false); |
| | | |
| | | AutoTuneApplyResult result = service.rollbackLastSuccessfulJob("manual rollback"); |
| | |
| | | assertTrue(transactionManager.getJobUpdateInsideTransactionCount() > 0); |
| | | assertEquals(0, transactionManager.getJobSaveOutsideTransactionCount()); |
| | | assertEquals(0, transactionManager.getJobUpdateOutsideTransactionCount()); |
| | | verify(aiAutoTuneChangeService, never()).list(any(Wrapper.class)); |
| | | verify(aiAutoTuneJobService, never()).getById(any()); |
| | | verify(configService, never()).saveConfigValue(any(), any()); |
| | | verify(configService, never()).refreshSystemConfigCache(); |
| | | verify(redisUtil).hasKey(RedisKeyType.AI_AUTO_TUNE_APPLY_LOCK.key); |