aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-engine
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2016-07-14 09:29:44 +0200
committerDuarte Meneses <duarte.meneses@sonarsource.com>2016-07-14 09:29:44 +0200
commit2603cbdd54960fd453b90d37157320347f511b6a (patch)
tree8b5b4516955e09a311d4dd32b124e22d5539d7a7 /sonar-scanner-engine
parent1c30503d5c1eee29eda7eea43b8ecb55c611da2d (diff)
downloadsonarqube-2603cbdd54960fd453b90d37157320347f511b6a.tar.gz
sonarqube-2603cbdd54960fd453b90d37157320347f511b6a.zip
Improve quality
Diffstat (limited to 'sonar-scanner-engine')
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/IssueListener.java1
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssueCallback.java1
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/repository/DefaultGlobalRepositoriesLoaderTest.java29
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileTest.java51
4 files changed, 82 insertions, 0 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/IssueListener.java b/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/IssueListener.java
index bf3f399142a..289ce0e9802 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/IssueListener.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/IssueListener.java
@@ -19,6 +19,7 @@
*/
package org.sonar.batch.bootstrapper;
+@FunctionalInterface
public interface IssueListener {
void handle(Issue issue);
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssueCallback.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssueCallback.java
index 89655a83188..4a778443658 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssueCallback.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssueCallback.java
@@ -19,6 +19,7 @@
*/
package org.sonar.scanner.issue;
+@FunctionalInterface
public interface IssueCallback {
void execute();
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/repository/DefaultGlobalRepositoriesLoaderTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/repository/DefaultGlobalRepositoriesLoaderTest.java
index bca63c154e8..32294620a05 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/repository/DefaultGlobalRepositoriesLoaderTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/repository/DefaultGlobalRepositoriesLoaderTest.java
@@ -19,21 +19,31 @@
*/
package org.sonar.scanner.repository;
+import java.io.IOException;
+import java.io.Reader;
import java.io.StringReader;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
import org.sonar.scanner.WsTestUtil;
import org.sonar.scanner.bootstrap.BatchWsClient;
import org.sonar.scanner.protocol.input.GlobalRepositories;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
public class DefaultGlobalRepositoriesLoaderTest {
private static final String BATCH_GLOBAL_URL = "/batch/global";
private BatchWsClient wsClient;
private DefaultGlobalRepositoriesLoader globalRepositoryLoader;
+ @Rule
+ public ExpectedException exception = ExpectedException.none();
+
@Before
public void setUp() {
wsClient = mock(BatchWsClient.class);
@@ -47,4 +57,23 @@ public class DefaultGlobalRepositoriesLoaderTest {
WsTestUtil.verifyCall(wsClient, BATCH_GLOBAL_URL);
verifyNoMoreInteractions(wsClient);
}
+
+ @Test
+ public void testIOError() throws IOException {
+ Reader reader = mock(Reader.class);
+ when(reader.read(any(char[].class))).thenThrow(new IOException());
+ WsTestUtil.mockReader(wsClient, reader);
+ exception.expect(IllegalStateException.class);
+ globalRepositoryLoader.load();
+ }
+
+ @Test
+ public void testCloseError() throws IOException {
+ Reader reader = mock(Reader.class);
+ when(reader.read(any(char[].class))).thenReturn(-1);
+ doThrow(new IOException()).when(reader).close();
+ WsTestUtil.mockReader(wsClient, reader);
+ exception.expect(IllegalStateException.class);
+ globalRepositoryLoader.load();
+ }
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileTest.java
new file mode 100644
index 00000000000..d4844d68ba9
--- /dev/null
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/QProfileTest.java
@@ -0,0 +1,51 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.scanner.rule;
+
+import org.junit.Test;
+import static org.assertj.core.api.Assertions.*;
+
+public class QProfileTest {
+ @Test
+ public void testEquals() {
+ QProfile q1 = new QProfile();
+ QProfile q2 = new QProfile();
+ QProfile q3 = new QProfile();
+
+ q1.setKey("k1");
+ q1.setName("name1");
+
+ q2.setKey("k1");
+ q2.setName("name2");
+
+ q3.setKey("k3");
+ q3.setName("name3");
+
+ assertThat(q1).isEqualTo(q2);
+ assertThat(q1).isNotEqualTo(q3);
+ assertThat(q2).isNotEqualTo(q3);
+ assertThat(q1).isNotEqualTo(null);
+ assertThat(q1).isNotEqualTo("str");
+
+ assertThat(q1.hashCode()).isEqualTo(q2.hashCode());
+ assertThat(q1.hashCode()).isNotEqualTo(q3.hashCode());
+ assertThat(q2.hashCode()).isNotEqualTo(q3.hashCode());
+ }
+}