mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-10 04:51:07 +00:00
added simple Selenium Test for TrackedEventsResource
This commit is contained in:
1 parent
ac1ba531aa
commit
0c237b8572
3 files changed
+162
-6
No files matched your search
+123
@@ -0,0 +1,123 @@
|
||||
package com.sap.sailing.selenium.api.event;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
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 TrackedEventsApi {
|
||||
|
||||
private static final String TRACKED_EVENTS_URL = "/api/v1/events/trackedevents/";
|
||||
private static final String KEY_TRACKED_EVENTS = "trackedEvents";
|
||||
|
||||
private static final String KEY_EVENT_ID = "eventId";
|
||||
private static final String KEY_EVENT_IS_ARCHIVED = "isArchived";
|
||||
private static final String KEY_EVENT_NAME = "name";
|
||||
private static final String KEY_EVENT_START = "start";
|
||||
private static final String KEY_EVENT_END = "end";
|
||||
private static final String KEY_EVENT_BASE_URL = "url";
|
||||
private static final String KEY_EVENT_IS_OWNER = "isOwner";
|
||||
|
||||
private static final String KEY_EVENT_TRACKED_ELEMENTS = "trackedElements";
|
||||
|
||||
private static final String KEY_TRACKED_ELEMENT_DEVICE_ID = "deviceId";
|
||||
private static final String KEY_TRACKED_ELEMENT_COMPETITOR_ID = "competitorId";
|
||||
private static final String KEY_TRACKED_ELEMENT_BOAT_ID = "boatId";
|
||||
private static final String KEY_TRACKED_ELEMENT_MARK_ID = "markId";
|
||||
|
||||
public TrackedEvents getTrackedEvents(ApiContext ctx, boolean isArchived) {
|
||||
final Map<String, String> queryParams = new HashMap<>();
|
||||
queryParams.put(KEY_EVENT_IS_ARCHIVED, Boolean.toString(isArchived));
|
||||
return new TrackedEvents(ctx.get(TRACKED_EVENTS_URL, queryParams));
|
||||
}
|
||||
|
||||
public class TrackedElement extends JsonWrapper {
|
||||
public TrackedElement(JSONObject json) {
|
||||
super(json);
|
||||
}
|
||||
|
||||
public String getCompetitorId() {
|
||||
return get(KEY_TRACKED_ELEMENT_COMPETITOR_ID);
|
||||
}
|
||||
|
||||
public String getBoatId() {
|
||||
return get(KEY_TRACKED_ELEMENT_BOAT_ID);
|
||||
}
|
||||
|
||||
public String getMarkId() {
|
||||
return get(KEY_TRACKED_ELEMENT_MARK_ID);
|
||||
}
|
||||
|
||||
public String getDeviceId() {
|
||||
return get(KEY_TRACKED_ELEMENT_DEVICE_ID);
|
||||
}
|
||||
}
|
||||
|
||||
public class TrackedEvents extends JsonWrapper {
|
||||
public TrackedEvents(JSONObject json) {
|
||||
super(json);
|
||||
}
|
||||
|
||||
public Iterable<TrackedEvent> getEvents() {
|
||||
final Collection<TrackedEvent> events = new ArrayList<>();
|
||||
JSONArray array = get(KEY_TRACKED_EVENTS);
|
||||
for (Object json : array) {
|
||||
events.add((TrackedEvent) json);
|
||||
}
|
||||
return events;
|
||||
}
|
||||
}
|
||||
|
||||
public class TrackedEvent extends JsonWrapper {
|
||||
|
||||
public TrackedEvent(JSONObject json) {
|
||||
super(json);
|
||||
}
|
||||
|
||||
public String getEventId() {
|
||||
return get(KEY_EVENT_ID);
|
||||
}
|
||||
|
||||
public String getEventName() {
|
||||
return get(KEY_EVENT_NAME);
|
||||
}
|
||||
|
||||
public String getEventStart() {
|
||||
return get(KEY_EVENT_START);
|
||||
}
|
||||
|
||||
public String getEventEnd() {
|
||||
return get(KEY_EVENT_END);
|
||||
}
|
||||
|
||||
public String getEventBaseUrl() {
|
||||
return get(KEY_EVENT_BASE_URL);
|
||||
}
|
||||
|
||||
public boolean isArchived() {
|
||||
return get(KEY_EVENT_IS_ARCHIVED);
|
||||
}
|
||||
|
||||
public boolean isOwner() {
|
||||
return get(KEY_EVENT_IS_OWNER);
|
||||
}
|
||||
|
||||
public Iterable<TrackedElement> getTrackedElements() {
|
||||
JSONArray array = get(KEY_EVENT_TRACKED_ELEMENTS);
|
||||
Collection<TrackedElement> col = new ArrayList<>();
|
||||
if (array != null) {
|
||||
for (Object w : array) {
|
||||
col.add((TrackedElement) w);
|
||||
}
|
||||
}
|
||||
return col;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.sap.sailing.selenium.api.test;
|
||||
|
||||
import static com.sap.sailing.selenium.api.core.ApiContext.SERVER_CONTEXT;
|
||||
import static com.sap.sailing.selenium.api.core.ApiContext.createAdminApiContext;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.selenium.api.core.ApiContext;
|
||||
import com.sap.sailing.selenium.api.event.TrackedEventsApi;
|
||||
import com.sap.sailing.selenium.api.event.TrackedEventsApi.TrackedEvents;
|
||||
import com.sap.sailing.selenium.test.AbstractSeleniumTest;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public class TrackedEventsResourceApiTest extends AbstractSeleniumTest {
|
||||
|
||||
private final TrackedEventsApi trackedEventsApi = new TrackedEventsApi();
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
clearState(getContextRoot());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetTrackedEventsEmpty() {
|
||||
final ApiContext adminCtx = createAdminApiContext(getContextRoot(), SERVER_CONTEXT);
|
||||
final TrackedEvents trackedEvents = trackedEventsApi.getTrackedEvents(adminCtx, true);
|
||||
Assert.assertNotNull(trackedEvents);
|
||||
Assert.assertTrue(Util.isEmpty(trackedEvents.getEvents()));
|
||||
}
|
||||
|
||||
}
|
||||
+6
-6
@@ -88,7 +88,7 @@ public class TrackedEventsResource extends AbstractSailingServerResource {
|
||||
final JSONArray deviceIdsWithTrackedElementJson = new JSONArray();
|
||||
|
||||
for(TrackedElementWithDeviceId trackedElement : pref.getTrackedElements()) {
|
||||
JSONObject trackedElementJson = new JSONObject();
|
||||
final JSONObject trackedElementJson = new JSONObject();
|
||||
trackedElementJson.put(KEY_TRACKED_ELEMENT_DEVICE_ID, trackedElement.getDeviceId());
|
||||
if(trackedElement.getTrackedCompetitorId() != null) {
|
||||
trackedElementJson.put(KEY_TRACKED_ELEMENT_COMPETITOR_ID, trackedElement.getTrackedCompetitorId().toString());
|
||||
@@ -111,10 +111,10 @@ public class TrackedEventsResource extends AbstractSailingServerResource {
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject resultEvents = new JSONObject();
|
||||
final JSONObject resultEvents = new JSONObject();
|
||||
resultEvents.put(KEY_TRACKED_EVENTS, result);
|
||||
String json = resultEvents.toJSONString();
|
||||
builder = Response.ok(json).header("Content-Type", MediaType.APPLICATION_JSON + ";charset=UTF-8");
|
||||
final String jsonString = resultEvents.toJSONString();
|
||||
builder = Response.ok(jsonString).header("Content-Type", MediaType.APPLICATION_JSON + ";charset=UTF-8");
|
||||
} else {
|
||||
builder = Response.status(Status.UNAUTHORIZED);
|
||||
}
|
||||
@@ -145,8 +145,8 @@ public class TrackedEventsResource extends AbstractSailingServerResource {
|
||||
prefs = new TrackedEventPreferences();
|
||||
}
|
||||
|
||||
Collection<TrackedEventPreference> prefsNew = new ArrayList<>();
|
||||
Iterator<TrackedEventPreference> it = prefs.getTrackedEvents().iterator();
|
||||
final Collection<TrackedEventPreference> prefsNew = new ArrayList<>();
|
||||
final Iterator<TrackedEventPreference> it = prefs.getTrackedEvents().iterator();
|
||||
while (it.hasNext()) {
|
||||
final TrackedEventPreference pref = it.next();
|
||||
if (pref.getEventId().equals(uuid)) {
|
||||
|
||||
Reference in new issue
Block a user