some more tests
This commit is contained in:
@@ -125,6 +125,23 @@ def mocked_read_df_cols_sql(ids, columns, convertnewtons=True):
|
|||||||
|
|
||||||
return df, extracols
|
return df, extracols
|
||||||
|
|
||||||
|
def mocked_stravaexport(f2,workoutname,stravatoken,description='',
|
||||||
|
activity_type='Rowing'):
|
||||||
|
print "this is mocked strava export"
|
||||||
|
return 1,'success'
|
||||||
|
|
||||||
|
def StravaActivity():
|
||||||
|
def wait(*args, **kwargs):
|
||||||
|
return 1
|
||||||
|
|
||||||
|
class MockStravalibClient():
|
||||||
|
def upload_activity(*args, **kwargs):
|
||||||
|
return StravaActivity()
|
||||||
|
|
||||||
|
def update_activity(*args, **kwargs):
|
||||||
|
return StravaActivity()
|
||||||
|
|
||||||
|
|
||||||
class mocked_rowingdata(rowingdata):
|
class mocked_rowingdata(rowingdata):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(mocked_rowingdata).__init__(*args, **kwargs)
|
super(mocked_rowingdata).__init__(*args, **kwargs)
|
||||||
@@ -271,6 +288,7 @@ def mocked_requests(*args, **kwargs):
|
|||||||
|
|
||||||
return MockResponse(json_data,200)
|
return MockResponse(json_data,200)
|
||||||
|
|
||||||
|
|
||||||
if not args:
|
if not args:
|
||||||
return MockSession()
|
return MockSession()
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ pytestmark = pytest.mark.django_db
|
|||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
import re
|
import re
|
||||||
from nose_parameterized import parameterized
|
from nose_parameterized import parameterized
|
||||||
from django.test import TestCase, Client,override_settings
|
from django.test import TestCase, Client,override_settings, modify_settings
|
||||||
from django.core.management import call_command
|
from django.core.management import call_command
|
||||||
from django.utils.six import StringIO
|
from django.utils.six import StringIO
|
||||||
from django.test.client import RequestFactory
|
from django.test.client import RequestFactory
|
||||||
@@ -36,6 +36,8 @@ import rowers.c2stuff as c2stuff
|
|||||||
import json
|
import json
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
import rowers
|
||||||
|
|
||||||
from rowers import urls
|
from rowers import urls
|
||||||
from rowers.views import (
|
from rowers.views import (
|
||||||
error500_view,error404_view,error400_view,error403_view
|
error500_view,error404_view,error400_view,error403_view
|
||||||
@@ -278,9 +280,58 @@ class StravaObjects(DjangoTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.r.stravatoken = '12'
|
self.r.stravatoken = '12'
|
||||||
|
self.r.stravarefreshtoken = '123'
|
||||||
|
|
||||||
self.r.save()
|
self.r.save()
|
||||||
self.c.login(username='john',password='koeinsloot')
|
self.c.login(username='john',password='koeinsloot')
|
||||||
|
self.nu = datetime.datetime.now()
|
||||||
|
|
||||||
|
filename = 'rowers/tests/testdata/testdata.csv'
|
||||||
|
|
||||||
|
rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2,
|
||||||
|
hrut1=self.r.ut1,hrat=self.r.at,
|
||||||
|
hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp)
|
||||||
|
row = rdata(filename,rower=rr)
|
||||||
|
totaldist = row.df['cum_dist'].max()
|
||||||
|
totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min()
|
||||||
|
totaltime = totaltime+row.df.ix[0,' ElapsedTime (sec)']
|
||||||
|
|
||||||
|
|
||||||
|
hours = int(totaltime/3600.)
|
||||||
|
minutes = int((totaltime - 3600.*hours)/60.)
|
||||||
|
seconds = int(totaltime - 3600.*hours - 60.*minutes)
|
||||||
|
tenths = int(10*(totaltime - 3600.*hours - 60.*minutes - seconds))
|
||||||
|
|
||||||
|
duration = "%s:%s:%s.%s" % (hours,minutes,seconds,tenths)
|
||||||
|
|
||||||
|
|
||||||
|
workoutdate = row.rowdatetime.strftime('%Y-%m-%d')
|
||||||
|
workoutstarttime = row.rowdatetime.strftime('%H:%M:%S')
|
||||||
|
|
||||||
|
self.w = Workout.objects.create(
|
||||||
|
name='testworkout',workouttype='water',
|
||||||
|
user=self.r,date=self.nu.strftime('%Y-%m-%d'),
|
||||||
|
starttime=workoutstarttime,
|
||||||
|
startdatetime=row.rowdatetime,
|
||||||
|
duration=duration,distance=totaldist,
|
||||||
|
csvfilename=filename
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# @patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
||||||
|
# @patch('rowers.views.stravastuff.handle_stravaexport')
|
||||||
|
#@patch('rowers.dataprep.getsmallrowdata_db')
|
||||||
|
#def test_strava_upload(self, mock_post,MockStravalibClient,
|
||||||
|
# mocked_getsmallrowdata_db):
|
||||||
|
# def test_strava_upload(self,mock_post, mocked_stravaexport):
|
||||||
|
# response = self.c.get('/rowers/workout/1/stravauploadw/')
|
||||||
|
|
||||||
|
# self.assertRedirects(response,
|
||||||
|
# expected_url = '/rowers/workout/1/edit/',
|
||||||
|
# status_code=302,target_status_code=200)
|
||||||
|
|
||||||
|
# self.assertEqual(response.url, '/rowers/workout/1/edit/')
|
||||||
|
# self.assertEqual(response.status_code, 302)
|
||||||
|
|
||||||
@patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
@patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
||||||
def test_strava_list(self, mock_get):
|
def test_strava_list(self, mock_get):
|
||||||
@@ -289,16 +340,28 @@ class StravaObjects(DjangoTestCase):
|
|||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
@patch('rowers.utils.requests.get', side_effect=mocked_requests)
|
@patch('rowers.utils.requests.get', side_effect=mocked_requests)
|
||||||
def test_strava_import(self, mock_get):
|
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||||
|
def test_strava_import(self, mock_get,
|
||||||
|
mocked_getsmallrowdata_db):
|
||||||
|
|
||||||
response = self.c.get('/rowers/workout/stravaimport/12',follow=True)
|
response = self.c.get('/rowers/workout/stravaimport/12',follow=True)
|
||||||
|
|
||||||
self.assertRedirects(response,
|
self.assertRedirects(response,
|
||||||
expected_url='/rowers/workout/1/edit/',
|
expected_url='/rowers/workout/2/edit/',
|
||||||
status_code=301,target_status_code=200)
|
status_code=301,target_status_code=200)
|
||||||
|
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
|
@patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
||||||
|
def test_strava_callback(self, mock_post):
|
||||||
|
response = self.c.get('/stravacall_back?code=absdef23',follow=True)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
|
@patch('rowers.stravastuff.requests.post', side_effect=mocked_requests)
|
||||||
|
def test_strava_token_refresh(self, mock_post):
|
||||||
|
result = rowers.stravastuff.rower_strava_token_refresh(self.u)
|
||||||
|
self.assertEqual(result,"987654321234567898765432123456789")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#@pytest.mark.django_db
|
#@pytest.mark.django_db
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Normal file
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Normal file
Binary file not shown.
@@ -2252,7 +2252,7 @@ def workout_strava_upload_view(request,id=0):
|
|||||||
try:
|
try:
|
||||||
thetoken = strava_open(request.user)
|
thetoken = strava_open(request.user)
|
||||||
except NoTokenError:
|
except NoTokenError:
|
||||||
return HttpResponseRedirect("/rowers/me/stravaauthorize")
|
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
|
||||||
|
|
||||||
if (r.stravatoken == '') or (r.stravatoken is None):
|
if (r.stravatoken == '') or (r.stravatoken is None):
|
||||||
s = "Token doesn't exist. Need to authorize"
|
s = "Token doesn't exist. Need to authorize"
|
||||||
|
|||||||
@@ -96,3 +96,4 @@ EMAIL_USE_TLS = CFG['email_use_tls']
|
|||||||
DEFAULT_FROM_EMAIL = 'info@rowsandall.com'
|
DEFAULT_FROM_EMAIL = 'info@rowsandall.com'
|
||||||
|
|
||||||
SETTINGS_NAME = 'rowsandall_app.settings_dev'
|
SETTINGS_NAME = 'rowsandall_app.settings_dev'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user