]> source.dussan.org Git - sonarqube.git/commitdiff
Improve batch unit tests
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Tue, 1 Sep 2015 12:13:13 +0000 (14:13 +0200)
committerDuarte Meneses <duarte.meneses@sonarsource.com>
Fri, 4 Sep 2015 08:33:16 +0000 (10:33 +0200)
sonar-batch/src/main/java/org/sonar/batch/rule/DefaultRulesLoader.java
sonar-batch/src/test/java/org/sonar/batch/repository/user/UserRepositoryLoaderTest.java
sonar-batch/src/test/java/org/sonar/batch/rule/DefaultRulesLoaderTest.java

index 9d055b064c12355904d424ae06000f6a3832d38e..b427cfed871940bace679020858ab4b781dd711d 100644 (file)
@@ -57,7 +57,7 @@ public class DefaultRulesLoader implements RulesLoader {
     try (InputStream is = input.openStream()) {
       return ListResponse.parseFrom(is);
     } catch (IOException e) {
-      throw new IllegalStateException("Unable to get previous issues", e);
+      throw new IllegalStateException("Unable to get rules", e);
     }
   }
 
index c63bfda8d4c17c66c0545ca725ad237e4114f29c..5410f18a7c17d63b5ec16065e75bc459a85ebebf 100644 (file)
@@ -19,8 +19,9 @@
  */
 package org.sonar.batch.repository.user;
 
-import org.sonar.batch.cache.WSLoaderResult;
+import org.assertj.core.util.Lists;
 
+import org.sonar.batch.cache.WSLoaderResult;
 import org.sonar.batch.cache.WSLoader;
 import org.junit.Before;
 import com.google.common.collect.ImmutableList;
@@ -59,6 +60,11 @@ public class UserRepositoryLoaderTest {
     userRepo = new UserRepositoryLoader(wsLoader);
   }
 
+  @Test
+  public void testLoadEmptyList() {
+    assertThat(userRepo.load(Lists.<String>emptyList())).isEmpty();
+  }
+  
   @Test
   public void testLoad() throws IOException {
     Map<String, String> userMap = ImmutableMap.of("fmallet", "Freddy Mallet", "sbrandhof", "Simon");
index 8995d3457b7fb69427bec05d27385147157786cb..1c593a51361126c752e8f0fa03ae38930c422492 100644 (file)
@@ -22,8 +22,9 @@ package org.sonar.batch.rule;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import org.sonar.batch.cache.WSLoaderResult;
+import org.junit.rules.ExpectedException;
 
+import org.sonar.batch.cache.WSLoaderResult;
 import org.sonar.batch.cache.WSLoader;
 import org.apache.commons.lang.mutable.MutableBoolean;
 import org.sonarqube.ws.Rules.ListResponse.Rule;
@@ -38,6 +39,9 @@ import static org.assertj.core.api.Assertions.assertThat;
 import org.junit.Test;
 
 public class DefaultRulesLoaderTest {
+  @org.junit.Rule
+  public ExpectedException exception = ExpectedException.none();
+
   @Test
   public void testParseServerResponse() throws IOException {
     WSLoader wsLoader = mock(WSLoader.class);
@@ -60,4 +64,17 @@ public class DefaultRulesLoaderTest {
     assertThat(fromCache.booleanValue()).isTrue();
   }
 
+  @Test
+  public void testError() {
+    WSLoader wsLoader = mock(WSLoader.class);
+    ByteSource source = ByteSource.wrap(new String("trash").getBytes());
+    when(wsLoader.loadSource(anyString())).thenReturn(new WSLoaderResult<>(source, true));
+    DefaultRulesLoader loader = new DefaultRulesLoader(wsLoader);
+
+    exception.expect(IllegalStateException.class);
+    exception.expectMessage("Unable to get rules");
+
+    loader.load(null);
+  }
+
 }