.setExampleValue(CeTaskTypes.REPORT)
.setPossibleValues(taskTypes);
action.createParam(PARAM_MIN_SUBMITTED_AT)
- .setDescription("Minimum date of task submission")
+ .setDescription("Minimum date of task submission (inclusive)")
.setExampleValue(DateUtils.formatDateTime(new Date()));
action.createParam(PARAM_MAX_EXECUTED_AT)
- .setDescription("Maximum date of end of task processing")
+ .setDescription("Maximum date of end of task processing (inclusive)")
.setExampleValue(DateUtils.formatDateTime(new Date()));
action.addPagingParams(100, MAX_PAGE_SIZE);
}
Date date = parseDateTimeQuietly(dateAsString);
if (date == null) {
date = parseDateQuietly(dateAsString);
+ checkRequest(date != null, "Date '%s' cannot be parsed as either a date or date+time", dateAsString);
+ date = DateUtils.addDays(date, 1);
}
- checkRequest(date != null, "Date '%s' cannot be parsed as either a date or date+time", dateAsString);
-
return date.getTime();
}
import java.io.File;
import java.io.IOException;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
import org.junit.Before;
import org.junit.Rule;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import static org.sonar.api.utils.DateUtils.formatDate;
import static org.sonar.api.utils.DateUtils.formatDateTime;
import static org.sonar.db.component.ComponentTesting.newProjectDto;
import static org.sonarqube.ws.client.ce.CeWsParameters.PARAM_COMPONENT_QUERY;
}
@Test
- public void filter_by_max_executed_at() {
+ public void filter_by_max_executed_at_exclude() {
userSession.setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN);
insertActivity("T1", "PROJECT_1", CeActivityDto.Status.SUCCESS);
insertActivity("T2", "PROJECT_2", CeActivityDto.Status.FAILED);
assertThat(activityResponse.getTasksCount()).isEqualTo(0);
}
+ @Test
+ public void filter_by_max_executed_at_include_day_filled() {
+ userSession.setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN);
+ insertActivity("T1", "PROJECT_1", CeActivityDto.Status.SUCCESS);
+ String today = formatDate(new Date(EXECUTED_AT));
+ System.out.println(EXECUTED_AT + " - " + today);
+
+ ActivityResponse activityResponse = call(ws.newRequest()
+ .setParam(CeWsParameters.PARAM_MAX_EXECUTED_AT, today));
+
+ assertThat(activityResponse.getTasksCount()).isEqualTo(1);
+ }
+
@Test
public void filter_on_current_activities() {
userSession.setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN);
return datetime;
}
+ /**
+ * Adds a number of days to a date returning a new object.
+ * The original date object is unchanged.
+ *
+ * @param date the date, not null
+ * @param numberOfDays the amount to add, may be negative
+ * @return the new date object with the amount added
+ */
public static Date addDays(Date date, int numberOfDays) {
return org.apache.commons.lang.time.DateUtils.addDays(date, numberOfDays);
}