Private
Public Access
1
0

adding a few tests

This commit is contained in:
Sander Roosendaal
2022-07-14 15:27:01 +02:00
parent 868b39cd1f
commit ecf9566f0b
9 changed files with 205 additions and 66 deletions

View File

@@ -1,4 +1,5 @@
import os
os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true"
from YamJam import yamjam
CFG = yamjam()['rowsandallapp']
@@ -364,7 +365,7 @@ def handle_strava_sync(stravatoken, workoutid, filename, name, activity_type, de
tb = traceback.format_exc()
dologging('strava_fail.log', tb)
failed = True
except stravalib.exc.TimeoutExceeded:
except stravalib.exc.TimeoutExceeded: # pragma: no cover
dologging('strava_fail.log', 'Strava upload failed for Workout {id} TimeOutExceeded'.format(
id=workoutid))
tb = traceback.format_exc()
@@ -541,7 +542,7 @@ from rowers.models import polygon_to_path
def handle_check_race_course(self,
f1, workoutid, courseid,
recordid, useremail, userfirstname,
**kwargs): # pragma: no cover
**kwargs):
logfile = 'courselog_{workoutid}_{courseid}.log'.format(
workoutid=workoutid, courseid=courseid)
@@ -571,11 +572,11 @@ def handle_check_race_course(self,
mode = kwargs['mode']
summary = False
if 'summary' in kwargs:
if 'summary' in kwargs: # pragma: no cover
summary = kwargs['summary']
successemail = False
if 'successemail' in kwargs:
if 'successemail' in kwargs: # pragma: no cover
successemail = kwargs['successemail']
try:
@@ -610,17 +611,19 @@ def handle_check_race_course(self,
rowdata.fillna(method='backfill', inplace=True)
rowdata['time'] = rowdata['time']-rowdata.loc[0, 'time']
rowdata = rowdata[rowdata['time'] > splitsecond]
rowdata.loc[:, 'time'] = rowdata.loc[:, 'time'].copy()-rowdata.loc[0, 'time']
rowdata = rowdata.copy()[rowdata['time'] > splitsecond]
# we may want to expand the time (interpolate)
rowdata['dt'] = rowdata['time'].apply(
rowdata.loc[:,'dt'] = rowdata['time'].apply(
lambda x: safetimedelta(x)
)
).values
rowdata = rowdata.resample('100ms', on='dt').mean()
rowdata = rowdata.interpolate()
course = GeoCourse.objects.get(courseid)
course = GeoCourse.objects.get(id=courseid)
polygons = course.polygons.all()
@@ -637,7 +640,7 @@ def handle_check_race_course(self,
try:
entrytimes, entrydistances = time_in_path(rowdata, paths[0], maxmin='max', getall=True,
name=polygons[0].name, logfile=logfile)
except AttributeError: # for testing
except AttributeError: # pragma: no cover
entrytimes, entrydistances = time_in_path(rowdata, paths[0], maxmin='max', getall=True,
name='Start', logfile=logfile)
with open(logfile, 'ab') as f:
@@ -706,7 +709,8 @@ def handle_check_race_course(self,
'endsecond': endseconds,
})
records = records[records['coursecompleted'] is True]
#records = records[records['coursecompleted'] is True]
records = records.loc[records['coursecompleted'], : ]
if len(records):
coursecompleted = True
@@ -724,17 +728,19 @@ def handle_check_race_course(self,
coursedistance = coursemeters
velo = coursedistance/coursetimeseconds
points = 100*(2.-referencespeed/velo)
record = VirtualRaceResult.objects.get(id=recordid)
record.duration = totaltime_sec_to_string(coursetimeseconds)
record.distance=int(coursemeters)
record.points = points
record.startsecond = startsecond
record.endsecond = endsecond
record.workoutid = workoutid
record.coursecompleted = 1
record.save()
if mode == 'coursetest':
if mode != 'coursetest':
record = VirtualRaceResult.objects.get(id=recordid)
record.duration = totaltime_sec_to_string(coursetimeseconds)
record.distance=int(coursemeters)
record.points = points
record.startsecond = startsecond
record.endsecond = endsecond
record.workoutid = workoutid
record.coursecompleted = 1
record.save()
else: # pragma: no cover
record = CourseTestResult.objects.get(id=recordid)
record.duration = totaltime_sec_to_string(coursetimeseconds)
record.distance = int(coursemeters)
@@ -744,7 +750,7 @@ def handle_check_race_course(self,
record.points = points
record.save()
if summary:
if summary: # pragma: no cover
try:
row = rdata(csvfile=f1)
except IOError: # pragma: no cover
@@ -769,7 +775,7 @@ def handle_check_race_course(self,
workout.save()
if successemail:
if successemail: # pragma: no cover
handle_sendemail_coursesucceed(
useremail, userfirstname, logfile, workoutid
)
@@ -1929,7 +1935,7 @@ def handle_sendemail_ical(first_name, last_name, email, url, icsfile, **kwargs):
try:
os.remove(icsfile)
except:
except: # pragma: no cover
pass
return 1