From: Stephane Gamard Date: Wed, 8 Oct 2014 13:45:42 +0000 (+0200) Subject: added test for RefreshAction.class X-Git-Tag: 5.0-RC1~759 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0bd72c835eaf0dcb5866695e30362f200a731dd9;p=sonarqube.git added test for RefreshAction.class --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/action/RefreshIndex.java b/server/sonar-server/src/main/java/org/sonar/server/search/action/RefreshIndex.java index 835c85960f6..d432250bae5 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/search/action/RefreshIndex.java +++ b/server/sonar-server/src/main/java/org/sonar/server/search/action/RefreshIndex.java @@ -33,7 +33,7 @@ public class RefreshIndex extends IndexAction { @Override public String getKey() { - return null; + throw new IllegalStateException("Refresh Action has no key"); } @Override diff --git a/server/sonar-server/src/test/java/org/sonar/server/search/action/RefreshIndexTest.java b/server/sonar-server/src/test/java/org/sonar/server/search/action/RefreshIndexTest.java new file mode 100644 index 00000000000..2776286d77c --- /dev/null +++ b/server/sonar-server/src/test/java/org/sonar/server/search/action/RefreshIndexTest.java @@ -0,0 +1,74 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2014 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube 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. + * + * SonarQube 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.server.search.action; + +import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; +import org.junit.Before; +import org.junit.Test; +import org.sonar.server.search.Index; +import org.sonar.server.search.IndexDefinition; + +import java.util.List; + +import static org.fest.assertions.Assertions.assertThat; +import static org.fest.assertions.Fail.fail; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class RefreshIndexTest { + IndexDefinition TEST_INDEX = IndexDefinition.createFor("TEST", "TESTING"); + + Index index; + + @Before + public void setUp() throws Exception { + index = mock(Index.class); + when(index.getIndexName()).thenReturn(TEST_INDEX.getIndexName()); + } + + @Test + public void get_delete_request() throws Exception { + RefreshIndex refreshAction = new RefreshIndex(TEST_INDEX.getIndexType()); + + try { + refreshAction.call(); + fail(); + } catch (Exception e) { + assertThat(e.getMessage()).isEqualTo(IndexAction.MISSING_INDEX_EXCEPTION); + } + + try { + refreshAction.getKey(); + fail(); + } catch (Exception e) { + assertThat(e.getMessage()).isEqualTo("Refresh Action has no key"); + } + + // Insert Index for action + refreshAction.setIndex(index); + + List requests = refreshAction.call(); + assertThat(requests).hasSize(1); + + RefreshRequest request = requests.get(0); + assertThat(request.indices()).containsOnly(TEST_INDEX.getIndexName()); + assertThat(request.force()).isFalse(); + } +}