]> source.dussan.org Git - sonarqube.git/commitdiff
Remove unused and conflicting dependency on securemock in unit tests
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Fri, 26 Jan 2018 17:40:31 +0000 (18:40 +0100)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Mon, 29 Jan 2018 09:14:16 +0000 (10:14 +0100)
securemock is a fork of an old version of mockito. By removing it
some tests must be fixed to correctly support the latest version of
mockito:
- signature of ArgumentMatcher implementations (Object -> T). That's the
reason why they have been fixed and replaced by lambda
- any(Class) supports null values in securemock but not in mockito.
Replacing calls by any() fixes the issue.

16 files changed:
server/sonar-server/pom.xml
server/sonar-server/src/test/java/org/sonar/server/app/TomcatConnectorsTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/queue/ReportSubmitterTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/qualitygate/QualityGateServiceImplTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/BuildComponentTreeStepTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PurgeDatastoresStepTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/SendIssueNotificationsStepTest.java
server/sonar-server/src/test/java/org/sonar/server/issue/CommentActionTest.java
server/sonar-server/src/test/java/org/sonar/server/issue/notification/ChangesOnMyIssueNotificationDispatcherTest.java
server/sonar-server/src/test/java/org/sonar/server/platform/SettingsChangeNotifierTest.java
server/sonar-server/src/test/java/org/sonar/server/platform/web/RootFilterTest.java
server/sonar-server/src/test/java/org/sonar/server/plugins/PluginDownloaderTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRulesActionTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/DeactivateRulesActionTest.java
server/sonar-server/src/test/java/org/sonar/server/telemetry/TelemetryDaemonTest.java

index 855a287c03edbf25b045173e7b6fb00b19ba633a..416becba405fa40a19f7c2f9abf260c5b15f1913 100644 (file)
           <groupId>com.carrotsearch.randomizedtesting</groupId>
           <artifactId>randomizedtesting-runner</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>org.elasticsearch</groupId>
+          <artifactId>securemock</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
index 5ce12ccd3df6300c30cc98ac3340b1dd048ff83c..c89a70364adcdbddc02144e94943f8f83456cc3a 100644 (file)
@@ -23,10 +23,8 @@ import com.google.common.collect.ImmutableMap;
 import java.net.InetAddress;
 import java.util.Map;
 import java.util.Properties;
-import org.apache.catalina.connector.Connector;
 import org.apache.catalina.startup.Tomcat;
 import org.junit.Test;
-import org.mockito.ArgumentMatcher;
 import org.mockito.Mockito;
 import org.sonar.process.Props;
 
@@ -94,13 +92,7 @@ public class TomcatConnectorsTest {
 
     TomcatConnectors.configure(tomcat, new Props(p));
 
-    verify(tomcat.getService()).addConnector(argThat(new ArgumentMatcher<Connector>() {
-      @Override
-      public boolean matches(Object o) {
-        Connector c = (Connector) o;
-        return c.getScheme().equals("http") && c.getPort() == 9000 && ((InetAddress) c.getProperty("address")).getHostAddress().equals("0.0.0.0");
-      }
-    }));
+    verify(tomcat.getService()).addConnector(argThat(c -> c.getScheme().equals("http") && c.getPort() == 9000 && ((InetAddress) c.getProperty("address")).getHostAddress().equals("0.0.0.0")));
   }
 
   @Test
@@ -111,13 +103,8 @@ public class TomcatConnectorsTest {
 
     TomcatConnectors.configure(tomcat, new Props(p));
 
-    verify(tomcat.getService()).addConnector(argThat(new ArgumentMatcher<Connector>() {
-      @Override
-      public boolean matches(Object o) {
-        Connector c = (Connector) o;
-        return c.getScheme().equals("http") && c.getPort() == 9000 && ((InetAddress) c.getProperty("address")).getHostAddress().equals("1.2.3.4");
-      }
-    }));
+    verify(tomcat.getService())
+      .addConnector(argThat(c -> c.getScheme().equals("http") && c.getPort() == 9000 && ((InetAddress) c.getProperty("address")).getHostAddress().equals("1.2.3.4")));
   }
 
   @Test
@@ -133,36 +120,26 @@ public class TomcatConnectorsTest {
 
     Props props = new Props(properties);
     TomcatConnectors.configure(tomcat, props);
-    verify(tomcat.getService()).addConnector(argThat(new ArgumentMatcher<Connector>() {
-      @Override
-      public boolean matches(Object o) {
-        Connector c = (Connector) o;
-        return c.getMaxPostSize() == -1;
-      }
-    }));
+    verify(tomcat.getService()).addConnector(argThat(c -> c.getMaxPostSize() == -1));
   }
 
