more emails tests, removing middleware
This commit is contained in:
@@ -19,86 +19,9 @@ def getrower(user):
|
|||||||
|
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def do_update(user,mode='rower',days=42):
|
|
||||||
r = getrower(user)
|
|
||||||
|
|
||||||
startdate = timezone.now()-datetime.timedelta(days=days)
|
|
||||||
|
|
||||||
# test if not something already done
|
|
||||||
now_date = timezone.now().strftime('%Y-%m-%d')
|
|
||||||
ms = PowerTimeFitnessMetric.objects.filter(
|
|
||||||
user=user,
|
|
||||||
workoutmode=mode).order_by("-date")
|
|
||||||
|
|
||||||
if len(ms) == 0:
|
|
||||||
max_workout_id = 0
|
|
||||||
last_update_date = '1972-01-01'
|
|
||||||
else:
|
|
||||||
max_workout_id = max([m.last_workout for m in ms])
|
|
||||||
last_update_date = ms[0].date.strftime('%Y-%m-%d')
|
|
||||||
|
|
||||||
#last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms])
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if mode == 'rower':
|
|
||||||
workouts = Workout.objects.filter(
|
|
||||||
user=r,
|
|
||||||
workouttype__in=['rower','dynamic','slides'],
|
|
||||||
startdatetime__gte=startdate)
|
|
||||||
else:
|
|
||||||
workouts = Workout.objects.filter(
|
|
||||||
user=r,
|
|
||||||
workouttype__in=otwtypes,
|
|
||||||
startdatetime__gte=startdate)
|
|
||||||
|
|
||||||
theids = [int(w.id) for w in workouts]
|
|
||||||
try:
|
|
||||||
max_id = max(theids)
|
|
||||||
except ValueError:
|
|
||||||
max_id = 0
|
|
||||||
|
|
||||||
if last_update_date < now_date and max_workout_id < max_id:
|
|
||||||
job = myqueue(queuelow,
|
|
||||||
handle_updatefitnessmetric,
|
|
||||||
user.id,mode,theids,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
return 1
|
|
||||||
|
|
||||||
|
|
||||||
class PowerTimeFitnessMetricMiddleWare(object):
|
|
||||||
def __init__(self, get_response):
|
|
||||||
self.get_response = get_response
|
|
||||||
|
|
||||||
def __call__(self, request):
|
|
||||||
# Code to be executed before the view is called
|
|
||||||
if request.user.is_authenticated:
|
|
||||||
result = do_update(request.user,mode='rower')
|
|
||||||
result = do_update(request.user,mode='water')
|
|
||||||
|
|
||||||
response = self.get_response(request)
|
|
||||||
|
|
||||||
return response
|
|
||||||
|
|
||||||
from django.shortcuts import redirect
|
|
||||||
|
|
||||||
|
|
||||||
allowed_paths = [
|
|
||||||
'/rowers/me/delete',
|
|
||||||
'/',
|
|
||||||
'/logout',
|
|
||||||
'/logout/',
|
|
||||||
'/rowers/me/gdpr-optin/',
|
|
||||||
'/rowers/me/gdpr-optin-confirm/',
|
|
||||||
'/rowers/me/gdpr-optin',
|
|
||||||
'/rowers/me/gdpr-optin-confirm'
|
|
||||||
'/rowers/exportallworkouts/',
|
|
||||||
'/rowers/exportallworkouts',
|
|
||||||
'/rowers/survey/'
|
|
||||||
]
|
|
||||||
|
|
||||||
class SurveyMiddleWare(object):
|
class SurveyMiddleWare(object):
|
||||||
def __init__(self, get_response):
|
def __init__(self, get_response):
|
||||||
self.get_response = get_response
|
self.get_response = get_response
|
||||||
|
|||||||
@@ -2090,45 +2090,6 @@ def cp_from_workoutids(workoutids,debug=False):
|
|||||||
return powerfourmin,power2k,powerhour
|
return powerfourmin,power2k,powerhour
|
||||||
|
|
||||||
|
|
||||||
@app.task
|
|
||||||
def handle_updatefitnessmetric(user_id,mode,workoutids,debug=False,
|
|
||||||
**kwargs):
|
|
||||||
|
|
||||||
powerfourmin = -1
|
|
||||||
power2k = -1
|
|
||||||
powerhour = -1
|
|
||||||
|
|
||||||
mdict = {
|
|
||||||
'user_id': user_id,
|
|
||||||
'PowerFourMin': powerfourmin,
|
|
||||||
'PowerTwoK': power2k,
|
|
||||||
'PowerOneHour': powerhour,
|
|
||||||
'workoutmode': mode,
|
|
||||||
'last_workout': max(workoutids),
|
|
||||||
'date': timezone.now().strftime('%Y-%m-%d'),
|
|
||||||
}
|
|
||||||
|
|
||||||
result = fitnessmetric_to_sql(mdict,debug=debug,doclean=False)
|
|
||||||
|
|
||||||
powerfourmin,power2k,powerhour = cp_from_workoutids(workoutids,debug=debug)
|
|
||||||
|
|
||||||
if powerfourmin > 0 and power2k > 0 and powerhour > 0:
|
|
||||||
|
|
||||||
mdict = {
|
|
||||||
'user_id': user_id,
|
|
||||||
'PowerFourMin': powerfourmin,
|
|
||||||
'PowerTwoK': power2k,
|
|
||||||
'PowerOneHour': powerhour,
|
|
||||||
'workoutmode': mode,
|
|
||||||
'last_workout': max(workoutids),
|
|
||||||
'date': timezone.now().strftime('%Y-%m-%d'),
|
|
||||||
}
|
|
||||||
|
|
||||||
result = fitnessmetric_to_sql(mdict,debug=debug,doclean=True)
|
|
||||||
else:
|
|
||||||
result = 0
|
|
||||||
|
|
||||||
return result
|
|
||||||
|
|
||||||
@app.task
|
@app.task
|
||||||
def handle_updatecp(rower_id,workoutids,debug=False,table='cpdata',**kwargs):
|
def handle_updatecp(rower_id,workoutids,debug=False,table='cpdata',**kwargs):
|
||||||
@@ -2516,6 +2477,8 @@ def handle_send_template_email(template,email,fromemail,rowername,
|
|||||||
['info@rowsandall.com'],subject,
|
['info@rowsandall.com'],subject,
|
||||||
template,d,cc=[fromemail],bcc=fullemail,**kwargs)
|
template,d,cc=[fromemail],bcc=fullemail,**kwargs)
|
||||||
|
|
||||||
|
return 1
|
||||||
|
|
||||||
@app.task
|
@app.task
|
||||||
def handle_sendemail_message(email,fromemail,rowername,message,teamname,managername,
|
def handle_sendemail_message(email,fromemail,rowername,message,teamname,managername,
|
||||||
debug=False,**kwargs):
|
debug=False,**kwargs):
|
||||||
|
|||||||
@@ -227,6 +227,81 @@ class AsyncTaskTests(TestCase):
|
|||||||
res = tasks.handle_sendemailfile(userfirstname,userlastname,useremail,filename)
|
res = tasks.handle_sendemailfile(userfirstname,userlastname,useremail,filename)
|
||||||
self.assertEqual(res,1)
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_coachrequest(useremail,username,'sdsd','Fred')
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_coachoffer_rejected(useremail,username,username)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_coachoffer_accepted(useremail,username,username)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_coachrequest_rejected(useremail,username,username)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_coachrequest_accepted(useremail,username,username)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_coacheerequest(useremail,username,'aaee',username)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_invite(useremail,username,'ss','team','Fred Hachee')
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemailnewresponse(
|
||||||
|
userfirstname, userlastname,
|
||||||
|
useremail,
|
||||||
|
userfirstname,userlastname,
|
||||||
|
'er staat een paard in de gang',
|
||||||
|
self.wwater.name,
|
||||||
|
self.wwater.id,
|
||||||
|
1
|
||||||
|
)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemailnewcomment(
|
||||||
|
userfirstname, userlastname,
|
||||||
|
useremail,
|
||||||
|
userfirstname,userlastname,
|
||||||
|
'er staat een paard in de gang',
|
||||||
|
self.wwater.name,
|
||||||
|
self.wwater.id,
|
||||||
|
1
|
||||||
|
)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_send_template_email('aa.html',useremail,useremail,userfirstname,'aa','bb')
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_message(useremail,useremail,userfirstname,'aap',
|
||||||
|
'noot',userlastname)
|
||||||
|
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_request(useremail,username,'asas','asas',userfirstname,12)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_request_accept(useremail,username,'asas',userfirstname,12)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_request_reject(useremail,username,'asas',userfirstname,12)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_member_dropped(useremail,username,'asas',userfirstname,12)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_team_removed(useremail,username,'asas',userfirstname,12)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_invite_reject(useremail,username,'asas',userfirstname,12)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
res = tasks.handle_sendemail_invite_accept(useremail,username,'asas',userfirstname,12)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def test_sigdig(self):
|
def test_sigdig(self):
|
||||||
x = 3.14159
|
x = 3.14159
|
||||||
@@ -295,7 +370,7 @@ class AsyncTaskTests(TestCase):
|
|||||||
@patch('rowers.tasks.grpc',side_effect=mocked_grpc)
|
@patch('rowers.tasks.grpc',side_effect=mocked_grpc)
|
||||||
@patch('rowers.tasks.send_template_email',side_effect=mocked_send_template_email)
|
@patch('rowers.tasks.send_template_email',side_effect=mocked_send_template_email)
|
||||||
def test_handle_otwsetpower(self,mocked_send_template_email,mocked_grpc):
|
def test_handle_otwsetpower(self,mocked_send_template_email,mocked_grpc):
|
||||||
f1 = result = get_random_file(filename='rowers/tests/testdata/sprintervals.csv')['filename']
|
f1 = get_random_file(filename='rowers/tests/testdata/sprintervals.csv')['filename']
|
||||||
boattype = '1x'
|
boattype = '1x'
|
||||||
boatclass = 'water'
|
boatclass = 'water'
|
||||||
coastalbrand = 'other'
|
coastalbrand = 'other'
|
||||||
@@ -311,3 +386,33 @@ class AsyncTaskTests(TestCase):
|
|||||||
jobkey='23')
|
jobkey='23')
|
||||||
|
|
||||||
self.assertEqual(res,1)
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
@patch('rowers.dataprepnodjango.create_engine')
|
||||||
|
def test_handle_updateergcp(self,mocked_sqlalchemy):
|
||||||
|
f1 = get_random_file()['filename']
|
||||||
|
res = tasks.handle_updateergcp(1,[f1])
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
@patch('rowers.dataprepnodjango.getsmallrowdata_db')
|
||||||
|
def test_cp_from_workoutids(self,mocked_getsmallrowdata_db):
|
||||||
|
ids = [1]
|
||||||
|
powerfourmin,power2k,powerhour = tasks.cp_from_workoutids(ids)
|
||||||
|
self.assertFalse(powerfourmin==0)
|
||||||
|
self.assertFalse(power2k==0)
|
||||||
|
self.assertFalse(powerhour==0)
|
||||||
|
|
||||||
|
@patch('rowers.dataprepnodjango.getsmallrowdata_db')
|
||||||
|
def test_handle_updatecp(self,mocked_getsmallrowdata_db):
|
||||||
|
rower_id = 1
|
||||||
|
workoutids = [1]
|
||||||
|
res = tasks.handle_updatecp(rower_id,workoutids)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
|
||||||
|
@patch('rowers.dataprepnodjango.getsmallrowdata_db')
|
||||||
|
def test_handle_setcp(self,mocked_getsmallrowdata_db):
|
||||||
|
strokesdf = pd.read_csv('rowers/tests/testdata/uhfull.csv')
|
||||||
|
filename = 'rowers/tests/temp/pq.gz'
|
||||||
|
workoutids = 1
|
||||||
|
res = tasks.handle_setcp(strokesdf,filename,1)
|
||||||
|
self.assertEqual(res,1)
|
||||||
|
os.remove(filename)
|
||||||
|
|||||||
@@ -209,7 +209,6 @@ from rowers.tasks import (
|
|||||||
handle_sendemailnewresponse, handle_updatedps,
|
handle_sendemailnewresponse, handle_updatedps,
|
||||||
handle_updatecp,long_test_task,long_test_task2,
|
handle_updatecp,long_test_task,long_test_task2,
|
||||||
handle_zip_file,handle_getagegrouprecords,
|
handle_zip_file,handle_getagegrouprecords,
|
||||||
handle_updatefitnessmetric,
|
|
||||||
handle_update_empower,
|
handle_update_empower,
|
||||||
handle_sendemailics,
|
handle_sendemailics,
|
||||||
handle_sendemail_userdeleted,
|
handle_sendemail_userdeleted,
|
||||||
|
|||||||
Reference in New Issue
Block a user