Private
Public Access
1
0

garmin ripped out

This commit is contained in:
2025-12-11 17:01:46 +01:00
parent af47b1138f
commit 6dea398898
9 changed files with 6 additions and 316 deletions

View File

@@ -23,7 +23,7 @@ import rowers.rojabo_stuff as rojabo_stuff
from rowers.integrations import *
from django.db import transaction
import rowers.garmin_stuff as gs
import rowers.integrations.strava as strava
from rowers.nkimportutils import *
@@ -193,179 +193,6 @@ class RojaboObjects(DjangoTestCase):
@pytest.mark.django_db
@override_settings(TESTING=True)
class GarminObjects(DjangoTestCase):
def setUp(self):
self.c = Client()
self.u = User.objects.create_user('john',
'sander@ds.ds',
'koeinsloot')
self.u.first_name = 'John'
self.u.last_name = 'Sander'
self.u.save()
self.r = Rower.objects.create(user=self.u,gdproptin=True, ftpset=True,surveydone=True,
gdproptindate=timezone.now()
)
self.r.garmintoken = 'dfdzf'
self.r.garminrefreshtoken = 'fsls'
self.r.rowerplan = 'pro'
self.r.save()
self.c.login(username='john',password='koeinsloot')
self.nu = datetime.datetime.now()
startdate = nu.date()
enddate = (nu+datetime.timedelta(days=3)).date()
preferreddate = startdate
self.ps_trimp = SessionFactory(
startdate=startdate,enddate=enddate,
sessiontype='test',
sessionmode = 'TRIMP',
criterium = 'none',
sessionvalue = 77,
sessionunit='none',
preferreddate=preferreddate,
manager=self.u,
)
self.ps_trimp.interval_string = '10min+4x1000m@200W/20sec+2000m@24spm+10min'
self.ps_trimp.save()
def tearDown(self):
ws = Workout.objects.filter(user=self.r)
for w in ws:
w.delete()
def test_garmin_push_summaries(self):
with open('rowers/tests/testdata/garminsummarydata.txt','r') as f:
data = json.load(f)
response = self.c.post('/rowers/garmin/summaries/',json.dumps(data),
content_type="application/json")
self.assertEqual(response.status_code, 200)
#response = self.c.get('/rowers/workout/'+encoded1+'/', follow=True)
#self.assertEqual(response.status_code, 200)
ws = Workout.objects.filter(user=self.r)
self.assertEqual(ws.count(),3)
def test_garmin_push_details3(self):
with open('rowers/tests/testdata/garmindetail3.txt','r') as f:
data = json.load(f)
response = self.c.post('/rowers/garmin/activities/',json.dumps(data),
content_type='application/json')
self.assertEqual(response.status_code, 200)
ws = Workout.objects.filter(user=self.r)
self.assertEqual(ws.count(),1)
data,w = dataprep.getrowdata_db(id=ws[0].id)
self.assertEqual(len(data),515)
def test_garmin_push_details4(self):
with open('rowers/tests/testdata/garmindetail4.txt','r') as f:
data = json.load(f)
response = self.c.post('/rowers/garmin/activities/',json.dumps(data),
content_type='application/json')
self.assertEqual(response.status_code, 200)
ws = Workout.objects.filter(user=self.r)
self.assertEqual(ws.count(),1)
data,w = dataprep.getrowdata_db(id=ws[0].id)
self.assertEqual(len(data),18)
def test_garmin_push_details2(self):
with open('rowers/tests/testdata/garmindetail2.txt','r') as f:
data = json.load(f)
response = self.c.post('/rowers/garmin/activities/',json.dumps(data),
content_type='application/json')
self.assertEqual(response.status_code, 200)
ws = Workout.objects.filter(user=self.r)
self.assertEqual(ws.count(),3)
data,w = dataprep.getrowdata_db(id=ws[0].id)
self.assertEqual(len(data),451)
def test_garmin_push_details1(self):
with open('rowers/tests/testdata/garmindetail1.txt','r') as f:
data = json.load(f)
response = self.c.post('/rowers/garmin/activities/',json.dumps(data),
content_type='application/json')
self.assertEqual(response.status_code, 200)
response = self.c.get('/rowers/workout/'+encoded1+'/', follow=True)
self.assertEqual(response.status_code, 200)
ws = Workout.objects.filter(user=self.r)
self.assertEqual(ws.count(),2)
data,w = dataprep.getrowdata_db(id=ws[0].id)
self.assertEqual(len(data),2)
def test_garmin_deregistration(self):
data = {"deregistrations":[{"userAccessToken":"dfdzf"}]}
response = self.c.post('/rowers/garmin/deregistration/',json.dumps(data),
content_type='application/json')
self.assertEqual(response.status_code,200)
@patch('rowers.tasks.OAuth1Session',side_effect=mocked_requests)
@patch('rowers.tasks.requests.session', side_effect=mocked_requests)
def test_handle_get_garmin_file(self, MockSession, 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)
@patch('rowers.garmin_stuff.OAuth1Session')
def notest_garmin_callback(self,MockOAuth1Session):
with transaction.atomic():
response = self.c.get('/garmin_callback/?oauth_token=528ea5d9-1163-434d-b172-f428c5d9f522&oauth_verifier=LW33ZMBP8H')
self.assertEqual(response.status_code, 200)
@patch('rowers.garmin_stuff.requests.get',side_effect=mocked_requests)
def test_garmin_can_export_session(self,mock_get):
result = gs.garmin_can_export_session(self.u)
self.assertTrue(result)
def test_ps_to_garmin(self):
res = gs.ps_to_garmin(self.ps_trimp,self.r)
self.assertTrue(len(json.dumps(res))>500)
@patch('rowers.garmin_stuff.requests.get',side_effect=mocked_requests)
@patch('rowers.garmin_stuff.requests.post',side_effect=mocked_requests)
def test_garmin_session_create(self,mock_get,mock_post):
res = gs.garmin_session_create(self.ps_trimp,self.u)
self.assertEqual(res,1212)
@patch('rowers.garmin_stuff.requests.get',side_effect=mocked_requests)
@patch('rowers.garmin_stuff.requests.post',side_effect=mocked_requests)
def test_togarmin_view(self,mock_get,mock_post):
url = reverse('plannedsession_togarmin_view',kwargs={'id':self.ps_trimp.id})
response = self.c.get(url,follow=True)
self.assertEqual(response.status_code,200)
@pytest.mark.django_db