Coverage report:
91%
hide covered
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.