mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 06:18:12 +00:00
bug4942: wrap json result of leaderboard setTrackingTimes and added test
This commit is contained in:
1 parent
4fd03f6a7e
commit
87dd95d4d0
2 files changed
+34
-2
No files matched your search
+18
-2
@@ -9,6 +9,7 @@ import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.selenium.api.core.ApiContext;
|
||||
import com.sap.sailing.selenium.api.core.JsonWrapper;
|
||||
|
||||
public class LeaderboardApi {
|
||||
|
||||
@@ -38,14 +39,14 @@ public class LeaderboardApi {
|
||||
return new DeviceMappingRequest(ctx, leaderboardName);
|
||||
}
|
||||
|
||||
public JSONObject setTrackingTimes(ApiContext ctx, String leaderboardName, String raceColumnName, String fleetName,
|
||||
public TrackingTimes setTrackingTimes(ApiContext ctx, String leaderboardName, String raceColumnName, String fleetName,
|
||||
Long startTime, Long endTime) {
|
||||
final Map<String, String> queryParams = new TreeMap<>();
|
||||
queryParams.put("race_column", raceColumnName);
|
||||
queryParams.put("fleet", fleetName);
|
||||
queryParams.put("startoftrackingasmillis", startTime != null ? startTime.toString() : null);
|
||||
queryParams.put("endoftrackingasmillis", endTime != null ? endTime.toString() : null);
|
||||
return ctx.post(toUrl(SET_TRACKING_TIMES_URL, leaderboardName), queryParams);
|
||||
return new TrackingTimes(ctx.post(toUrl(SET_TRACKING_TIMES_URL, leaderboardName), queryParams));
|
||||
}
|
||||
|
||||
public JSONObject startRaceLogTracking(ApiContext ctx, String leaderboardName, String raceColumnName,
|
||||
@@ -116,4 +117,19 @@ public class LeaderboardApi {
|
||||
|
||||
}
|
||||
|
||||
public class TrackingTimes extends JsonWrapper {
|
||||
|
||||
private TrackingTimes(JSONObject json) {
|
||||
super(json);
|
||||
}
|
||||
|
||||
public Long getStartOfTracking() {
|
||||
return get("startoftracking");
|
||||
}
|
||||
|
||||
public Long getEndOfTracking() {
|
||||
return get("endoftracking");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+16
@@ -18,7 +18,9 @@ import com.sap.sailing.selenium.api.core.ApiContext;
|
||||
import com.sap.sailing.selenium.api.event.EventApi;
|
||||
import com.sap.sailing.selenium.api.event.LeaderboardApi;
|
||||
import com.sap.sailing.selenium.api.event.LeaderboardApi.DeviceMappingRequest;
|
||||
import com.sap.sailing.selenium.api.event.LeaderboardApi.TrackingTimes;
|
||||
import com.sap.sailing.selenium.api.regatta.Competitor;
|
||||
import com.sap.sailing.selenium.api.regatta.RaceColumn;
|
||||
import com.sap.sailing.selenium.api.regatta.RegattaApi;
|
||||
import com.sap.sailing.selenium.test.AbstractSeleniumTest;
|
||||
|
||||
@@ -73,4 +75,18 @@ public class LeaderboardApiTest extends AbstractSeleniumTest {
|
||||
@SuppressWarnings("unused") // TODO: check result
|
||||
JSONObject mappingEnd = request.endDeviceMapping(currentTimeMillis());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetTrackingTimes() throws Exception {
|
||||
final ApiContext ctx = createAdminApiContext(getContextRoot(), SERVER_CONTEXT);
|
||||
eventApi.createEvent(ctx, LEADERBOARD_NAME, BOATCLASSNAME, CLOSED, "default");
|
||||
final RaceColumn race = regattaApi.addRaceColumn(ctx, LEADERBOARD_NAME, null, 1)[0];
|
||||
final Long startTime = currentTimeMillis();
|
||||
final Long endTime = currentTimeMillis() + 10000L;
|
||||
leaderboardApi.startRaceLogTracking(ctx, LEADERBOARD_NAME, race.getRaceName(), "Default");
|
||||
TrackingTimes trackingTimes = leaderboardApi.setTrackingTimes(ctx, LEADERBOARD_NAME, race.getRaceName(),
|
||||
"Default", startTime, endTime);
|
||||
assertEquals("read: startTime is different", startTime, trackingTimes.getStartOfTracking());
|
||||
assertEquals("read: endTime is different", endTime, trackingTimes.getEndOfTracking());
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user