adding garmin_get_file from tasks
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user