-  private void verifyHttpConnector(int expectedPort, Map<String,Object> expectedProps) {
-    verify(tomcat.getService()).addConnector(argThat(new ArgumentMatcher<Connector>() {
-      @Override
-      public boolean matches(Object o) {
-        Connector c = (Connector) o;
-        if (!c.getScheme().equals("http")) {
-          return false;
-        }
-        if (!c.getProtocol().equals(TomcatConnectors.HTTP_PROTOCOL)) {
-          return false;
-        }
-        if (c.getPort() != expectedPort) {
+  private void verifyHttpConnector(int expectedPort, Map<String, Object> expectedProps) {
+    verify(tomcat.getService()).addConnector(argThat(c -> {
+      if (!c.getScheme().equals("http")) {
+        return false;
+      }
+      if (!c.getProtocol().equals(TomcatConnectors.HTTP_PROTOCOL)) {
+        return false;
+      }
+      if (c.getPort() != expectedPort) {
+        return false;
+      }
+      for (Map.Entry<String, Object> expectedProp : expectedProps.entrySet()) {
+        if (!expectedProp.getValue().equals(c.getProperty(expectedProp.getKey()))) {
           return false;
         }
-        for (Map.Entry<String, Object> expectedProp : expectedProps.entrySet()) {
-          if (!expectedProp.getValue().equals(c.getProperty(expectedProp.getKey()))) {
-            return false;
-          }
-        }
-        return true;
       }
+      return true;
     }));
   }
 }
index 9a46cec0cc89ee07983840a0b7583792bba17318..d7f1e1af6d3a352fe88869266d2e05ae14f76616 100644 (file)
@@ -22,25 +22,20 @@ package org.sonar.server.computation.dbcleaner;
 import org.junit.Before;
 import org.junit.Test;
 import org.sonar.api.CoreProperties;
-import org.sonar.api.config.Configuration;
 import org.sonar.api.config.PropertyDefinitions;
 import org.sonar.api.config.internal.MapSettings;
-import org.sonar.api.utils.log.Logger;
 import org.sonar.core.config.PurgeConstants;
 import org.sonar.core.config.PurgeProperties;
 import org.sonar.db.DbSession;
 import org.sonar.db.purge.IdUuidPair;
-import org.sonar.db.purge.PurgeConfiguration;
 import org.sonar.db.purge.PurgeDao;
 import org.sonar.db.purge.PurgeListener;
 import org.sonar.db.purge.PurgeProfiler;
 import org.sonar.db.purge.period.DefaultPeriodCleaner;
 
 import static java.util.Collections.emptyList;
+import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
@@ -65,7 +60,7 @@ public class ProjectCleanerTest {
 
     underTest.purge(mock(DbSession.class), mock(IdUuidPair.class), settings.asConfig(), emptyList());
 
-    verify(profiler, never()).dump(anyLong(), any(Logger.class));
+    verify(profiler, never()).dump(anyLong(), any());
   }
 
   @Test
@@ -74,7 +69,7 @@ public class ProjectCleanerTest {
 
     underTest.purge(mock(DbSession.class), mock(IdUuidPair.class), settings.asConfig(), emptyList());
 
-    verify(profiler).dump(anyLong(), any(Logger.class));
+    verify(profiler).dump(anyLong(), any());
   }
 
   @Test
@@ -83,7 +78,7 @@ public class ProjectCleanerTest {
 
     underTest.purge(mock(DbSession.class), mock(IdUuidPair.class), settings.asConfig(), emptyList());
 
-    verify(periodCleaner).clean(any(DbSession.class), anyString(), any(Configuration.class));
-    verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class));
+    verify(periodCleaner).clean(any(), any(), any());
+    verify(dao).purge(any(), any(), any(), any());
   }
 }
index 01b7372f0f1cd9c7a2c0db9502dd49f83a7b19bf..b4ea206381a80a26631db19bf53058dd7bb449c7 100644 (file)
@@ -23,8 +23,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.io.IOUtils;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeMatcher;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -59,8 +57,8 @@ import static java.lang.String.format;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.tuple;
 import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.argThat;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
@@ -111,8 +109,8 @@ public class ReportSubmitterTest {
 
     mockSuccessfulPrepareSubmitCall();
     ComponentDto project = newPrivateProjectDto(db.getDefaultOrganization(), PROJECT_UUID).setDbKey(PROJECT_KEY);
-    when(componentUpdater.create(any(DbSession.class), any(NewComponent.class), eq(null))).thenReturn(project);
-    when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), eq(defaultOrganizationUuid), anyInt(), eq(PROJECT_KEY),
+    when(componentUpdater.create(any(), any(), any())).thenReturn(project);
+    when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(), eq(defaultOrganizationUuid), any(), eq(PROJECT_KEY),
       eq(Qualifiers.PROJECT)))
         .thenReturn(true);
 
@@ -144,18 +142,8 @@ public class ReportSubmitterTest {
     verifyReportIsPersisted(TASK_UUID);
     verifyZeroInteractions(permissionTemplateService);
     verifyZeroInteractions(favoriteUpdater);
-    verify(queue).submit(argThat(new TypeSafeMatcher<CeTaskSubmit>() {
-      @Override
-      protected boolean matchesSafely(CeTaskSubmit submit) {
-        return submit.getType().equals(CeTaskTypes.REPORT) && submit.getComponentUuid().equals(project.uuid()) &&
-          submit.getUuid().equals(TASK_UUID);
-      }
-
-      @Override
-      public void describeTo(Description description) {
-
-      }
-    }));
+    verify(queue).submit(argThat(submit ->
+      submit.getType().equals(CeTaskTypes.REPORT) && submit.getComponentUuid().equals(project.uuid()) && submit.getUuid().equals(TASK_UUID)));
   }
 
   @Test
@@ -167,27 +155,17 @@ public class ReportSubmitterTest {
 
     mockSuccessfulPrepareSubmitCall();
     ComponentDto createdProject = newPrivateProjectDto(organization, PROJECT_UUID).setDbKey(PROJECT_KEY);
-    when(componentUpdater.create(any(DbSession.class), any(NewComponent.class), eq(null))).thenReturn(createdProject);
+    when(componentUpdater.create(any(), any(), isNull())).thenReturn(createdProject);
     when(
-      permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), eq(organization.getUuid()), anyInt(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT)))
+      permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(), eq(organization.getUuid()), any(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT)))
         .thenReturn(true);
