Skip to content

Commit

Permalink
refactor(core/test): replace deprecated mockito api verifyZeroInterac…
Browse files Browse the repository at this point in the history
…tions() with verifyNoMoreInteractions() during upgrade to spring boot 2.6.x

While upgrading spring boot 2.6.15 and spring cloud 2021.0.8, encounter errors in kayenta-core module during test compilation:
```
> Task :kayenta-core:compileTestGroovy
/kayenta/kayenta-core/src/test/groovy/com/netflix/kayenta/metrics/SynchronousQueryProcessorTest.java:29: error: cannot find symbol
import static org.mockito.Mockito.verifyZeroInteractions;
^
  symbol:   static verifyZeroInteractions
  location: class Mockito
/kayenta/kayenta-core/src/test/groovy/com/netflix/kayenta/metrics/SynchronousQueryProcessorTest.java:121: error: cannot find symbol
    verifyZeroInteractions(storageService);
    ^
  symbol:   method verifyZeroInteractions(StorageService)
  location: class SynchronousQueryProcessorTest
/kayenta/kayenta-core/src/test/groovy/com/netflix/kayenta/metrics/SynchronousQueryProcessorTest.java:201: error: cannot find symbol
    verifyZeroInteractions(storageService);
    ^
  symbol:   method verifyZeroInteractions(StorageService)
  location: class SynchronousQueryProcessorTest
/kayenta/kayenta-core/src/test/groovy/com/netflix/kayenta/metrics/SynchronousQueryProcessorTest.java:229: error: cannot find symbol
    verifyZeroInteractions(storageService);
    ^
  symbol:   method verifyZeroInteractions(StorageService)
  location: class SynchronousQueryProcessorTest
/kayenta/kayenta-core/src/test/groovy/com/netflix/kayenta/metrics/SynchronousQueryProcessorTest.java:259: error: cannot find symbol
    verifyZeroInteractions(storageService);
    ^
  symbol:   method verifyZeroInteractions(StorageService)
  location: class SynchronousQueryProcessorTest
Note: /kayenta/kayenta-core/src/test/groovy/com/netflix/kayenta/metrics/SynchronousQueryProcessorTest.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
5 errors
startup failed:
Compilation failed; see the compiler error output for details.
1 error
> Task :kayenta-core:compileTestGroovy FAILED
```
Spring boot [2.6.15](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/2.6.15/spring-boot-dependencies-2.6.15.pom) brings mockito 4.0.0 as transitive dependency. The `verifyZeroInteractions()` was deprecated in 3.x as mentioned here:
mockito/mockito-kotlin#383
And now it is removed from mockito [4.0.0](https://github.com/mockito/mockito/releases/tag/v4.0.0).
To fix these issues, replacing `verifyZeroInteractions()` with `verifyNoMoreInteractions()`
  • Loading branch information
j-sandy committed Jan 12, 2024
1 parent 3c71ecc commit 0a330a6
Showing 1 changed file with 5 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import static org.springframework.http.HttpStatus.BAD_GATEWAY;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
Expand Down Expand Up @@ -118,7 +118,7 @@ public void retriesRetryableHttpSeriesTillMaxAttemptsAndThrowsException() throws
any(CanaryConfig.class),
any(CanaryMetricConfig.class),
any(CanaryScope.class));
verifyZeroInteractions(storageService);
verifyNoMoreInteractions(storageService);
}

@Test
Expand Down Expand Up @@ -198,7 +198,7 @@ public void doesNotRetryNonRetryableHttpStatusAndThrowsException() throws IOExce
any(CanaryConfig.class),
any(CanaryMetricConfig.class),
any(CanaryScope.class));
verifyZeroInteractions(storageService);
verifyNoMoreInteractions(storageService);
}

@Test
Expand Down Expand Up @@ -226,7 +226,7 @@ public void retriesIoExceptionTillMaxAttemptsAndThrowsException() throws IOExcep
any(CanaryConfig.class),
any(CanaryMetricConfig.class),
any(CanaryScope.class));
verifyZeroInteractions(storageService);
verifyNoMoreInteractions(storageService);
}

@Test
Expand Down Expand Up @@ -256,7 +256,7 @@ public void retriesNetworkErrorTillMaxAttemptsAndThrowsException() throws IOExce
any(CanaryConfig.class),
any(CanaryMetricConfig.class),
any(CanaryScope.class));
verifyZeroInteractions(storageService);
verifyNoMoreInteractions(storageService);
}

private SpinnakerHttpException getSpinnakerHttpException(int status) {
Expand Down

0 comments on commit 0a330a6

Please sign in to comment.