#from __future__ import print_function import pytest pytestmark = pytest.mark.django_db from bs4 import BeautifulSoup import re from nose_parameterized import parameterized from django.test import TestCase, Client,override_settings from django.core.management import call_command from django.utils.six import StringIO from django.test.client import RequestFactory import datetime from django.utils import timezone import json import numpy as np import rowers.dataprep as dataprep from redis import StrictRedis redis_connection = StrictRedis() from rowingdata import rowingdata as rdata from rowingdata import rower as rrower from rowers.models import User,Rower, Workout class UserMiddleWareTest(TestCase): def setUp(self): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') self.r = Rower.objects.create(user=u) self.c = Client() 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 ) def test_middleware(self): response = self.c.get('/rowers/list-workouts',follow=True) self.assertEqual(response.status_code,200) class UserTestsNoRower(TestCase): def setUp(self): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') self.c = Client() self.c.login(username='john',password='koeinsloot') def test_user(self): response = self.c.get('/rowers/list-workouts',follow=True) self.assertEqual(response.status_code,200)