Private
Public Access
1
0

adding garmin_get_file from tasks

This commit is contained in:
Sander Roosendaal
2021-01-15 05:54:42 +01:00
parent 5c2149a13d
commit ef3fac5ec1
2 changed files with 48 additions and 0 deletions

View File

@@ -292,6 +292,8 @@ def StravaActivity():
def wait(*args, **kwargs):
return 1
class MockStravalibClient():
def upload_activity(*args, **kwargs):
return StravaActivity()
@@ -356,6 +358,7 @@ def mock_cancel_subscription(*args, **kwargs):
def mock_mocktest(*args, **kwargs):
return '121'
## Gateway stuff (not working)
class gatewayresult():
@@ -635,6 +638,21 @@ def mocked_requests(*args, **kwargs):
self.headers = header_data
self.status_code = status_code
class MockStreamResponse:
def __init__(self, file_name, status_code):
data = open(file_name,'rb')
self.raw = data
self.status_code = status_code
self.ok = True
class MockOAuth1Session():
def __init__(self,*args, **kwargs):
pass
def get(*args,**kwargs):
return MockStreamResponse('rowers/tests/testdata/3x250m.fit',200)
class MockSession:
def send(self,prepped):
# prepped.url
@@ -651,9 +669,14 @@ def mocked_requests(*args, **kwargs):
return MockResponse(json_data,200)
if 'garmin' in args:
return MockOAuth1Session()
if not args:
return MockSession()
polartester = re.compile('.*?polaraccesslink\.com')
c2tester = re.compile('.*?log\.concept2\.com')
stravatester = re.compile('.*?strava\.com')
@@ -661,6 +684,7 @@ def mocked_requests(*args, **kwargs):
rktester = re.compile('.*?runkeeper\.com')
uatester = re.compile('.*?mapmyfitness\.com')
tptester = re.compile('.*?trainingpeaks\.com')
garmintester = re.compile('.*?garmin\.com')
c2importregex = '.*?concept2.com\/api\/users\/me\/results\/\d+'
c2importtester = re.compile(c2importregex)
@@ -721,6 +745,13 @@ def mocked_requests(*args, **kwargs):
tpuploadregex = '.*?trainingpeaks\.com\/v1\/file'
tpuploadtester = re.compile(tpuploadregex)
garmindownloadregex = '.*?garmin\.com\/mockfile?id=1'
garmindownloadtester = re.compile(garmindownloadregex)
if garmintester.match(args[0]):
if garmindownloadtester.match(args[0]):
return MockStreamResponse('rowers/tests/testdata/3x250m.fit',200)
if stravaathletetester.match(args[0]):
json_data = stravaathletejson
return MockResponse(json_data,200)

View File

@@ -12,6 +12,7 @@ nu = datetime.datetime.now()
import rowers
from rowers import dataprep
from rowers import tasks
@pytest.mark.django_db
@override_settings(TESTING=True)
@@ -115,6 +116,22 @@ class GarminObjects(DjangoTestCase):
self.assertEqual(response.status_code,200)
@patch('rowers.tasks.OAuth1Session',side_effect=mocked_requests)
def test_handle_get_garmin_file(self, MockOAuth1Session):
client_id = 'garmin'
client_secret = 'noot'
garmintoken = 'mies'
garminrefreshtoken = 'jet'
userid = self.r.user.id
url = 'fake_url'
filetype = 'fit'
res = tasks.handle_get_garmin_file(
client_id,client_secret,garmintoken,garminrefreshtoken,userid,url,filetype
)
self.assertEqual(res,1)
@pytest.mark.django_db