Browse Source

remove hardcoded dates in ITs (#1485)

tags/6.3-RC1
Stas Vilchik 7 years ago
parent
commit
71a9b752b4

+ 9
- 6
it/it-tests/src/test/java/it/dbCleaner/PurgeTest.java View File

@@ -54,6 +54,9 @@ public class PurgeTest {
private static final String PROJECT_KEY = "com.sonarsource.it.samples:multi-modules-sample";
private static final String PROJECT_SAMPLE_PATH = "dbCleaner/xoo-multi-modules-sample";

private static final String ONE_DAY_AGO = DateFormatUtils.ISO_DATE_FORMAT.format(addDays(new Date(), -1));
private static final String TWO_DAYS_AGO = DateFormatUtils.ISO_DATE_FORMAT.format(addDays(new Date(), -2));

@ClassRule
public static final Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;

@@ -249,12 +252,12 @@ public class PurgeTest {
*/
@Test
public void should_delete_historical_data_of_directories_by_default() {
scan(PROJECT_SAMPLE_PATH, "2012-01-01");
scan(PROJECT_SAMPLE_PATH, TWO_DAYS_AGO);

int fileMeasures = count(COUNT_FILE_MEASURES);
int dirMeasures = count(COUNT_DIR_MEASURES);

scan(PROJECT_SAMPLE_PATH, "2012-02-02");
scan(PROJECT_SAMPLE_PATH, ONE_DAY_AGO);

// second analysis with new_* metrics
assertThat(count(COUNT_FILE_MEASURES)).isLessThan(2 * fileMeasures);
@@ -266,14 +269,14 @@ public class PurgeTest {
*/
@Test
public void should_not_delete_historical_data_of_directories() {
scan(PROJECT_SAMPLE_PATH, "2012-01-01");
scan(PROJECT_SAMPLE_PATH, TWO_DAYS_AGO);

int fileMeasures = count(COUNT_FILE_MEASURES);
int dirMeasures = count(COUNT_DIR_MEASURES);

setServerProperty(orchestrator, "sonar.dbcleaner.cleanDirectory", "false");

scan(PROJECT_SAMPLE_PATH, "2012-02-02");
scan(PROJECT_SAMPLE_PATH, ONE_DAY_AGO);

// second analysis as NEW_* metrics
assertThat(count(COUNT_FILE_MEASURES)).isLessThan( 2 * fileMeasures);
@@ -285,7 +288,7 @@ public class PurgeTest {
*/
@Test
public void should_delete_historical_data_of_flagged_metrics() {
scan(PROJECT_SAMPLE_PATH, "2012-01-01");
scan(PROJECT_SAMPLE_PATH, TWO_DAYS_AGO);

// historical data of complexity_in_classes is supposed to be deleted (see CoreMetrics)
String selectNcloc = "project_measures where metric_id in (select id from metrics where name='ncloc')";
@@ -293,7 +296,7 @@ public class PurgeTest {
int nclocCount = count(selectNcloc);
int complexitInClassesCount = count(selectComplexityInClasses);

scan(PROJECT_SAMPLE_PATH, "2012-02-02");
scan(PROJECT_SAMPLE_PATH, ONE_DAY_AGO);
assertThat(count(selectNcloc)).isGreaterThan(nclocCount);
assertThat(count(selectComplexityInClasses)).isEqualTo(complexitInClassesCount);
}

+ 9
- 3
it/it-tests/src/test/java/it/projectAdministration/ProjectAdministrationTest.java View File

@@ -25,8 +25,10 @@ import it.Category1Suite;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.annotation.Nullable;
import org.apache.commons.lang.time.DateFormatUtils;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Ignore;
@@ -40,6 +42,7 @@ import org.sonar.wsclient.user.UserParameters;
import pageobjects.Navigation;
import pageobjects.settings.SettingsPage;

import static org.apache.commons.lang.time.DateUtils.addDays;
import static org.assertj.core.api.Assertions.assertThat;
import static util.ItUtils.projectDir;
import static util.selenium.Selenese.runSelenese;
@@ -47,6 +50,9 @@ import static util.selenium.Selenese.runSelenese;
public class ProjectAdministrationTest {
private static final String DELETE_WS_ENDPOINT = "api/projects/bulk_delete";

// take some day in the past
private static final String ANALYSIS_DATE = DateFormatUtils.ISO_DATE_FORMAT.format(addDays(new Date(), -1));

@ClassRule
public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;

@@ -66,7 +72,7 @@ public class ProjectAdministrationTest {

@Test
public void delete_project_by_web_service() {
scanSampleWithDate("2012-01-01");
scanSampleWithDate(ANALYSIS_DATE);

assertThat(orchestrator.getServer().getWsClient().find(ResourceQuery.create(PROJECT_KEY))).isNotNull();
assertThat(orchestrator.getServer().getWsClient().find(ResourceQuery.create(FILE_KEY))).isNotNull();
@@ -80,7 +86,7 @@ public class ProjectAdministrationTest {
@Test
public void fail_when_trying_to_delete_a_file() {
expectedException.expect(HttpException.class);
scanSampleWithDate("2012-01-01");
scanSampleWithDate(ANALYSIS_DATE);

assertThat(orchestrator.getServer().getWsClient().find(ResourceQuery.create(PROJECT_KEY))).isNotNull();
assertThat(orchestrator.getServer().getWsClient().find(ResourceQuery.create(FILE_KEY))).isNotNull();
@@ -92,7 +98,7 @@ public class ProjectAdministrationTest {
@Test
public void fail_when_insufficient_privilege() {
expectedException.expect(HttpException.class);
scanSampleWithDate("2012-01-01");
scanSampleWithDate(ANALYSIS_DATE);

assertThat(orchestrator.getServer().getWsClient().find(ResourceQuery.create(PROJECT_KEY))).isNotNull();


+ 10
- 4
it/it-tests/src/test/java/it/qualityGate/QualityGateUiTest.java View File

@@ -22,7 +22,9 @@ package it.qualityGate;
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarScanner;
import it.Category1Suite;
import java.util.Date;
import javax.annotation.Nullable;
import org.apache.commons.lang.time.DateFormatUtils;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -37,6 +39,7 @@ import pageobjects.Navigation;
import pageobjects.ProjectActivityPage;
import util.ItUtils;

import static org.apache.commons.lang.time.DateUtils.addDays;
import static util.ItUtils.projectDir;
import static util.ItUtils.setServerProperty;
import static util.selenium.Selenese.runSelenese;
@@ -76,17 +79,20 @@ public class QualityGateUiTest {
QualityGate qGate = qgClient.create("AlertsForHistory");
qgClient.setDefault(qGate.id());

String firstAnalysisDate = DateFormatUtils.ISO_DATE_FORMAT.format(addDays(new Date(), -2));
String secondAnalysisDate = DateFormatUtils.ISO_DATE_FORMAT.format(addDays(new Date(), -1));

// with this configuration, project should have an Orange alert
QualityGateCondition lowThresholds = qgClient.createCondition(NewCondition.create(qGate.id()).metricKey("lines").operator("GT").warningThreshold("5").errorThreshold("50"));
scanSampleWithDate("2012-01-01");
scanSampleWithDate(firstAnalysisDate);
// with this configuration, project should have a Green alert
qgClient.updateCondition(UpdateCondition.create(lowThresholds.id()).metricKey("lines").operator("GT").warningThreshold("5000").errorThreshold("5000"));
scanSampleWithDate("2012-01-02");
scanSampleWithDate(secondAnalysisDate);

ProjectActivityPage page = Navigation.get(orchestrator).openProjectActivity("sample");
page
.assertFirstAnalysisOfTheDayHasText("2012-01-02", "Green (was Orange)")
.assertFirstAnalysisOfTheDayHasText("2012-01-01", "Orange");
.assertFirstAnalysisOfTheDayHasText(secondAnalysisDate, "Green (was Orange)")
.assertFirstAnalysisOfTheDayHasText(firstAnalysisDate, "Orange");

qgClient.unsetDefault();
qgClient.destroy(qGate.id());

Loading…
Cancel
Save