Private
Public Access
1
0

getting pytest to work

This commit is contained in:
Sander Roosendaal
2019-11-03 10:02:11 +01:00
parent c4642060a8
commit 0468ebe54b
2 changed files with 54 additions and 52 deletions

View File

@@ -9,6 +9,7 @@ pytestmark = pytest.mark.django_db
from rowers.opaque import encoder
encoded1 = str(encoder.encode_hex(1))
encoded2 = str(encoder.encode_hex(2))
encoded13 = str(encoder.encode_hex(13))
from bs4 import BeautifulSoup
import re
@@ -102,7 +103,7 @@ def mocked_sqlalchemy(*args, **kwargs):
return MockEngine()
#@pytest.mark.django_db
#@pytest.mark.django_db
class DjangoTestCase(TestCase): #, MockTestCase):
def _pre_setup(self):
# MockTestCase.setUp(self)
@@ -116,9 +117,9 @@ class DjangoTestCase(TestCase): #, MockTestCase):
def mocked_tcx_parser(*args, **kwargs):
df = pd.read_csv('rowers/tests/testdata/fake_strokedata.csv')
return rowingdata(df=df)
def mocked_polar_notifications(*args, **kwargs):
return []
@@ -128,12 +129,12 @@ class mocked_canvas():
return True
# Mocked Dataprep
def mocked_fetchcperg(*args, **kwargs):
df = pd.read_csv('rowers/tests/testdata/cpdataerg.csv')
return df
import pandas as pd
def mocked_read_df_sql(id):
df = pd.read_csv('rowers/tests/testdata/fake_strokedata.csv')
@@ -144,9 +145,9 @@ def mocked_getrowdata_db(*args, **kwargs):
df = pd.read_csv('rowers/tests/testdata/getrowdata_mock.csv')
id = kwargs['id']
row = Workout.objects.get(id=id)
return df,row
def mocked_getrowdata_uh(*args, **kwargs):
@@ -302,7 +303,7 @@ def mock_update_subscription(*args, **kwargs):
rower.save()
except:
amount = 20
return True,amount
def mock_create_subscription(*args, **kwargs):
@@ -339,10 +340,10 @@ class gatewayresult():
self.payment_method = vpayment_method()
self.subscription = vsubscription()
self.customer = customer()
def __unicode__():
return "mockedgatewayresult"
class credit_card():
def __init__(self, *args, **kwargs):
self.subscriptions = [vsubscription()]
@@ -351,7 +352,7 @@ class credit_card():
class paypal_account():
def __init__(self, *args, **kwargs):
self.subscriptions = [vsubscription(),vsubscription()]
class customer():
def find(*arg, **kwargs):
return self
@@ -403,7 +404,7 @@ class vtransaction():
}
self.created_at = datetime.datetime.now()
self.currency_iso_code = 'EUR'
class vsubscription():
def update(*args, **kwargs):
return gatewayresult(is_success=True)
@@ -418,17 +419,17 @@ class vsubscription():
self.plan_id = 12
self.price = 15
self.never_expires = True
class subscription():
def create(*args, **kwargs):
return gatewayresult(is_success=True)
def update(*args, **kwargs):
return gatewayresult(is_success=True)
def cancel(*args, **kwargs):
return gatewayresult(is_success=True)
def __init__(self, *args, **kwargs):
self.id = '121'
self.billing_period_end_date = (datetime.datetime.now()+datetime.timedelta(days=365)).date()
@@ -445,7 +446,7 @@ class vpayment_method():
def __init__(self, *args, **kwargs):
self.token = 'liesjeleerdelotje'
class payment_method():
def create(*args, **kwargs):
return gatewayresult()
@@ -463,11 +464,11 @@ class MockBraintreeGateway:
self.subscription = subscription()
self.payment_method = payment_method()
def mocked_gateway(*args, **kwargs):
return MockBraintreeGateway()
# Mocked Rowingdata
@@ -482,7 +483,7 @@ class mocked_rowingdata(rowingdata):
def get_timeplot_erg(self, title):
fig1 = figure.Figure(figsize(12,10))
return fig1
def get_piechart(self, title):
fig1 = figure.Figure(figsize(12,10))
return fig1
@@ -514,10 +515,10 @@ class mocked_rowingdata(rowingdata):
def get_power_piechart(self, title):
fig1 = figure.Figure(figsize(12,10))
return fig1
# Mocked Requests
# to be done add polar mocks (for email processing)
def mocked_requests(*args, **kwargs):
with open('rowers/tests/testdata/c2jsonworkoutdata.txt','r') as infile:
@@ -529,9 +530,9 @@ def mocked_requests(*args, **kwargs):
polar_json = {
'available-user-data': []
}
c2workoutlist = json.load(open('rowers/tests/testdata/c2workoutlist.txt'))
c2uploadjson = {
"data": {
"id": 339,
@@ -550,20 +551,20 @@ def mocked_requests(*args, **kwargs):
"ranked": False
}
}
stravaworkoutlist = json.load(open('rowers/tests/testdata/stravaworkoutlist.txt'))
sporttracksworkoutlist = json.load(open('rowers/tests/testdata/sporttracksworkouts.txt'))
rkworkoutlistjson = json.load(open('rowers/tests/testdata/rkworkoutslist.txt','r'))
uaworkoutlistjson = json.load(open('rowers/tests/testdata/uaworkoutlist.txt','r'))
stravasummaryjson = json.load(open('rowers/tests/testdata/stravaworkoutsummary.txt','r'))
stravatimejson = json.load(open('rowers/tests/testdata/stravatimetestdata.txt','r'))
stravavelojson = json.load(open('rowers/tests/testdata/stravavelotestdata.txt','r'))
stravapowerjson = json.load(open('rowers/tests/testdata/stravapowertestdata.txt','r'))
stravadistancejson = json.load(open('rowers/tests/testdata/stravadistancetestdata.txt','r'))
stravalatlongjson = json.load(open('rowers/tests/testdata/stravalatlongtestdata.txt','r'))
stravahrjson = json.load(open('rowers/tests/testdata/stravahrtestdata.txt','r'))
@@ -572,7 +573,7 @@ def mocked_requests(*args, **kwargs):
uapostworkoutjson = json.load(open('rowers/tests/testdata/uapostworkoutresponse.txt','r'))
tpuploadresponse = json.load(open('rowers/tests/testdata/tpuploadresponse.txt','r'))
stravastreamjson = {
'time':stravatimejson,
'velocity_smooth':stravavelojson,
@@ -604,14 +605,14 @@ def mocked_requests(*args, **kwargs):
def __init__(self, header_data, status_code):
self.headers = header_data
self.status_code = status_code
class MockSession:
def send(self,prepped):
# prepped.url
# prepped.body (post data)
# prepped.headers
# prepped.method
json_data = {
'access_token': 'TA3n1vrNjuQJWw0TdCDHnjSmrjIPULhTlejMIWqq',
'expires_in': 604800,
@@ -620,7 +621,7 @@ def mocked_requests(*args, **kwargs):
return MockResponse(json_data,200)
if not args:
return MockSession()
@@ -631,7 +632,7 @@ def mocked_requests(*args, **kwargs):
rktester = re.compile('.*?runkeeper\.com')
uatester = re.compile('.*?mapmyfitness\.com')
tptester = re.compile('.*?trainingpeaks\.com')
c2importregex = '.*?concept2.com\/api\/users\/me\/results\/\d+'
c2importtester = re.compile(c2importregex)
@@ -701,7 +702,7 @@ def mocked_requests(*args, **kwargs):
return MockResponse(json_data,200)
elif tpuploadtester.match(args[0]):
return MockResponse(tpuploadresponse,200)
if uaapitester.match(args[0]):
if 'access_token' in args[0]:
json_data = {
@@ -719,8 +720,8 @@ def mocked_requests(*args, **kwargs):
return MockResponse(uaworkoutlistjson,200)
elif uausertester.match(args[0]):
return MockResponse(uauserjson,200)
if uatester.match(args[0]):
if 'access_token' in args[0]:
json_data = {
@@ -729,8 +730,8 @@ def mocked_requests(*args, **kwargs):
'refresh_token': 'jHJhFzCfOOKB8oyiayubhLAlxaMkG3ruC1E8YxaR'
}
return MockResponse(json_data,200)
if rktester.match(args[0]):
if 'token' in args[0]:
json_data = {
@@ -768,7 +769,7 @@ def mocked_requests(*args, **kwargs):
return MockResponse(json_data, 200)
elif rkstrokestester.match(args[0]):
return MockResponse(rkstrokesjson,200)
if sttester.match(args[0]):
if 'oauth2/token' in args[0]:
json_data = {
@@ -792,7 +793,7 @@ def mocked_requests(*args, **kwargs):
if stworkoutlisttester.match(args[0]):
return MockResponse(sporttracksworkoutlist,200)
if stravatester.match(args[0]):
if stravaworkoutlisttester.match(args[0]):
return MockResponse(stravaworkoutlist,200)
@@ -811,14 +812,14 @@ def mocked_requests(*args, **kwargs):
}
return MockResponse(json_data,200)
if c2tester.match(args[0]):
if c2uploadtester.match(args[0]):
return MockResponse(c2uploadjson,201)
if c2strokestester.match(args[0]):
return MockResponse(c2strokedata,200)
elif c2importtester.match(args[0]):
return MockResponse(c2workoutdata,200)
return MockResponse(c2workoutdata,200)
elif c2workoutlisttester.match(args[0]):
return MockResponse(c2workoutlist,200)
elif 'access_token' in args[0]:

View File

@@ -31,6 +31,7 @@ class ForceUnits(TestCase):
rowerplan='coach')
self.user_workouts = WorkoutFactory.create_batch(12, user=self.r)
self.factory = RequestFactory()
self.password = faker.word()
self.u.set_password(self.password)
@@ -60,7 +61,7 @@ class ForceUnits(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded13+'/edit/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -70,15 +71,15 @@ class ForceUnits(TestCase):
w = Workout.objects.get(id=1)
self.assertEqual(w.forceunit,'lbs')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[1])
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,399)
data = dataprep.read_df_sql(1)
data = dataprep.read_df_sql(13)
average_N = int(data['averageforce'].mean())
self.assertEqual(average_N,398)
df,row = dataprep.getrowdata_db(id=1)
df,row = dataprep.getrowdata_db(id=13)
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,398)
@@ -107,17 +108,17 @@ class ForceUnits(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded13+'/edit/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
f.close()
w = Workout.objects.get(id=1)
w = Workout.objects.get(id=13)
self.assertEqual(w.forceunit,'lbs')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[1])
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,267)
@@ -142,17 +143,17 @@ class ForceUnits(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded13+'/edit/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
f.close()
w = Workout.objects.get(id=1)
w = Workout.objects.get(id=13)
self.assertEqual(w.forceunit,'lbs')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[1])
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,113)
@@ -168,7 +169,7 @@ class TestForceUnit(TestCase):
rowerplan='coach')
self.c = Client()
self.user_workouts = WorkoutFactory.create_batch(12, user=self.r)
self.user_workouts = WorkoutFactory.create_batch(14, user=self.r)
self.factory = RequestFactory()
self.password = faker.word()
self.u.set_password(self.password)