def test_get_polar_data(self): user = User('profileUsername', '*****@*****.**') user.save() profile = Profile(user) profile.save() polar_user = PolarUserModel(profile.id, profile.username) polar_user.save() retrieved_polar = profile.get_polar_data() assert(retrieved_polar.member_id == 'R4IT_profileUsername')
def test_profile_id_unique(self, db): user1 = PolarUserModel(1, 'userOne') user1.save() try: user2 = PolarUserModel(1, 'userTwo') user2.save() # should fail except: db.session.rollback() num_users = db.session.query(PolarUserModel).count() assert (num_users == 1)
def script_import_polar_exercices(script_name): script_entry,ret_code = _init_script_execution(script_name) if script_entry is None: return ret_code # Script code goes here polar_exercises = PolarWebhookExerciseModel.get_not_processed() if polar_exercises is not None: # Loop through exercises and download exercise data print(str(dt.datetime.utcnow()), "Found {0} Polar exercise(s) ready for import".format(len(polar_exercises))) for exercise in polar_exercises: polar_user = PolarUserModel.find_by_polar_user_id(exercise.polar_user_id) if polar_user is not None: exercise_json = get_exercise_data_from_url(polar_user.access_token, exercise.url) if exercise_json is not None: fit_path = None if exercise_json['route'] == True: fit_path = get_exercise_fit_from_url(polar_user.access_token, exercise.url, exercise.entity_id) new_workout_id = _create_workout_from_polar_exercise(polar_user.profile_id, exercise_json, fit_path) if new_workout_id > 0: print(str(dt.datetime.utcnow()), "New workout created with id {0} for Polar exercise {1}".format(new_workout_id, exercise.entity_id)) else: print(str(dt.datetime.utcnow()), "Failed to create workout for Polar exercise {0}".format(exercise.entity_id)) else: print(str(dt.datetime.utcnow()), "Failed to retrieve data for Polar exercise {0}".format(exercise.entity_id)) else: print(str(dt.datetime.utcnow()), "Skipped Polar exercise {0}, user {1} not found".format(exercise.entity_id, exercise.polar_user_id)) # mark as processed if it was imported or not, we won't try again try: exercise.processed = True exercise.save() except: print(str(dt.datetime.utcnow()), "Failed to set Polar exercise {0} as 'processed'".format(exercise.entity_id)) else: print(str(dt.datetime.utcnow()), "Error searching for Polar exercises for import") ret_code = 1 # End of script code return _commit_script_execution(script_entry, ret_code)
def test_default_values(self, db): new_user = PolarUserModel(1, 'user') new_user.save() assert (new_user.profile_id == 1) assert (new_user.polar_user_id == 0) assert (new_user.state is None) assert (new_user.access_token is None) assert (new_user.access_token_expires is None) assert (new_user.updated_at is None) assert (new_user.auth_url == '') assert (new_user.is_registered() == False) assert (new_user.has_valid_access_token() == False)
def test_get_by_state_code_fails_if_duplicate(self, db): user1 = PolarUserModel(1, 'user') user1.state = "code" user1.save(commit=False) user2 = PolarUserModel(2, 'another-user') user2.state = "code" user2.save() retrieved_user = PolarUserModel.find_by_state_code('code') assert (retrieved_user is None)
def test_generate_state_code(self, db): new_user = PolarUserModel(1, 'user') new_user.generate_state_code() assert (len(new_user.state) == 15)
def test_get_by_id(self): new_user = PolarUserModel(1, 'user') new_user.save() retrieved_user = PolarUserModel.get_by_id(new_user.id) assert (retrieved_user == new_user)
def test_get_by_state_code(self, db): new_user = PolarUserModel(1, 'user') new_user.state = 'code' new_user.save() retrieved_user = PolarUserModel.find_by_state_code('code') assert (retrieved_user == new_user)
def test_get_by_polar_user_id(self, db): new_user = PolarUserModel(1, 'user') new_user.polar_user_id = 1234 new_user.save() retrieved_user = PolarUserModel.find_by_polar_user_id(1234) assert (retrieved_user == new_user)
def test_get_by_member_id(self, db): new_user = PolarUserModel(1, 'user') new_user.save() retrieved_user = PolarUserModel.find_by_member_id('R4IT_user') assert (retrieved_user == new_user)
def test_member_id_prefix(self, db): new_user = PolarUserModel(1, 'user') assert (new_user.member_id == 'R4IT_user')