mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-23 22:19:13 +00:00
Added failing test case for bug2659
This commit is contained in:
@@ -19,7 +19,9 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sailing.domain.test,
|
||||
org.mockito.mockito-core;bundle-version="1.10.14",
|
||||
com.sap.sse.common,
|
||||
org.eclipse.jetty.server;bundle-version="9.2.2"
|
||||
org.eclipse.jetty.server;bundle-version="9.2.2",
|
||||
com.sap.sailing.domain.shared.android,
|
||||
com.sap.sailing.domain.racelogtrackingadapter.testsupport
|
||||
Import-Package: com.sap.sailing.server.gateway.jaxrs,
|
||||
com.sap.sailing.server.gateway.jaxrs.spi,
|
||||
org.json.simple,
|
||||
|
||||
+25
-2
@@ -45,7 +45,9 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventFactoryImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDeviceCompetitorMappingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogRegisterCompetitorEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorMappingEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogRegisterCompetitorEventImpl;
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
@@ -88,6 +90,8 @@ import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.WindImpl;
|
||||
import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID;
|
||||
import com.sap.sailing.domain.common.media.MediaTrack;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFix;
|
||||
import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl;
|
||||
import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
@@ -100,6 +104,9 @@ import com.sap.sailing.domain.leaderboard.meta.LeaderboardGroupMetaLeaderboard;
|
||||
import com.sap.sailing.domain.persistence.PersistenceFactory;
|
||||
import com.sap.sailing.domain.persistence.media.MediaDBFactory;
|
||||
import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore;
|
||||
import com.sap.sailing.domain.racelog.tracking.test.mock.MockSmartphoneImeiServiceFinderFactory;
|
||||
import com.sap.sailing.domain.racelog.tracking.test.mock.SmartphoneImeiIdentifier;
|
||||
import com.sap.sailing.domain.racelogtracking.DeviceIdentifier;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRegatta;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.WindTrack;
|
||||
@@ -167,7 +174,8 @@ public class MasterDataImportTest {
|
||||
public void testMasterDataImportWithoutHttpStack() throws MalformedURLException, IOException, InterruptedException,
|
||||
ClassNotFoundException {
|
||||
// Setup source service
|
||||
RacingEventService sourceService = new RacingEventServiceImpl();
|
||||
MockSmartphoneImeiServiceFinderFactory serviceFinderFactory = new MockSmartphoneImeiServiceFinderFactory();
|
||||
RacingEventService sourceService = new RacingEventServiceImpl(null, null, serviceFinderFactory);
|
||||
Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID);
|
||||
UUID courseAreaUUID = UUID.randomUUID();
|
||||
CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID);
|
||||
@@ -254,6 +262,18 @@ public class MasterDataImportTest {
|
||||
RegattaLogRegisterCompetitorEvent registerEvent = new RegattaLogRegisterCompetitorEventImpl(regattaLogTimepoint,
|
||||
author, regattaLogTimepoint, UUID.randomUUID(), competitor);
|
||||
regatta.getRegattaLog().add(registerEvent);
|
||||
|
||||
// Add some racelogtracking stuff
|
||||
TimePoint logTimePoint3 = new MillisecondsTimePoint(1372489210000L);
|
||||
TimePoint logTimePoint4 = new MillisecondsTimePoint(1372489200020L);
|
||||
DeviceIdentifier deviceIdentifier = new SmartphoneImeiIdentifier("a");
|
||||
RegattaLogDeviceCompetitorMappingEvent mappingEvent = new RegattaLogDeviceCompetitorMappingEventImpl(
|
||||
logTimePoint4, author, logTimePoint4, UUID.randomUUID(), competitor,
|
||||
deviceIdentifier, logTimePoint, logTimePoint3);
|
||||
regatta.getRegattaLog().add(mappingEvent);
|
||||
GPSFix gpsFix = new GPSFixMovingImpl(new DegreePosition(54.333, 10.133), logTimePoint2,
|
||||
new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(90)));
|
||||
sourceService.getGPSFixStore().storeFix(deviceIdentifier, gpsFix);
|
||||
|
||||
// Set score correction
|
||||
double scoreCorrection = 12.0;
|
||||
@@ -291,7 +311,7 @@ public class MasterDataImportTest {
|
||||
// Delete all data above from the database, to allow recreating all of it on target server
|
||||
deleteAllDataFromDatabase();
|
||||
// Import in new service
|
||||
destService = new RacingEventServiceImplMock(new DataImportProgressImpl(randomUUID));
|
||||
destService = new RacingEventServiceImplMock(new DataImportProgressImpl(randomUUID), serviceFinderFactory);
|
||||
domainFactory = destService.getBaseDomainFactory();
|
||||
DB db = destService.getMongoObjectFactory().getDatabase();
|
||||
db.setWriteConcern(WriteConcern.SAFE);
|
||||
@@ -382,6 +402,9 @@ public class MasterDataImportTest {
|
||||
Assert.assertNotNull(registerEventOnTarget);
|
||||
Assert.assertEquals(registerEvent.getId(), registerEventOnTarget.getId());
|
||||
Assert.assertEquals(competitor.getId(), registerEventOnTarget.getCompetitor().getId());
|
||||
|
||||
// Check for import of racelogtracking fix
|
||||
Assert.assertTrue(destService.getGPSFixStore().getNumberOfFixes(deviceIdentifier) == 1);
|
||||
|
||||
// Check for persisting of race log events:
|
||||
RacingEventService dest2 = new RacingEventServiceImplMock();
|
||||
|
||||
+7
@@ -8,6 +8,7 @@ import com.sap.sailing.domain.common.impl.DataImportProgressImpl;
|
||||
import com.sap.sailing.domain.tracking.RaceTracker;
|
||||
import com.sap.sailing.server.impl.RacingEventServiceImpl;
|
||||
import com.sap.sailing.server.masterdata.DataImportLockWithProgress;
|
||||
import com.sap.sse.common.TypeBasedServiceFinderFactory;
|
||||
|
||||
public class RacingEventServiceImplMock extends RacingEventServiceImpl {
|
||||
|
||||
@@ -16,6 +17,12 @@ public class RacingEventServiceImplMock extends RacingEventServiceImpl {
|
||||
public RacingEventServiceImplMock() {
|
||||
super(false, null);
|
||||
}
|
||||
|
||||
public RacingEventServiceImplMock(DataImportProgressImpl dataImportProgressImpl, TypeBasedServiceFinderFactory serviceFinderFactory) {
|
||||
super(null, null, serviceFinderFactory);
|
||||
lock = new DataImportLockWithProgress();
|
||||
lock.addProgress(dataImportProgressImpl.getOperationId(), dataImportProgressImpl);
|
||||
}
|
||||
|
||||
public RacingEventServiceImplMock(DataImportProgressImpl dataImportProgressImpl) {
|
||||
lock = new DataImportLockWithProgress();
|
||||
|
||||
Reference in New Issue
Block a user