Coverage report: 91%

Files Functions Classes

coverage.py v7.6.12, created at 2025-03-14 03:01 +0000

File function statements missing excluded coverage
app.py app 19 0 0 100%
app.py setup_smtp 14 10 0 29%
app.py (no function) 7 0 0 100%
migrations/2023_11_06_000001_drop_contests.py main 6 6 0 0%
migrations/2023_11_06_000001_drop_contests.py (no function) 4 4 0 0%
model/announcement.py get_sys_ann 4 0 0 100%
model/announcement.py anncmnt 9 0 0 100%
model/announcement.py anncmnt.get_anns 8 0 0 100%
model/announcement.py anncmnt.create 8 0 0 100%
model/announcement.py anncmnt.update 11 0 0 100%
model/announcement.py anncmnt.delete 8 0 0 100%
model/announcement.py (no function) 17 0 0 100%
model/auth.py login_required 4 0 0 100%
model/auth.py login_required.wrapper 12 0 0 100%
model/auth.py identity_verify 4 0 0 100%
model/auth.py identity_verify.verify 2 0 0 100%
model/auth.py identity_verify.verify.wrapper 4 0 0 100%
model/auth.py get_verify_link 1 0 0 100%
model/auth.py session 5 0 0 100%
model/auth.py session.logout 2 0 0 100%
model/auth.py session.login 8 0 0 100%
model/auth.py signup 13 0 0 100%
model/auth.py change_password 7 0 0 100%
model/auth.py check 6 0 0 100%
model/auth.py check.check_username 5 0 0 100%
model/auth.py check.check_email 5 0 0 100%
model/auth.py resend_email 9 0 0 100%
model/auth.py active 6 0 0 100%
model/auth.py active.update 16 0 0 100%
model/auth.py active.redir 6 0 0 100%
model/auth.py password_recovery 9 0 0 100%
model/auth.py add_user 9 0 0 100%
model/auth.py batch_signup 12 0 0 100%
model/auth.py get_me 8 0 0 100%
model/auth.py (no function) 51 0 0 100%
model/copycat.py is_valid_url 3 0 0 100%
model/copycat.py get_report_task 40 0 0 100%
model/copycat.py get_report_by_url 5 0 0 100%
model/copycat.py get_report 22 0 0 100%
model/copycat.py detect 22 0 0 100%
model/copycat.py (no function) 24 0 0 100%
model/course.py get_courses 2 0 0 100%
model/course.py modify_courses 21 0 0 100%
model/course.py get_course 10 0 0 100%
model/course.py get_course.modify_course 18 0 0 100%
model/course.py grading 18 0 0 100%
model/course.py grading.get_score 1 0 0 100%
model/course.py grading.add_score 7 0 0 100%
model/course.py grading.modify_score 13 0 0 100%
model/course.py grading.delete_score 9 0 0 100%
model/course.py get_course_scoreboard 19 0 0 100%
model/course.py (no function) 29 0 0 100%
model/health.py health 7 0 0 100%
model/health.py (no function) 9 0 0 100%
model/homework.py homework_entry 13 0 0 100%
model/homework.py homework_entry.add_homework 7 0 0 100%
model/homework.py homework_entry.update_homework 2 0 0 100%
model/homework.py homework_entry.delete_homework 3 0 0 100%
model/homework.py homework_entry.get_homework 3 0 0 100%
model/homework.py get_homework_list 12 0 0 100%
model/homework.py get_ip_filters 7 0 0 100%
model/homework.py patch_ip_filters 25 0 0 100%
model/homework.py (no function) 23 0 0 100%
model/post.py get_post 7 0 0 100%
model/post.py get_single_post 7 0 0 100%
model/post.py modify_post 42 0 0 100%
model/post.py (no function) 20 0 0 100%
model/problem.py permission_error_response 1 0 0 100%
model/problem.py online_error_response 1 0 0 100%
model/problem.py view_problem_list 16 0 0 100%
model/problem.py view_problem 11 0 0 100%
model/problem.py get_problem_detailed 7 1 0 86%
model/problem.py create_problem 9 0 0 100%
model/problem.py delete_problem 6 1 0 83%
model/problem.py manage_problem 17 1 0 94%
model/problem.py manage_problem.modify_problem 2 0 0 100%
model/problem.py manage_problem.modify_problem_test_case 9 0 0 100%
model/problem.py initiate_test_case_upload 6 6 0 0%
model/problem.py complete_test_case_upload 11 11 0 0%
model/problem.py get_test_case 5 1 0 80%
model/problem.py get_testdata 3 0 0 100%
model/problem.py get_checksum 9 0 0 100%
model/problem.py get_meta 7 0 0 100%
model/problem.py high_score 1 0 0 100%
model/problem.py clone_problem 5 0 0 100%
model/problem.py publish_problem 4 0 0 100%
model/problem.py problem_stats 21 1 0 95%
model/problem.py (no function) 88 0 0 100%
model/profile.py view_profile 6 0 0 100%
model/profile.py edit_profile 8 0 0 100%
model/profile.py edit_config 8 0 0 100%
model/profile.py (no function) 18 0 0 100%
model/ranking.py get_ranking 2 0 0 100%
model/ranking.py (no function) 9 0 0 100%
model/submission.py create_submission 41 16 0 61%
model/submission.py get_submission_list 34 5 0 85%
model/submission.py get_submission_list.parse_int 6 2 0 67%
model/submission.py get_submission_list.parse_str 6 4 0 33%
model/submission.py get_submission_list.parse_timestamp 6 4 0 33%
model/submission.py get_submission 20 6 0 70%
model/submission.py get_submission_output 9 2 0 78%
model/submission.py get_submission_pdf 13 13 0 0%
model/submission.py on_submission_complete 7 7 0 0%
model/submission.py update_submission 26 9 0 65%
model/submission.py grade_submission 7 2 0 71%
model/submission.py comment_submission 9 9 0 0%
model/submission.py rejudge 17 11 0 35%
model/submission.py config 6 0 0 100%
model/submission.py config.get_config 4 0 0 100%
model/submission.py config.modify_config 17 11 0 35%
model/submission.py (no function) 62 0 0 100%
model/test.py test 1 0 0 100%
model/test.py role 1 0 0 100%
model/test.py log 6 0 0 100%
model/test.py check_header 2 0 0 100%
model/test.py (no function) 15 0 0 100%
model/user.py check_admin 1 0 0 100%
model/user.py before_request 3 0 0 100%
model/user.py get_user_list 19 0 0 100%
model/user.py add_user 9 0 0 100%
model/user.py update_user 9 0 0 100%
model/user.py (no function) 25 0 0 100%
model/utils/request.py _Request.__getattr__ 2 0 0 100%
model/utils/request.py _Request.__getattr__.get 3 0 0 100%
model/utils/request.py _Request.__getattr__.get.data_func 2 0 0 100%
model/utils/request.py _Request.__getattr__.get.data_func.wrapper 9 0 0 100%
model/utils/request.py Request.doc 3 0 0 100%
model/utils/request.py Request.doc.deco 4 0 0 100%
model/utils/request.py Request.doc.deco.inner_wrapper 1 0 0 100%
model/utils/request.py Request.doc.deco.real_wrapper 9 0 0 100%
model/utils/request.py get_ip 2 0 0 100%
model/utils/request.py (no function) 15 0 0 100%
model/utils/response.py HTTPBaseResponese.__new__ 6 0 0 100%
model/utils/response.py HTTPResponse.__new__ 2 0 0 100%
model/utils/response.py HTTPRedirect.__new__ 2 0 0 100%
model/utils/response.py HTTPError.__new__ 2 0 0 100%
model/utils/response.py (no function) 10 0 0 100%
model/utils/smtp.py send 13 0 0 100%
model/utils/smtp.py send_noreply 4 0 0 100%
model/utils/smtp.py (no function) 9 0 0 100%
mongo/announcement.py Announcement.__init__ 1 0 0 100%
mongo/announcement.py Announcement.ann_list 9 0 0 100%
mongo/announcement.py Announcement.new_ann 5 0 0 100%
mongo/announcement.py (no function) 14 0 0 100%
mongo/base.py MongoBase.__init_subclass__ 2 0 0 100%
mongo/base.py MongoBase.__new__ 10 0 0 100%
mongo/base.py MongoBase.__getattr__ 1 0 0 100%
mongo/base.py MongoBase.__setattr__ 3 0 0 100%
mongo/base.py MongoBase.__eq__ 1 0 0 100%
mongo/base.py MongoBase.__bool__ 4 0 0 100%
mongo/base.py MongoBase.__str__ 1 0 0 100%
mongo/base.py MongoBase.__repr__ 1 0 0 100%
mongo/base.py MongoBase.reload 3 0 0 100%
mongo/base.py MongoBase.logger 4 0 0 100%
mongo/base.py (no function) 18 0 0 100%
mongo/config.py (no function) 5 0 0 100%
mongo/course.py Course.__new__ 9 0 0 100%
mongo/course.py Course.update_student_namelist 16 0 0 100%
mongo/course.py Course.add_user 4 0 0 100%
mongo/course.py Course.remove_user 2 0 0 100%
mongo/course.py Course.get_all 1 0 0 100%
mongo/course.py Course.get_user_courses 3 0 0 100%
mongo/course.py Course.edit_course 18 1 0 94%
mongo/course.py Course.delete_course 7 0 0 100%
mongo/course.py Course.get_scoreboard 19 0 0 100%
mongo/course.py Course.add_course 12 0 0 100%
mongo/course.py Course.get_public 3 0 0 100%
mongo/course.py Course.own_permission 3 0 0 100%
mongo/course.py Course.permission 1 0 0 100%
mongo/course.py (no function) 32 0 0 100%
mongo/engine.py handler 2 0 0 100%
mongo/engine.py handler.decorator 3 0 0 100%
mongo/engine.py handler.decorator.apply 2 0 0 100%
mongo/engine.py escape_markdown 1 0 0 100%
mongo/engine.py ZipField.__init__ 2 0 0 100%
mongo/engine.py ZipField.validate 12 2 0 83%
mongo/engine.py IntEnumField.__init__ 2 0 0 100%
mongo/engine.py IntEnumField.validate 3 0 0 100%
mongo/engine.py Duration.__contains__ 3 0 0 100%
mongo/engine.py User.info 1 0 0 100%
mongo/engine.py ProblemDescription.escape 5 0 0 100%
mongo/engine.py problem_desc_escape 1 0 0 100%
mongo/engine.py (no function) 204 1 0 99%
mongo/homework.py check_penalty 20 0 0 100%
mongo/homework.py Homework.is_valid_ip 4 0 0 100%
mongo/homework.py Homework.add 29 0 0 100%
mongo/homework.py Homework.update 45 0 0 100%
mongo/homework.py Homework.delete_problems 9 0 0 100%
mongo/homework.py Homework.get_homeworks 3 0 0 100%
mongo/homework.py Homework.get_by_id 5 0 0 100%
mongo/homework.py Homework.get_by_name 5 0 0 100%
mongo/homework.py Homework.default_problem_status 1 0 0 100%
mongo/homework.py Homework.add_student 6 0 0 100%
mongo/homework.py Homework.remove_student 5 0 0 100%
mongo/homework.py Homework.do_penalty 9 0 0 100%
mongo/homework.py (no function) 35 0 0 100%
mongo/ip_filter.py OctetMatcher.__init__ 14 0 0 100%
mongo/ip_filter.py OctetMatcher.__repr__ 1 0 0 100%
mongo/ip_filter.py OctetMatcher.match 3 0 0 100%
mongo/ip_filter.py IPFilter.__init__ 4 0 0 100%
mongo/ip_filter.py IPFilter.__repr__ 1 0 0 100%
mongo/ip_filter.py IPFilter.is_valid_ip 8 0 0 100%
mongo/ip_filter.py IPFilter.match 3 0 0 100%
mongo/ip_filter.py (no function) 12 0 0 100%
mongo/post.py Post.found_thread 6 0 0 100%
mongo/post.py Post.found_post 7 0 0 100%
mongo/post.py Post.add_post 10 0 0 100%
mongo/post.py Post.add_reply 12 0 0 100%
mongo/post.py Post.edit_post 19 0 0 100%
mongo/post.py Post.delete_post 3 0 0 100%
mongo/post.py (no function) 19 0 0 100%
mongo/problem/exception.py (no function) 2 0 0 100%
mongo/problem/problem.py Problem.detailed_info 24 0 0 100%
mongo/problem/problem.py Problem.allowed 5 0 0 100%
mongo/problem/problem.py Problem.submit_count 4 0 0 100%
mongo/problem/problem.py Problem.running_homeworks 3 0 0 100%
mongo/problem/problem.py Problem.is_valid_ip 1 0 0 100%
mongo/problem/problem.py Problem.get_submission_status 3 0 0 100%
mongo/problem/problem.py Problem.get_ac_user_count 2 0 0 100%
mongo/problem/problem.py Problem.get_tried_user_count 2 0 0 100%
mongo/problem/problem.py Problem.high_score_key 1 0 0 100%
mongo/problem/problem.py Problem.get_high_score 10 0 0 100%
mongo/problem/problem.py Problem.own_permission 18 0 0 100%
mongo/problem/problem.py Problem.permission 1 0 0 100%
mongo/problem/problem.py Problem.get_problem_list 12 0 0 100%
mongo/problem/problem.py Problem.add 13 0 0 100%
mongo/problem/problem.py Problem.edit_problem 18 0 0 100%
mongo/problem/problem.py Problem.update_test_case 3 0 0 100%
mongo/problem/problem.py Problem._save_test_case_zip 5 0 0 100%
mongo/problem/problem.py Problem._generate_test_case_obj_path 1 0 0 100%
mongo/problem/problem.py Problem._validate_test_case 14 0 0 100%
mongo/problem/problem.py Problem.copy_problem 2 0 0 100%
mongo/problem/problem.py Problem.copy_to 6 0 0 100%
mongo/problem/problem.py Problem.release_problem 5 0 0 100%
mongo/problem/problem.py Problem.is_test_case_ready 1 1 0 0%
mongo/problem/problem.py Problem.get_test_case 9 9 0 0%
mongo/problem/problem.py Problem.generate_urls_for_uploading_test_case 7 7 0 0%
mongo/problem/problem.py Problem.generate_urls_for_uploading_test_case.get 1 1 0 0%
mongo/problem/problem.py Problem.complete_test_case_upload 8 8 0 0%
mongo/problem/problem.py (no function) 59 0 0 100%
mongo/problem/test_case.py TestCaseRule.__init__ 1 0 0 100%
mongo/problem/test_case.py TestCaseRule.validate 0 0 1 100%
mongo/problem/test_case.py IncludeDirectory.__init__ 3 0 0 100%
mongo/problem/test_case.py IncludeDirectory.validate 10 0 0 100%
mongo/problem/test_case.py SimpleIO.__init__ 2 0 0 100%
mongo/problem/test_case.py SimpleIO.validate 14 0 0 100%
mongo/problem/test_case.py SimpleIO.expected_test_case_filenames 6 0 0 100%
mongo/problem/test_case.py ContextIO.validate 16 0 0 100%
mongo/problem/test_case.py ContextIO.validate_test_case_dir 11 0 0 100%
mongo/problem/test_case.py ContextIO.expected_test_case_dirs 5 0 0 100%
mongo/problem/test_case.py (no function) 20 0 1 100%
mongo/sandbox.py find_by_token 5 0 0 100%
mongo/sandbox.py (no function) 3 0 0 100%
mongo/submission.py gen_key 1 1 0 0%
mongo/submission.py gen_token 1 1 0 0%
mongo/submission.py TestCaseNotFound.__init__ 1 1 0 0%
mongo/submission.py TestCaseNotFound.__str__ 1 1 0 0%
mongo/submission.py SubmissionConfig.__init__ 1 0 0 100%
mongo/submission.py Submission.__init__ 1 0 0 100%
mongo/submission.py Submission.__str__ 1 0 0 100%
mongo/submission.py Submission.id 1 0 0 100%
mongo/submission.py Submission.problem_id 1 0 0 100%
mongo/submission.py Submission.username 1 0 0 100%
mongo/submission.py Submission.status2code 1 0 0 100%
mongo/submission.py Submission.handwritten 1 0 0 100%
mongo/submission.py Submission.tmp_dir 5 0 0 100%
mongo/submission.py Submission.main_code_ext 2 0 0 100%
mongo/submission.py Submission.main_code_path 10 2 0 80%
mongo/submission.py Submission.config 5 0 0 100%
mongo/submission.py Submission.get_single_output 13 0 0 100%
mongo/submission.py Submission.delete_output 3 0 0 100%
mongo/submission.py Submission.delete 6 6 0 0%
mongo/submission.py Submission.delete.default_del_func 1 1 0 0%
mongo/submission.py Submission.sandbox_resp_handler 10 10 0 0%
mongo/submission.py Submission.sandbox_resp_handler.on_500 1 1 0 0%
mongo/submission.py Submission.sandbox_resp_handler.on_400 1 1 0 0%
mongo/submission.py Submission.sandbox_resp_handler.on_403 1 1 0 0%
mongo/submission.py Submission.target_sandbox 13 13 0 0%
mongo/submission.py Submission.get_comment 3 3 0 0%
mongo/submission.py Submission._check_code 23 0 0 100%
mongo/submission.py Submission.rejudge 5 1 0 80%
mongo/submission.py Submission._generate_obj_path 1 0 0 100%
mongo/submission.py Submission._put_code 6 0 0 100%
mongo/submission.py Submission.submit 19 9 0 53%
mongo/submission.py Submission.send 15 15 0 0%
mongo/submission.py Submission.process_result 29 1 0 97%
mongo/submission.py Submission.finish_judging 24 5 0 79%
mongo/submission.py Submission.add_comment 9 9 0 0%
mongo/submission.py Submission.count 1 1 0 0%
mongo/submission.py Submission.filter 46 3 0 93%
mongo/submission.py Submission.add 11 2 0 82%
mongo/submission.py Submission.assign_token 4 4 0 0%
mongo/submission.py Submission.verify_token 10 10 0 0%
mongo/submission.py Submission.to_dict 3 0 0 100%
mongo/submission.py Submission._to_dict 7 0 0 100%
mongo/submission.py Submission.get_result 5 2 0 60%
mongo/submission.py Submission.get_detailed_result 10 10 0 0%
mongo/submission.py Submission._get_code_raw 11 1 0 91%
mongo/submission.py Submission._get_code_zip 3 0 0 100%
mongo/submission.py Submission.get_code 13 5 0 62%
mongo/submission.py Submission.get_main_code 2 0 0 100%
mongo/submission.py Submission.has_code 1 0 0 100%
mongo/submission.py Submission.own_permission 16 2 0 88%
mongo/submission.py Submission.permission 1 0 0 100%
mongo/submission.py (no function) 104 0 0 100%
mongo/user.py User.signup 6 0 0 100%
mongo/user.py User.batch_signup 32 0 0 100%
mongo/user.py User.force_update 11 0 0 100%
mongo/user.py User.login 10 0 0 100%
mongo/user.py User.get_by_username 2 0 0 100%
mongo/user.py User.get_by_email 2 0 0 100%
mongo/user.py User.displayedName 1 0 0 100%
mongo/user.py User.bio 1 0 0 100%
mongo/user.py User.cookie 2 0 0 100%
mongo/user.py User.secret 2 0 0 100%
mongo/user.py User.jwt 6 0 0 100%
mongo/user.py User.properties 6 0 0 100%
mongo/user.py User.change_password 3 0 0 100%
mongo/user.py User.activate 4 0 0 100%
mongo/user.py User.add_submission 4 0 0 100%
mongo/user.py jwt_decode 5 0 0 100%
mongo/user.py (no function) 42 0 1 100%
mongo/utils.py hash_id 3 0 0 100%
mongo/utils.py perm 1 0 0 100%
mongo/utils.py Cache.exists 0 0 1 100%
mongo/utils.py Cache.get 0 0 1 100%
mongo/utils.py Cache.set 0 0 1 100%
mongo/utils.py Cache.delete 0 0 1 100%
mongo/utils.py RedisCache.__new__ 5 0 0 100%
mongo/utils.py RedisCache.__init__ 1 0 0 100%
mongo/utils.py RedisCache.client 6 0 0 100%
mongo/utils.py RedisCache.exists 1 0 0 100%
mongo/utils.py RedisCache.get 1 0 0 100%
mongo/utils.py RedisCache.delete 1 0 0 100%
mongo/utils.py RedisCache.set 1 0 0 100%
mongo/utils.py doc_required 6 0 0 100%
mongo/utils.py doc_required.deco 2 0 0 100%
mongo/utils.py doc_required.deco.wrapper 19 0 0 100%
mongo/utils.py drop_none 1 0 0 100%
mongo/utils.py MinioClient.__init__ 2 0 0 100%
mongo/utils.py (no function) 37 0 2 100%
recover.py (no function) 0 0 0 100%
Total   3316 295 9 91%

No items found using the specified filter.