-    when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), eq(organization.getUuid()), any(ComponentDto.class))).thenReturn(true);
+    when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(), eq(organization.getUuid()), any())).thenReturn(true);
 
     underTest.submit(organization.getKey(), PROJECT_KEY, null, PROJECT_NAME, IOUtils.toInputStream("{binary}"));
 
     verifyReportIsPersisted(TASK_UUID);
-    verify(queue).submit(argThat(new TypeSafeMatcher<CeTaskSubmit>() {
-      @Override
-      protected boolean matchesSafely(CeTaskSubmit submit) {
-        return submit.getType().equals(CeTaskTypes.REPORT) && submit.getComponentUuid().equals(PROJECT_UUID) &&
-          submit.getUuid().equals(TASK_UUID);
-      }
-
-      @Override
-      public void describeTo(Description description) {
-
-      }
-    }));
+    verify(queue).submit(argThat(submit ->
+      submit.getType().equals(CeTaskTypes.REPORT) && submit.getComponentUuid().equals(PROJECT_UUID) && submit.getUuid().equals(TASK_UUID)));
   }
 
   @Test
@@ -198,11 +176,11 @@ public class ReportSubmitterTest {
 
     mockSuccessfulPrepareSubmitCall();
     ComponentDto createdProject = newPrivateProjectDto(db.getDefaultOrganization(), PROJECT_UUID).setDbKey(PROJECT_KEY);
-    when(componentUpdater.create(any(DbSession.class), any(NewComponent.class), eq(null))).thenReturn(createdProject);
-    when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), eq(defaultOrganizationUuid), anyInt(),
+    when(componentUpdater.create(any(), any(), isNull())).thenReturn(createdProject);
+    when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(), eq(defaultOrganizationUuid), any(),
       eq(PROJECT_KEY), eq(Qualifiers.PROJECT)))
         .thenReturn(true);
-    when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), eq(defaultOrganizationUuid), any(ComponentDto.class))).thenReturn(false);
+    when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(), eq(defaultOrganizationUuid), any())).thenReturn(false);
 
     underTest.submit(defaultOrganizationKey, PROJECT_KEY, null, PROJECT_NAME, IOUtils.toInputStream("{binary}"));
 
@@ -217,8 +195,8 @@ public class ReportSubmitterTest {
 
     mockSuccessfulPrepareSubmitCall();
     ComponentDto project = newPrivateProjectDto(db.getDefaultOrganization(), PROJECT_UUID).setDbKey(PROJECT_KEY);
-    when(componentUpdater.create(any(DbSession.class), any(NewComponent.class), eq(null))).thenReturn(project);
-    when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), eq(defaultOrganizationUuid), anyInt(),
+    when(componentUpdater.create(any(), any(), any())).thenReturn(project);
+    when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(), eq(defaultOrganizationUuid), any(),
       eq(PROJECT_KEY), eq(Qualifiers.PROJECT)))
         .thenReturn(true);
 
index 6df7c8237f45cab39dcbf9816b4a31907e0d2bdf..ec2c1e8f2e6b6af6c51c6412c590b2789b0c694c 100644 (file)
@@ -28,7 +28,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.sonar.api.measures.CoreMetrics;
 import org.sonar.db.DbClient;
-import org.sonar.db.DbSession;
 import org.sonar.db.qualitygate.QualityGateConditionDao;
 import org.sonar.db.qualitygate.QualityGateConditionDto;
 import org.sonar.db.qualitygate.QualityGateDao;
