Private
Public Access
1
0

tests for no HR data on import Strava/ST

This commit is contained in:
Sander Roosendaal
2017-02-14 07:54:34 +01:00
parent f9544ff50d
commit 3ae5382a62
3 changed files with 89 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[{"type": "heartrate", "resolution": "high", "original_size": 595, "series_type": "distance"}]

View File

@@ -159,6 +159,80 @@ class StravaObjects(DjangoTestCase):
res = add_workout_from_strokedata(u,1,workoutsummary,strokedata,
source='strava')
def test_strokedatanohr(self):
timejson = json.load(open('rowers/testdata/stravatimetestdata.txt','r'))
velojson = json.load(open('rowers/testdata/stravavelotestdata.txt','r'))
distancejson = json.load(open('rowers/testdata/stravadistancetestdata.txt','r'))
latlongjson = json.load(open('rowers/testdata/stravalatlongtestdata.txt','r'))
hrjson = json.load(open('rowers/testdata/stravahrtestnodata.txt','r'))
spmjson = json.load(open('rowers/testdata/stravaspmtestdata.txt','r'))
workoutsummary = json.load(open('rowers/testdata/stravasummarytestdata.txt','r'))
workoutsummary['timezone'] = "Etc/UTC"
startdatetime = workoutsummary['start_date']
t = np.array(timejson[0]['data'])
d = np.array(distancejson[0]['data'])
nr_rows = len(t)
try:
spm = np.array( spmjson[1]['data'])
except IndexError:
spm = np.zeros(nr_rows)
try:
hr = np.array(hrjson[1]['data'])
except IndexError:
hr = np.zeros(nr_rows)
try:
velo = np.array(velojson[1]['data'])
except IndexError:
velo = np.zeros(nr_rows)
dt = np.diff(t).mean()
wsize = round(5./dt)
from stravastuff import ewmovingaverage
velo2 = ewmovingaverage(velo,wsize)
coords = np.array(latlongjson[0]['data'])
try:
lat = coords[:,0]
lon = coords[:,1]
except IndexError:
lat = np.zeros(len(t))
lon = np.zeros(len(t))
strokelength = velo*60./(spm)
strokelength[np.isinf(strokelength)] = 0.0
pace = 500./(1.0*velo2)
pace[np.isinf(pace)] = 0.0
strokedata = pd.DataFrame({'t':10*t,
'd':10*d,
'p':10*pace,
'spm':spm,
'hr':hr,
'lat':lat,
'lon':lon,
'strokelength':strokelength,
})
from rowers.views import add_workout_from_strokedata
u = User.objects.create_user('john',
'sander@ds.ds',
'koeinsloot')
r = Rower.objects.create(user=u)
res = add_workout_from_strokedata(u,1,workoutsummary,strokedata,
source='strava')
class STObjects(DjangoTestCase):
def test_strokedata(self):
@@ -174,6 +248,19 @@ class STObjects(DjangoTestCase):
res = add_workout_from_stdata(u,1,data)
def test_strokedatanohr(self):
with open('rowers/testdata/sporttrackstestnohr.txt','r') as infile:
data = json.load(infile)
from rowers.views import add_workout_from_stdata
u = User.objects.create_user('john',
'sander@ds.ds',
'koeinsloot')
r = Rower.objects.create(user=u)
res = add_workout_from_stdata(u,1,data)
class TestErrorPages(TestCase):
def test_error_handlers(self):