]> source.dussan.org Git - sonarqube.git/commitdiff
add tests to PurgeConfiguration
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 2 Jun 2015 08:07:27 +0000 (10:07 +0200)
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 2 Jun 2015 08:37:40 +0000 (10:37 +0200)
sonar-core/src/test/java/org/sonar/core/purge/PurgeConfigurationTest.java

index b78687ff1d04b63fb4cf7745fac53884687f1f9f..04eee6761083dbf0fd12f67dbb7f3636cb305b8a 100644 (file)
  */
 package org.sonar.core.purge;
 
+import java.util.Date;
 import org.junit.Test;
+import org.sonar.api.config.Settings;
+import org.sonar.api.resources.Scopes;
 import org.sonar.api.utils.DateUtils;
-
-import java.util.Date;
+import org.sonar.core.computation.dbcleaner.DbCleanerConstants;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -43,8 +45,32 @@ public class PurgeConfigurationTest {
     PurgeConfiguration conf = new PurgeConfiguration(new IdUuidPair(1L, "1"), new String[0], 30);
     Date toDate = conf.maxLiveDateOfClosedIssues(now);
 
-    assertThat(toDate.getYear()).isEqualTo(113);//=2013
+    assertThat(toDate.getYear()).isEqualTo(113);// =2013
     assertThat(toDate.getMonth()).isEqualTo(3); // means April
     assertThat(toDate.getDate()).isEqualTo(18);
   }
+
+  @Test
+  public void do_not_delete_directory_by_default() {
+    Settings settings = new Settings();
+    settings.setProperty(DbCleanerConstants.PROPERTY_CLEAN_DIRECTORY, false);
+    settings.setProperty(DbCleanerConstants.DAYS_BEFORE_DELETING_CLOSED_ISSUES, 5);
+    Date now = new Date();
+
+    PurgeConfiguration sut = PurgeConfiguration.newDefaultPurgeConfiguration(settings, new IdUuidPair(42L, "any-uuid"));
+
+    assertThat(sut.scopesWithoutHistoricalData()).contains(Scopes.FILE)
+      .doesNotContain(Scopes.DIRECTORY);
+    assertThat(sut.maxLiveDateOfClosedIssues(now)).isEqualTo(DateUtils.addDays(now, -5));
+  }
+
+  @Test
+  public void delete_directory_if_in_settings() {
+    Settings settings = new Settings();
+    settings.setProperty(DbCleanerConstants.PROPERTY_CLEAN_DIRECTORY, true);
+
+    PurgeConfiguration sut = PurgeConfiguration.newDefaultPurgeConfiguration(settings, new IdUuidPair(42L, "any-uuid"));
+
+    assertThat(sut.scopesWithoutHistoricalData()).contains(Scopes.DIRECTORY, Scopes.FILE);
+  }
 }