@@ -77,8 +76,8 @@ public class QualityGateServiceImplTest {
 
   @Test
   public void findById_returns_QualityGate_with_empty_set_of_conditions_when_there_is_none_in_DB() {
-    when(qualityGateDao.selectById(any(DbSession.class), eq(SOME_ID))).thenReturn(QUALITY_GATE_DTO);
-    when(qualityGateConditionDao.selectForQualityGate(any(DbSession.class), eq(SOME_ID))).thenReturn(Collections.emptyList());
+    when(qualityGateDao.selectById(any(), eq(SOME_ID))).thenReturn(QUALITY_GATE_DTO);
+    when(qualityGateConditionDao.selectForQualityGate(any(), eq(SOME_ID))).thenReturn(Collections.emptyList());
 
     Optional<QualityGate> res = underTest.findById(SOME_ID);
 
@@ -90,8 +89,8 @@ public class QualityGateServiceImplTest {
 
   @Test
   public void findById_returns_conditions_when_there_is_some_in_DB() {
-    when(qualityGateDao.selectById(any(DbSession.class), eq(SOME_ID))).thenReturn(QUALITY_GATE_DTO);
-    when(qualityGateConditionDao.selectForQualityGate(any(DbSession.class), eq(SOME_ID))).thenReturn(ImmutableList.of(CONDITION_1, CONDITION_2));
+    when(qualityGateDao.selectById(any(), eq(SOME_ID))).thenReturn(QUALITY_GATE_DTO);
+    when(qualityGateConditionDao.selectForQualityGate(any(), eq(SOME_ID))).thenReturn(ImmutableList.of(CONDITION_1, CONDITION_2));
     // metrics are always supposed to be there
     when(metricRepository.getOptionalById(METRIC_ID_1)).thenReturn(Optional.of(METRIC_1));
     when(metricRepository.getOptionalById(METRIC_ID_2)).thenReturn(Optional.of(METRIC_2));
@@ -108,8 +107,8 @@ public class QualityGateServiceImplTest {
 
   @Test
   public void findById_ignores_conditions_on_missing_metrics() {
-    when(qualityGateDao.selectById(any(DbSession.class), eq(SOME_ID))).thenReturn(QUALITY_GATE_DTO);
-    when(qualityGateConditionDao.selectForQualityGate(any(DbSession.class), eq(SOME_ID))).thenReturn(ImmutableList.of(CONDITION_1, CONDITION_2));
+    when(qualityGateDao.selectById(any(), eq(SOME_ID))).thenReturn(QUALITY_GATE_DTO);
+    when(qualityGateConditionDao.selectForQualityGate(any(), eq(SOME_ID))).thenReturn(ImmutableList.of(CONDITION_1, CONDITION_2));
     // metrics are always supposed to be there
     when(metricRepository.getOptionalById(METRIC_ID_1)).thenReturn(Optional.empty());
     when(metricRepository.getOptionalById(METRIC_ID_2)).thenReturn(Optional.of(METRIC_2));
index 00446e046e0acf4df279a7ba9d2da66739cb22c7..87164b0c17a06f29b541c50a675ffa8951e93239 100644 (file)
@@ -207,7 +207,7 @@ public class BuildComponentTreeStepTest {
     when(branch.getName()).thenReturn("origin/feature");
     when(branch.isMain()).thenReturn(false);
     when(branch.isLegacyFeature()).thenReturn(false);
-    when(branch.generateKey(any(ScannerReport.Component.class), any(ScannerReport.Component.class))).thenReturn("generated");
+    when(branch.generateKey(any(), any())).thenReturn("generated");
     analysisMetadataHolder.setRootComponentRef(ROOT_REF)
       .setAnalysisDate(ANALYSIS_DATE)
       .setProject(new Project("U1", REPORT_PROJECT_KEY, REPORT_PROJECT_KEY))
index ee4cdbebd29b873a24bf37b923e74c98e48c4adb..ea5fb6e7dc5ecff19152925713420a2e22b8a3e8 100644 (file)
@@ -29,10 +29,8 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
-import org.sonar.api.config.Configuration;
 import org.sonar.api.config.internal.MapSettings;
 import org.sonar.db.DbClient;
-import org.sonar.db.DbSession;
 import org.sonar.db.purge.IdUuidPair;
 import org.sonar.server.computation.dbcleaner.ProjectCleaner;
 import org.sonar.server.computation.task.projectanalysis.component.Component;
@@ -48,7 +46,6 @@ import org.sonar.server.util.WrapInSingleElementArray;
 import static java.util.Arrays.asList;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyList;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -140,7 +137,7 @@ public class PurgeDatastoresStepTest extends BaseStepTest {
     underTest.execute();
 
     ArgumentCaptor<IdUuidPair> argumentCaptor = ArgumentCaptor.forClass(IdUuidPair.class);
-    verify(projectCleaner).purge(any(DbSession.class), argumentCaptor.capture(), any(Configuration.class), anyList());
+    verify(projectCleaner).purge(any(), argumentCaptor.capture(), any(), any());
     assertThat(argumentCaptor.getValue().getId()).isEqualTo(PROJECT_ID);
     assertThat(argumentCaptor.getValue().getUuid()).isEqualTo(PROJECT_UUID);
   }
index df5504a054a13b2700eb52a77bb6ae4d7bc82acc..08e78d0a15659f7ed6f0ddc2bc2e83fa22d28247 100644 (file)
@@ -60,8 +60,7 @@ import org.sonar.server.notification.NotificationService;
 import org.sonar.server.util.cache.DiskCache;
 
 import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
-import static org.assertj.core.api.Java6Assertions.assertThat;
-import static org.mockito.Matchers.anyString;
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.mock;
@@ -139,14 +138,14 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
       new DefaultIssue().setType(randomRuleType).setEffort(ISSUE_DURATION)
         .setCreationDate(new Date(ANALYSE_DATE)))
       .close();
-    when(notificationService.hasProjectSubscribersForTypes(PROJECT.getUuid(), SendIssueNotificationsStep.NOTIF_TYPES)).thenReturn(true);
+    when(notificationService.hasProjectSubscribersForTypes(eq(PROJECT.getUuid()), any())).thenReturn(true);
 
     underTest.execute();
 
     verify(notificationService).deliver(newIssuesNotificationMock);
     verify(newIssuesNotificationMock).setProject(PROJECT.getPublicKey(), PROJECT.getName(), null);
     verify(newIssuesNotificationMock).setAnalysisDate(new Date(ANALYSE_DATE));
-    verify(newIssuesNotificationMock).setStatistics(eq(PROJECT.getName()), any(NewIssuesStatistics.Stats.class));
+    verify(newIssuesNotificationMock).setStatistics(eq(PROJECT.getName()), any());
     verify(newIssuesNotificationMock).setDebt(ISSUE_DURATION);
   }
 
@@ -232,7 +231,7 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
       new DefaultIssue().setType(randomRuleType).setEffort(ISSUE_DURATION).setAssignee(ISSUE_ASSIGNEE)
         .setCreationDate(new Date(ANALYSE_DATE)))
       .close();
-    when(notificationService.hasProjectSubscribersForTypes(PROJECT.getUuid(), SendIssueNotificationsStep.NOTIF_TYPES)).thenReturn(true);
+    when(notificationService.hasProjectSubscribersForTypes(eq(PROJECT.getUuid()), any())).thenReturn(true);
 
     underTest.execute();
 
@@ -425,22 +424,22 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
 
   private NewIssuesNotification createNewIssuesNotificationMock() {
     NewIssuesNotification notification = mock(NewIssuesNotification.class);
-    when(notification.setProject(anyString(), anyString(), anyString())).thenReturn(notification);
-    when(notification.setProjectVersion(anyString())).thenReturn(notification);
-    when(notification.setAnalysisDate(any(Date.class))).thenReturn(notification);
-    when(notification.setStatistics(anyString(), any(NewIssuesStatistics.Stats.class))).thenReturn(notification);
-    when(notification.setDebt(any(Duration.class))).thenReturn(notification);
+    when(notification.setProject(any(), any(), any())).thenReturn(notification);
+    when(notification.setProjectVersion(any())).thenReturn(notification);
+    when(notification.setAnalysisDate(any())).thenReturn(notification);
+    when(notification.setStatistics(any(), any())).thenReturn(notification);
+    when(notification.setDebt(any())).thenReturn(notification);
     return notification;
   }
 
   private MyNewIssuesNotification createMyNewIssuesNotificationMock() {
     MyNewIssuesNotification notification = mock(MyNewIssuesNotification.class);
-    when(notification.setAssignee(anyString())).thenReturn(notification);
-    when(notification.setProject(anyString(), anyString(), anyString())).thenReturn(notification);
-    when(notification.setProjectVersion(anyString())).thenReturn(notification);
-    when(notification.setAnalysisDate(any(Date.class))).thenReturn(notification);
-    when(notification.setStatistics(anyString(), any(NewIssuesStatistics.Stats.class))).thenReturn(notification);
-    when(notification.setDebt(any(Duration.class))).thenReturn(notification);
+    when(notification.setAssignee(any())).thenReturn(notification);
+    when(notification.setProject(any(), any(), any())).thenReturn(notification);
+    when(notification.setProjectVersion(any())).thenReturn(notification);
+    when(notification.setAnalysisDate(any())).thenReturn(notification);
+    when(notification.setStatistics(any(), any())).thenReturn(notification);
+    when(notification.setDebt(any())).thenReturn(notification);
     return notification;
   }
 
index b2ed456b8714781a2211548d01464528add2b3b9..c8db81dc5758b42b3ecbee69daac76969ce3a105 100644 (file)
@@ -25,7 +25,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.sonar.api.issue.Issue;
 import org.sonar.core.issue.DefaultIssue;
-import org.sonar.core.issue.IssueChangeContext;
 import org.sonar.server.tester.AnonymousMockUserSession;
 
 import static com.google.common.collect.Maps.newHashMap;
@@ -60,7 +59,7 @@ public class CommentActionTest {
     when(context.issue()).thenReturn(issue);
 
     action.execute(properties, context);
-    verify(issueUpdater).addComment(eq(issue), eq(comment), any(IssueChangeContext.class));
+    verify(issueUpdater).addComment(eq(issue), eq(comment), any());
   }
 
   @Test
index c06ff4cc0e11f5ce90b7803214ea9ebe60940629..4a74a0817fc3879340ade4e72be143f6f6fa012b 100644 (file)
@@ -21,11 +21,7 @@ package org.sonar.server.issue.notification;
 
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
-import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
 import org.sonar.api.notifications.Notification;
 import org.sonar.api.notifications.NotificationChannel;
 import org.sonar.api.web.UserRole;
@@ -35,37 +31,25 @@ import org.sonar.server.notification.NotificationManager;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
 public class ChangesOnMyIssueNotificationDispatcherTest {
 
-  @Mock
-  NotificationManager notifications;
+  private NotificationManager notifications = mock(NotificationManager.class);
+  private NotificationDispatcher.Context context = mock(NotificationDispatcher.Context.class);
+  private NotificationChannel emailChannel = mock(NotificationChannel.class);
+  private NotificationChannel twitterChannel = mock(NotificationChannel.class);
 
-  @Mock
-  NotificationDispatcher.Context context;
-
-  @Mock
-  NotificationChannel emailChannel;
-
-  @Mock
-  NotificationChannel twitterChannel;
-
-  ChangesOnMyIssueNotificationDispatcher dispatcher;
-
-  @Before
-  public void setUp() {
-    dispatcher = new ChangesOnMyIssueNotificationDispatcher(notifications);
-  }
+  private ChangesOnMyIssueNotificationDispatcher underTest = new ChangesOnMyIssueNotificationDispatcher(notifications);
 
   @Test
   public void test_metadata() {
     NotificationDispatcherMetadata metadata = ChangesOnMyIssueNotificationDispatcher.newMetadata();
-    assertThat(metadata.getDispatcherKey()).isEqualTo(dispatcher.getKey());
+    assertThat(metadata.getDispatcherKey()).isEqualTo(underTest.getKey());
     assertThat(metadata.getProperty(NotificationDispatcherMetadata.GLOBAL_NOTIFICATION)).isEqualTo("true");
     assertThat(metadata.getProperty(NotificationDispatcherMetadata.PER_PROJECT_NOTIFICATION)).isEqualTo("true");
   }
@@ -73,7 +57,7 @@ public class ChangesOnMyIssueNotificationDispatcherTest {
   @Test
   public void should_not_dispatch_if_other_notification_type() {
     Notification notification = new Notification("other-notif");
-    dispatcher.performDispatch(notification, context);
+    underTest.performDispatch(notification, context);
 
     verify(context, never()).addUser(any(String.class), any(NotificationChannel.class));
   }
@@ -84,14 +68,14 @@ public class ChangesOnMyIssueNotificationDispatcherTest {
     recipients.put("simon", emailChannel);
     recipients.put("freddy", twitterChannel);
     recipients.put("godin", twitterChannel);
-    when(notifications.findSubscribedRecipientsForDispatcher(dispatcher, "struts",
+    when(notifications.findSubscribedRecipientsForDispatcher(underTest, "struts",
       new NotificationManager.SubscriberPermissionsOnProject(UserRole.USER))).thenReturn(recipients);
 
     Notification notification = new IssueChangeNotification()
       .setFieldValue("projectKey", "struts")
       .setFieldValue("changeAuthor", "olivier")
       .setFieldValue("assignee", "freddy");
-    dispatcher.performDispatch(notification, context);
+    underTest.performDispatch(notification, context);
 
     verify(context).addUser("freddy", twitterChannel);
     verify(context, never()).addUser("godin", twitterChannel);
@@ -104,10 +88,10 @@ public class ChangesOnMyIssueNotificationDispatcherTest {
     recipients.put("simon", emailChannel);
     recipients.put("freddy", twitterChannel);
     recipients.put("godin", twitterChannel);
-    when(notifications.findSubscribedRecipientsForDispatcher(dispatcher, "uuid1", new NotificationManager.SubscriberPermissionsOnProject(UserRole.USER))).thenReturn(recipients);
+    when(notifications.findSubscribedRecipientsForDispatcher(underTest, "uuid1", new NotificationManager.SubscriberPermissionsOnProject(UserRole.USER))).thenReturn(recipients);
 
     // change author is the assignee
-    dispatcher.performDispatch(
+    underTest.performDispatch(
       new IssueChangeNotification()
         .setFieldValue("projectKey", "struts")
         .setFieldValue("projectUuid", "uuid1")
@@ -116,7 +100,7 @@ public class ChangesOnMyIssueNotificationDispatcherTest {
       context);
 
     // no change author
-    dispatcher.performDispatch(new IssueChangeNotification().setFieldValue("projectKey", "struts")
+    underTest.performDispatch(new IssueChangeNotification().setFieldValue("projectKey", "struts")
       .setFieldValue("new.resolution", "FIXED"), context);
 
     verifyNoMoreInteractions(context);
index eedf2edf0a4f49cd07fac15b49afb445d8e9112a..bd1d64468a0aeee595fd58b1d3ae4dae591e2074 100644 (file)
@@ -20,7 +20,6 @@
 package org.sonar.server.platform;
 
 import org.junit.Test;
-import org.mockito.ArgumentMatcher;
 import org.sonar.api.config.GlobalPropertyChangeHandler;
 
 import static org.assertj.core.api.Assertions.assertThat;
@@ -36,13 +35,7 @@ public class SettingsChangeNotifierTest {
 
     notifier.onGlobalPropertyChange("foo", "bar");
 
-    verify(handler).onChange(argThat(new ArgumentMatcher<GlobalPropertyChangeHandler.PropertyChange>() {
-      @Override
-      public boolean matches(Object o) {
-        GlobalPropertyChangeHandler.PropertyChange change = (GlobalPropertyChangeHandler.PropertyChange) o;
-        return change.getKey().equals("foo") && change.getNewValue().equals("bar");
-      }
-    }));
+    verify(handler).onChange(argThat(change -> change.getKey().equals("foo") && change.getNewValue().equals("bar")));
   }
 
   @Test
index f78cfb7a3ec619741f4bd5c125f77c91e45e97d9..0d2f08e24e4b9cae2b3b945ba5f754bd76272e7e 100644 (file)
@@ -45,62 +45,60 @@ public class RootFilterTest {
   @Rule
   public ExpectedException expectedException = ExpectedException.none();
 
-  private RootFilter filter;
-  private FilterChain chain;
+  private FilterChain chain = mock(FilterChain.class);
+  private RootFilter underTest;
 
   @Before
-  public void initialize() throws Exception {
+  public void initialize() {
     FilterConfig filterConfig = mock(FilterConfig.class);
     ServletContext context = mock(ServletContext.class);
     when(context.getContextPath()).thenReturn("/context");
     when(filterConfig.getServletContext()).thenReturn(context);
-    chain = mock(FilterChain.class);
-
-    filter = new RootFilter();
-    filter.init(filterConfig);
+    underTest = new RootFilter();
+    underTest.init(filterConfig);
   }
 
   @Test
-  public void throwable_in_dofilter_is_caught_and_500_error_returned_if_response_is_not_committed() throws Exception {
+  public void throwable_in_doFilter_is_caught_and_500_error_returned_if_response_is_not_committed() throws Exception {
     doThrow(new RuntimeException()).when(chain).doFilter(any(ServletRequest.class), any(ServletResponse.class));
     HttpServletResponse response = mockHttpResponse(false);
-    filter.doFilter(request("POST", "/context/service/call", "param=value"), response, chain);
+    underTest.doFilter(request("POST", "/context/service/call", "param=value"), response, chain);
 
     verify(response).sendError(500);
   }
 
   @Test
-  public void throwable_in_dofilter_is_caught_but_no_500_response_is_sent_if_response_already_committed() throws Exception {
+  public void throwable_in_doFilter_is_caught_but_no_500_response_is_sent_if_response_already_committed() throws Exception {
     doThrow(new RuntimeException()).when(chain).doFilter(any(ServletRequest.class), any(ServletResponse.class));
     HttpServletResponse response = mockHttpResponse(true);
-    filter.doFilter(request("POST", "/context/service/call", "param=value"), response, chain);
+    underTest.doFilter(request("POST", "/context/service/call", "param=value"), response, chain);
 
     verify(response, never()).sendError(500);
   }
 
   @Test
   public void request_used_in_chain_do_filter_is_a_servlet_wrapper_when_static_resource() throws Exception {
-    filter.doFilter(request("GET", "/context/static/image.png", null), null, chain);
+    underTest.doFilter(request("GET", "/context/static/image.png", null), mock(HttpServletResponse.class), chain);
     ArgumentCaptor<ServletRequest> requestArgumentCaptor = ArgumentCaptor.forClass(ServletRequest.class);
 
-    verify(chain).doFilter(requestArgumentCaptor.capture(), any(ServletResponse.class));
+    verify(chain).doFilter(requestArgumentCaptor.capture(), any(HttpServletResponse.class));
 
     assertThat(requestArgumentCaptor.getValue()).isInstanceOf(RootFilter.ServletRequestWrapper.class);
   }
 
   @Test
   public void request_used_in_chain_do_filter_is_a_servlet_wrapper_when_service_call() throws Exception {
-    filter.doFilter(request("POST", "/context/service/call", "param=value"), null, chain);
+    underTest.doFilter(request("POST", "/context/service/call", "param=value"), mock(HttpServletResponse.class), chain);
     ArgumentCaptor<ServletRequest> requestArgumentCaptor = ArgumentCaptor.forClass(ServletRequest.class);
 
-    verify(chain).doFilter(requestArgumentCaptor.capture(), any(ServletResponse.class));
+    verify(chain).doFilter(requestArgumentCaptor.capture(), any(HttpServletResponse.class));
 
     assertThat(requestArgumentCaptor.getValue()).isInstanceOf(RootFilter.ServletRequestWrapper.class);
   }
 
   @Test
   public void fail_to_get_session_from_request() throws Exception {
-    filter.doFilter(request("GET", "/context/static/image.png", null), null, chain);
+    underTest.doFilter(request("GET", "/context/static/image.png", null), mock(HttpServletResponse.class), chain);
     ArgumentCaptor<ServletRequest> requestArgumentCaptor = ArgumentCaptor.forClass(ServletRequest.class);
     verify(chain).doFilter(requestArgumentCaptor.capture(), any(ServletResponse.class));
 
@@ -110,7 +108,7 @@ public class RootFilterTest {
 
   @Test
   public void fail_to_get_session_with_create_from_request() throws Exception {
-    filter.doFilter(request("GET", "/context/static/image.png", null), null, chain);
+    underTest.doFilter(request("GET", "/context/static/image.png", null), mock(HttpServletResponse.class), chain);
     ArgumentCaptor<ServletRequest> requestArgumentCaptor = ArgumentCaptor.forClass(ServletRequest.class);
     verify(chain).doFilter(requestArgumentCaptor.capture(), any(ServletResponse.class));
 
@@ -126,9 +124,9 @@ public class RootFilterTest {
     return request;
   }
 
-  private HttpServletResponse mockHttpResponse(boolean commited) {
+  private static HttpServletResponse mockHttpResponse(boolean committed) {
     HttpServletResponse response = mock(HttpServletResponse.class);
-    when(response.isCommitted()).thenReturn(commited);
+    when(response.isCommitted()).thenReturn(committed);
     return response;
   }
 }
index 6640fa2917fb9bf06e859205431ba04d13549dc7..87a83c25187f732465b1b37d3ef47e0293160947 100644 (file)
@@ -63,11 +63,11 @@ public class PluginDownloaderTest {
   public TemporaryFolder testFolder = new TemporaryFolder();
   @Rule
   public ExpectedException expectedException = ExpectedException.none();
-  File downloadDir;
-  UpdateCenterMatrixFactory updateCenterMatrixFactory;
-  UpdateCenter updateCenter;
-  HttpDownloader httpDownloader;
-  PluginDownloader pluginDownloader;
+  private File downloadDir;
+  private UpdateCenterMatrixFactory updateCenterMatrixFactory;
+  private UpdateCenter updateCenter;
+  private HttpDownloader httpDownloader;
+  private PluginDownloader pluginDownloader;
 
   @Before
   public void before() throws Exception {
@@ -306,15 +306,15 @@ public class PluginDownloaderTest {
     assertThat(new File(downloadDir, "testdep-1.0.jar")).exists();
   }
 
-  class HasFileName extends ArgumentMatcher<File> {
+  class HasFileName implements ArgumentMatcher<File> {
     private final String name;
 
     HasFileName(String name) {
       this.name = name;
     }
 
-    public boolean matches(Object obj) {
-      File file = (File) obj;
+    @Override
+    public boolean matches(File file) {
       return file.getName().equals(name);
     }
   }
index 3fd9c8f1b204ebae063111bb75111416eec0cf2b..e8fcbeabede675c73ba97b737ea983c2b00f5026 100644 (file)
@@ -25,7 +25,6 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.sonar.api.server.ws.WebService;
 import org.sonar.db.DbClient;
-import org.sonar.db.DbSession;
 import org.sonar.db.DbTester;
 import org.sonar.db.organization.OrganizationDto;
 import org.sonar.db.qualityprofile.QProfileDto;
@@ -36,7 +35,6 @@ import org.sonar.server.exceptions.ForbiddenException;
 import org.sonar.server.exceptions.UnauthorizedException;
 import org.sonar.server.organization.TestDefaultOrganizationProvider;
 import org.sonar.server.qualityprofile.RuleActivator;
-import org.sonar.server.rule.index.RuleQuery;
 import org.sonar.server.rule.ws.RuleQueryFactory;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.TestRequest;
@@ -45,7 +43,6 @@ import org.sonar.server.ws.WsActionTester;
 import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -123,7 +120,7 @@ public class ActivateRulesActionTest {
       .setParam(PARAM_TARGET_KEY, qualityProfile.getKee())
       .execute();
 
-    verify(ruleActivator).bulkActivateAndCommit(any(DbSession.class), any(RuleQuery.class), any(QProfileDto.class), anyString());
+    verify(ruleActivator).bulkActivateAndCommit(any(), any(), any(), any());
   }
 
   @Test
@@ -141,7 +138,7 @@ public class ActivateRulesActionTest {
       .setParam(PARAM_TARGET_KEY, qualityProfile.getKee())
       .execute();
 
-    verify(ruleActivator).bulkActivateAndCommit(any(DbSession.class), any(RuleQuery.class), any(QProfileDto.class), anyString());
+    verify(ruleActivator).bulkActivateAndCommit(any(), any(), any(), any());
   }
 
   @Test
index bec5d17b22ff10c97b11ddd4feb5d37bbf306539..ed62cc2cac0b3b692a9c4daa9e769c7f82fb1c5d 100644 (file)
@@ -25,7 +25,6 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.sonar.api.server.ws.WebService;
 import org.sonar.db.DbClient;
-import org.sonar.db.DbSession;
 import org.sonar.db.DbTester;
 import org.sonar.db.organization.OrganizationDto;
 import org.sonar.db.qualityprofile.QProfileDto;
@@ -36,7 +35,6 @@ import org.sonar.server.exceptions.ForbiddenException;
 import org.sonar.server.exceptions.UnauthorizedException;
 import org.sonar.server.organization.TestDefaultOrganizationProvider;
 import org.sonar.server.qualityprofile.RuleActivator;
-import org.sonar.server.rule.index.RuleQuery;
 import org.sonar.server.rule.ws.RuleQueryFactory;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.TestRequest;
@@ -119,7 +117,7 @@ public class DeactivateRulesActionTest {
       .setParam(PARAM_TARGET_KEY, qualityProfile.getKee())
       .execute();
 
-    verify(ruleActivator).bulkDeactivateAndCommit(any(DbSession.class), any(RuleQuery.class), any(QProfileDto.class));
+    verify(ruleActivator).bulkDeactivateAndCommit(any(), any(), any());
   }
 
   @Test
@@ -137,7 +135,7 @@ public class DeactivateRulesActionTest {
       .setParam(PARAM_TARGET_KEY, qualityProfile.getKee())
       .execute();
 
-    verify(ruleActivator).bulkDeactivateAndCommit(any(DbSession.class), any(RuleQuery.class), any(QProfileDto.class));
+    verify(ruleActivator).bulkDeactivateAndCommit(any(), any(), any());
   }
 
   @Test
index 1e8b1720f84155a47b0528788f7b91947ae1aab5..7ce8a8c62031b501e8c00d04f3f39f389ce37e1d 100644 (file)
@@ -58,6 +58,7 @@ import static java.util.Collections.emptySet;
 import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.after;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.spy;
@@ -199,7 +200,7 @@ public class TelemetryDaemonTest {
     internalProperties.write("telemetry.lastPing", String.valueOf(sixDaysAgo));
     settings.setProperty("sonar.telemetry.frequencyInSeconds", "1");
     underTest.start();
-    verify(client, timeout(2_000).never()).upload(anyString());
+    verify(client, after(2_000).never()).upload(anyString());
     internalProperties.write("telemetry.lastPing", String.valueOf(sevenDaysAgo));
 
     verify(client, timeout(2_000).atLeastOnce()).upload(anyString());
@@ -228,7 +229,7 @@ public class TelemetryDaemonTest {
     internalProperties.write("telemetry.lastPing", String.valueOf(sixDaysAgo));
     underTest.start();
 
-    verify(client, timeout(2_000).never()).upload(anyString());
+    verify(client, after(2_000).never()).upload(anyString());
   }
 
   @Test
@@ -253,7 +254,7 @@ public class TelemetryDaemonTest {
     underTest.start();
     underTest.start();
 
-    verify(client, timeout(2_000).never()).upload(anyString());
+    verify(client, after(2_000).never()).upload(anyString());
     verify(client, timeout(2_000).times(1)).optOut(anyString());
     assertThat(logger.logs(LoggerLevel.INFO)).contains("Sharing of SonarQube statistics is disabled.");
   }