diff --git a/rowers/tests/test_imports.py b/rowers/tests/test_imports.py index db61bd37..204075e2 100644 --- a/rowers/tests/test_imports.py +++ b/rowers/tests/test_imports.py @@ -636,7 +636,9 @@ class StravaObjects(DjangoTestCase): self.u.last_name = 'Sander' self.u.save() self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, - gdproptindate=timezone.now() + gdproptindate=timezone.now(), + strava_auto_import=True, + strava_auto_delete=True, ) self.r.stravatoken = '12' @@ -676,7 +678,7 @@ class StravaObjects(DjangoTestCase): starttime=workoutstarttime, startdatetime=row.rowdatetime, duration=duration,distance=totaldist, - csvfilename=filename + csvfilename=filename,uploadedtostrava=123, ) @patch('rowers.stravastuff.requests.post', side_effect=mocked_requests) @@ -696,10 +698,10 @@ class StravaObjects(DjangoTestCase): data = { 'aspect_type':'create', - 'object_id': 123, + 'object_id': 245, 'object_type':'activity', - 'strava_owner': self.r.strava_owner_id, - 'starttimeunix': arrow.get(datetime.datetime.now()).timestamp(), + 'owner_id': self.r.strava_owner_id, + 'event_time': arrow.get(datetime.datetime.now()).timestamp(), } raw_data = json.dumps(data) @@ -715,8 +717,8 @@ class StravaObjects(DjangoTestCase): }, 'object_id': 123, 'object_type':'activity', - 'strava_owner': self.r.strava_owner_id, - 'starttimeunix': arrow.get(datetime.datetime.now()).timestamp(), + 'owner_id': self.r.strava_owner_id, + 'event_time': arrow.get(datetime.datetime.now()).timestamp(), } raw_data = json.dumps(data) @@ -726,10 +728,10 @@ class StravaObjects(DjangoTestCase): data = { 'aspect_type':'delete', - 'object_id': 123, + 'object_id': 245, 'object_type':'activity', - 'strava_owner': self.r.strava_owner_id, - 'starttimeunix': arrow.get(datetime.datetime.now()).timestamp(), + 'owner_id': self.r.strava_owner_id, + 'event_time': arrow.get(datetime.datetime.now()).timestamp(), } raw_data = json.dumps(data) diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index b46000bd..e4735ffe 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -1325,7 +1325,7 @@ def strava_webhook_view(request): if request.method == 'GET': challenge = request.GET.get('hub.challenge') verificationtoken = request.GET.get('hub.verify_token') - if verificationtoken != stravastuff.webhookverification: + if verificationtoken != stravastuff.webhookverification: # pragma: no cover return HttpResponse(status=403) data = {"hub.challenge":challenge} return JSONResponse(data) @@ -1341,12 +1341,16 @@ def strava_webhook_view(request): # POST - does nothing so far data = json.loads(request.body) + aspect_type = data['aspect_type'] + object_type = data['object_type'] + strava_owner = data['owner_id'] + starttimeunix = data['event_time'] try: aspect_type = data['aspect_type'] object_type = data['object_type'] strava_owner = data['owner_id'] starttimeunix = data['event_time'] - except KeyError: + except KeyError: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M', t) with open('strava_webhooks.log','a') as f: f.write('\n') @@ -1359,7 +1363,7 @@ def strava_webhook_view(request): if aspect_type == 'create': try: stravaid = data['object_id'] - except KeyError: + except KeyError: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M', t) with open('strava_webhooks.log','a') as f: f.write('\n') @@ -1370,7 +1374,7 @@ def strava_webhook_view(request): try: r = Rower.objects.get(strava_owner_id=strava_owner) - except Rower.DoesNotExist: + except Rower.DoesNotExist: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M', t) with open('strava_webhooks.log','a') as f: f.write('\n') @@ -1381,14 +1385,14 @@ def strava_webhook_view(request): ws = Workout.objects.filter(uploadedtostrava=stravaid) if ws.count()==0 and r.strava_auto_import: job = stravastuff.async_get_workout(r.user,stravaid) - if job == 0: + if job == 0: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M',t) with open('strava_webhooks.log','a') as f: f.write('\n') f.write(timestamp) f.write(' ') f.write('Strava strava_open yielded NoTokenError') - else: + else: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M', t) with open('strava_webhooks.log','a') as f: f.write('\n') @@ -1400,7 +1404,7 @@ def strava_webhook_view(request): elif aspect_type == 'delete': try: stravaid = data['object_id'] - except KeyError: + except KeyError: # pragma: no cover with open('strava_webhooks.log','a') as f: f.write('\n') f.write(timestamp) @@ -1410,11 +1414,11 @@ def strava_webhook_view(request): ws = Workout.objects.filter(uploadedtostrava=stravaid) if ws.count() == 0: return HttpResponse(status=200) - except Workout.DoesNotExist: + except Workout.DoesNotExist: # pragma: no cover return HttpResponse(status=200) - try: + try: # pragma: no cover r = Rower.objects.get(strava_owner_id=strava_owner) - except Rower.DoesNotExist: + except Rower.DoesNotExist: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M', t) with open('strava_webhooks.log','a') as f: f.write('\n') @@ -1422,7 +1426,7 @@ def strava_webhook_view(request): f.write(' ') f.write('Rower not found') return HttpResponse(status=200) - if r.strava_auto_delete: + if r.strava_auto_delete: # pragma: no cover for w in ws: if w.user == r: w.delete() @@ -1430,7 +1434,7 @@ def strava_webhook_view(request): try: updates = data['updates'] stravaid = data['object_id'] - except KeyError: + except KeyError: # pragma: no cover with open('strava_webhooks.log','a') as f: f.write('\n') f.write(timestamp) @@ -1439,9 +1443,9 @@ def strava_webhook_view(request): return HttpResponse(status=200) try: ws = Workout.objects.filter(uploadedtostrava=stravaid) - if ws.count() == 0: + if ws.count() == 0: # pragma: no cover return HttpResponse(status=200) - except Workout.DoesNotExist: + except Workout.DoesNotExist: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M', t) with open('strava_webhooks.log','a') as f: f.write('\n') @@ -1451,7 +1455,7 @@ def strava_webhook_view(request): return HttpResponse(status=200) try: r = Rower.objects.get(strava_owner_id=strava_owner) - except Rower.DoesNotExist: + except Rower.DoesNotExist: # pragma: no cover timestamp = time.strftime('%b-%d-%Y_%H%M', t) with open('strava_webhooks.log','a') as f: f.write('\n') @@ -1469,7 +1473,7 @@ def strava_webhook_view(request): try: w.workouttype = mytypes.stravamappinginv[value] w.save() - except KeyError: + except KeyError: # pragma: no cover with open('strava_webhooks.log','a') as f: f.write('\n') f.write(timestamp) @@ -1532,7 +1536,7 @@ def garmin_newfiles_ping(request): # pragma: no cover @csrf_exempt def garmin_deregistration_view(request): - if request.method != 'POST': + if request.method != 'POST': # pragma: no cover return HttpResponse(status=200) data = json.loads(request.body) @@ -1750,7 +1754,7 @@ def workout_sporttracksimport_view(request,message="",userid=0): messages.error(request,message) # pragma: no cover if settings.DEBUG: # pragma: no cover return HttpResponse(res) - else: + else: # pragma: no cover url = reverse('workouts_view') return HttpResponseRedirect(url) @@ -1798,7 +1802,7 @@ def workout_sporttracksimport_view(request,message="",userid=0): 'teams':get_my_teams(request.user), }) - return HttpResponse(res) + return HttpResponse(res) # pragma: no cover # List of workouts on Concept2 logbook. This view only used for debugging @login_required() @@ -2189,7 +2193,7 @@ def workout_getsporttracksworkout_all(request): id,message = sporttracksstuff.add_workout_from_data( request.user,sporttracksid,data,strokedata ) - if id==0: + if id==0: # pragma: no cover messages.error(request,message) else: