Coverage report: 92%

Files Functions Classes

coverage.py v7.13.4, created at 2026-10-04 09:33 +0000

File class   statements missing excluded   coverage
server / __init__.py (no class)   0 0 0   100%
server / app.py (no class)   181 15 0   92%
server / authentication / auth0_bearer.py Auth0Bearer   109 18 0   83%
server / authentication / auth0_bearer.py (no class)   70 3 2   96%
server / authentication / auth0_config.py Auth0Settings   3 0 0   100%
server / authentication / auth0_config.py Auth0Settings.Config   0 0 0   100%
server / authentication / auth0_config.py (no class)   20 0 0   100%
server / authentication / auth0_handler.py Auth0TokenHandler   61 4 0   93%
server / authentication / auth0_handler.py (no class)   18 0 0   100%
server / authentication / bcrypter.py Hasher   2 0 0   100%
server / authentication / bcrypter.py (no class)   5 0 0   100%
server / authentication / cookie_session.py (no class)   44 5 0   89%
server / connection / database.py Settings   0 0 0   100%
server / connection / database.py (no class)   115 15 0   87%
server / connection / storage_bucket.py (no class)   28 3 0   89%
server / models / account.py Account   2 2 0   0%
server / models / account.py Account.Settings   0 0 0   100%
server / models / account.py SubscriberAccount   0 0 0   100%
server / models / account.py Registration   2 2 0   0%
server / models / account.py SubscriberRegistration   0 0 0   100%
server / models / account.py SubscriberRegistration.Config   0 0 0   100%
server / models / account.py UpdatedAccount   1 1 0   0%
server / models / account.py UpdatedSubscriberAccount   0 0 0   100%
server / models / account.py AccountResponseModel   3 3 0   0%
server / models / account.py SubscriberAccountResponseModel   0 0 0   100%
server / models / account.py (no class)   123 11 0   91%
server / models / assignment.py RubricLevel   3 0 0   100%
server / models / assignment.py RubricCriterion   3 0 0   100%
server / models / assignment.py Rubric   0 0 0   100%
server / models / assignment.py AssignmentType   0 0 0   100%
server / models / assignment.py LateReviewStatus   0 0 0   100%
server / models / assignment.py AssignmentCategory   0 0 0   100%
server / models / assignment.py AssignmentFormat   0 0 0   100%
server / models / assignment.py AllowedAttempts   0 0 0   100%
server / models / assignment.py AssignmentSettings   3 0 0   100%
server / models / assignment.py QuestionModel   5 2 0   60%
server / models / assignment.py Assignment   83 7 0   92%
server / models / assignment.py Assignment.Settings   0 0 0   100%
server / models / assignment.py Assignment.Config   0 0 0   100%
server / models / assignment.py UpdateAssignment   9 0 0   100%
server / models / assignment.py UpdateAssignment.Settings   0 0 0   100%
server / models / assignment.py UpdateAssignment.Config   0 0 0   100%
server / models / assignment.py UpdateAssignmentRequest   3 0 0   100%
server / models / assignment.py LateReviewRequest   0 0 0   100%
server / models / assignment.py LateRejectRequest   0 0 0   100%
server / models / assignment.py TeacherCommentRequest   4 0 0   100%
server / models / assignment.py UpdateQuestionPointsRequest   0 0 0   100%
server / models / assignment.py MarkStudentAnswerRequest   0 0 0   100%
server / models / assignment.py Answer   1 0 0   100%
server / models / assignment.py Submission   4 2 0   50%
server / models / assignment.py Submission.Settings   0 0 0   100%
server / models / assignment.py Submission.Config   0 0 0   100%
server / models / assignment.py (no class)   248 3 0   99%
server / models / assignment_submit.py AnswerItem   8 2 0   75%
server / models / assignment_submit.py AssignmentSubmitRequest   4 0 0   100%
server / models / assignment_submit.py ViolationReportRequest   4 0 0   100%
server / models / assignment_submit.py (no class)   28 0 0   100%
server / models / class_message.py ClassMessage   1 1 0   0%
server / models / class_message.py ClassMessage.Settings   0 0 0   100%
server / models / class_message.py CreateClassMessage   4 0 0   100%
server / models / class_message.py (no class)   23 0 0   100%
server / models / classes.py Semesters   0 0 0   100%
server / models / classes.py DaysOfWeek   0 0 0   100%
server / models / classes.py TeacherModel   0 0 0   100%
server / models / classes.py TeacherModel.Config   0 0 0   100%
server / models / classes.py StudentModel   0 0 0   100%
server / models / classes.py Schedule   17 1 0   94%
server / models / classes.py ClassModel   2 0 0   100%
server / models / classes.py ClassModel.Settings   0 0 0   100%
server / models / classes.py RegisterClass   11 0 0   100%
server / models / classes.py RegisterClass.Config   0 0 0   100%
server / models / classes.py UpdateClassModel   19 1 0   95%
server / models / classes.py UpdateClassModel.Config   0 0 0   100%
server / models / classes.py ClassModelRequestSchema   0 0 0   100%
server / models / classes.py LeaveRequestData   0 0 0   100%
server / models / classes.py UpdateStudentStatus   0 0 0   100%
server / models / classes.py StudentClassListResponse   0 0 0   100%
server / models / classes.py StudentFetchbyclasscodeResponse   0 0 0   100%
server / models / classes.py (no class)   135 0 0   100%
server / models / clients.py Client   2 2 0   0%
server / models / clients.py Client.Settings   0 0 0   100%
server / models / clients.py ClientRegistrationRequestSchema   29 3 0   90%
server / models / clients.py ClientRegistrationRequestSchema.Config   0 0 0   100%
server / models / clients.py ClientLoginRequest   5 5 0   0%
server / models / clients.py ClientLoginRequest.Config   0 0 0   100%
server / models / clients.py IndividualClientSchema   0 0 0   100%
server / models / clients.py School   0 0 0   100%
server / models / clients.py School.Settings   0 0 0   100%
server / models / clients.py StudentCSVData   0 0 0   100%
server / models / clients.py StudentCSVData.Config   0 0 0   100%
server / models / clients.py SchoolRegistration   6 6 0   0%
server / models / clients.py SchoolRegistration.Config   0 0 0   100%
server / models / clients.py SchoolResponseSchema   0 0 0   100%
server / models / clients.py ClientUserRegistrationRequestSchema   13 13 0   0%
server / models / clients.py ClientUserRegistrationRequestSchema.Config   0 0 0   100%
server / models / clients.py UserResponseSchema   0 0 0   100%
server / models / clients.py ClientUserSessionDuration   0 0 0   100%
server / models / clients.py (no class)   205 0 0   100%
server / models / question_bank.py ObjectIdField   7 0 0   100%
server / models / question_bank.py Item   0 0 0   100%
server / models / question_bank.py Select   0 0 0   100%
server / models / question_bank.py Answer   0 0 0   100%
server / models / question_bank.py CorrectAnswer   13 0 0   100%
server / models / question_bank.py GroupModel   0 0 0   100%
server / models / question_bank.py QuestionModelCreate   26 0 0   100%
server / models / question_bank.py QuestionModelCreate.Config   0 0 0   100%
server / models / question_bank.py QuestionModelUpdate   21 0 0   100%
server / models / question_bank.py QuestionModelUpdate.Config   0 0 0   100%
server / models / question_bank.py (no class)   113 0 0   100%
server / models / sharerequests.py ShareRequest   7 0 0   100%
server / models / sharerequests.py ShareRequest.Settings   0 0 0   100%
server / models / sharerequests.py ShareRequest.Config   0 0 0   100%
server / models / sharerequests.py (no class)   26 0 0   100%
server / models / themes.py ThemeColors   4 0 0   100%
server / models / themes.py ThemeFont   4 0 0   100%
server / models / themes.py ThemeLayout   4 0 0   100%
server / models / themes.py ThemeFontUpdate   0 0 0   100%
server / models / themes.py ThemeLayoutUpdate   0 0 0   100%
server / models / themes.py Theme   3 0 0   100%
server / models / themes.py Theme.Settings   0 0 0   100%
server / models / themes.py UserTheme   3 0 0   100%
server / models / themes.py UserTheme.Settings   0 0 0   100%
server / models / themes.py ThemeResponse   0 0 0   100%
server / models / themes.py ThemeUpdate   9 0 0   100%
server / models / themes.py ThemeApply   29 1 0   97%
server / models / themes.py (no class)   100 0 0   100%
server / models / users.py User   28 11 0   61%
server / models / users.py User.Settings   0 0 0   100%
server / models / users.py UserBio   20 1 0   95%
server / models / users.py ContactPerson   27 0 0   100%
server / models / users.py OfficeDetails   0 0 0   100%
server / models / users.py Education   0 0 0   100%
server / models / users.py EducationList   0 0 0   100%
server / models / users.py Student   8 8 0   0%
server / models / users.py StudentResponseModel   0 0 0   100%
server / models / users.py Teacher   9 9 0   0%
server / models / users.py TeacherResponseModel   0 0 0   100%
server / models / users.py Registration   11 11 0   0%
server / models / users.py UserAccount   0 0 0   100%
server / models / users.py UserAccounts   0 0 0   100%
server / models / users.py UserResponseModel   0 0 0   100%
server / models / users.py InitialUserAccountResponseModel   0 0 0   100%
server / models / users.py UpdatedUserViaSubscriber   1 1 0   0%
server / models / users.py UpdatedUserViaSubscriber.Config   0 0 0   100%
server / models / users.py UpdatedRole   1 1 0   0%
server / models / users.py UpdatedRole.Config   0 0 0   100%
server / models / users.py UpdatedStatus   1 1 0   0%
server / models / users.py UpdatedStatus.Config   0 0 0   100%
server / models / users.py (no class)   225 0 0   100%
server / rate_limit.py (no class)   31 4 0   87%
server / routes / auth0 / auth_routes.py LoginRequest   6 0 0   100%
server / routes / auth0 / auth_routes.py ForgotPasswordRequest   5 0 0   100%
server / routes / auth0 / auth_routes.py (no class)   192 16 0   92%
server / routes / common / assignments.py (no class)   35 1 0   97%
server / routes / common / auth0_webhook.py (no class)   127 5 0   96%
server / routes / common / health.py (no class)   9 0 0   100%
server / routes / common / users.py (no class)   2 0 0   100%
server / routes / student / student_account.py (no class)   60 2 1   97%
server / routes / student / student_assignments.py (no class)   35 0 1   100%
server / routes / student / student_classes.py (no class)   28 0 0   100%
server / routes / student / student_dashboard.py (no class)   26 0 1   100%
server / routes / student / student_dashboard_ws.py (no class)   63 8 0   87%
server / routes / student / student_features.py (no class)   42 6 0   86%
server / routes / student / student_theme.py (no class)   21 0 0   100%
server / routes / teacher / teacher_account.py (no class)   62 1 0   98%
server / routes / teacher / teacher_assignment.py (no class)   80 6 1   92%
server / routes / teacher / teacher_classes.py (no class)   64 0 0   100%
server / routes / teacher / teacher_dashboard.py (no class)   25 7 1   72%
server / routes / teacher / teacher_features.py (no class)   45 14 0   69%
server / routes / teacher / teacher_question.py AssignmentType   0 0 0   100%
server / routes / teacher / teacher_question.py QuestionType   0 0 0   100%
server / routes / teacher / teacher_question.py (no class)   78 0 0   100%
server / routes / teacher / teacher_question_import.py PastedQuestion   0 0 0   100%
server / routes / teacher / teacher_question_import.py (no class)   130 18 0   86%
server / routes / teacher / teacher_students.py (no class)   9 0 0   100%
server / routes / teacher / teacher_theme.py (no class)   19 0 0   100%
server / services / common / answer_checking.py (no class)   111 4 0   96%
server / services / common / assignments.py AssignmentsService   248 8 0   97%
server / services / common / assignments.py (no class)   44 1 0   98%
server / services / common / auth0_management.py Auth0ManagementService   75 14 0   81%
server / services / common / auth0_management.py (no class)   23 0 0   100%
server / services / common / password_update.py PasswordUpdateRequest   3 0 0   100%
server / services / common / password_update.py (no class)   54 0 0   100%
server / services / common / question_bank.py (no class)   70 3 0   96%
server / services / common / student_identity_sync.py (no class)   46 1 0   98%
server / services / common / theme_ownership.py (no class)   16 0 0   100%
server / services / common / users.py UsersService   278 32 0   88%
server / services / common / users.py (no class)   39 0 0   100%
server / services / growthbook / __init__.py (no class)   8 0 0   100%
server / services / growthbook / admin_db.py (no class)   3 1 0   67%
server / services / growthbook / cache.py TargetingContextCache   37 0 0   100%
server / services / growthbook / cache.py (no class)   15 0 0   100%
server / services / growthbook / catalog.py (no class)   20 0 0   100%
server / services / growthbook / client.py GrowthBookClientWrapper   69 0 0   100%
server / services / growthbook / client.py (no class)   18 0 0   100%
server / services / growthbook / config.py EvalMode   0 0 0   100%
server / services / growthbook / config.py GrowthBookSettings   0 0 0   100%
server / services / growthbook / config.py (no class)   22 0 0   100%
server / services / growthbook / context.py TargetingContext   5 0 0   100%
server / services / growthbook / context.py (no class)   82 0 0   100%
server / services / growthbook / dependencies.py (no class)   29 7 0   76%
server / services / growthbook / evaluation.py FeatureEvaluationResult   0 0 0   100%
server / services / growthbook / evaluation.py FeatureEvaluationService   47 15 0   68%
server / services / growthbook / evaluation.py (no class)   24 0 0   100%
server / services / growthbook / global_assignment_gate.py (no class)   24 0 0   100%
server / services / growthbook / organization.py (no class)   77 17 0   78%
server / services / growthbook / overrides.py FeatureSource   0 0 0   100%
server / services / growthbook / overrides.py (no class)   6 0 0   100%
server / services / growthbook / registry.py FeatureDefinition   0 0 0   100%
server / services / growthbook / registry.py (no class)   87 10 0   89%
server / services / growthbook / teacher_assignment_quota.py TeacherAssignmentQuota   1 1 0   0%
server / services / growthbook / teacher_assignment_quota.py (no class)   111 32 0   71%
server / services / growthbook / user_scope.py (no class)   64 0 0   100%
server / services / student / student_assignment.py StudentAssignmentsService   582 25 1   96%
server / services / student / student_assignment.py (no class)   83 0 0   100%
server / services / student / student_classes.py InvalidStudentRequest   2 0 0   100%
server / services / student / student_classes.py StudentClassesService   302 5 0   98%
server / services / student / student_classes.py (no class)   41 0 0   100%
server / services / student / student_dashboard.py DashboardService   111 0 0   100%
server / services / student / student_dashboard.py (no class)   23 0 0   100%
server / services / student / student_theme.py studentThemeService   79 2 0   97%
server / services / student / student_theme.py (no class)   16 0 0   100%
server / services / teacher / question_dedup.py (no class)   26 0 0   100%
server / services / teacher / question_import.py IngestUnavailable   0 0 0   100%
server / services / teacher / question_import.py IngestRejected   3 0 0   100%
server / services / teacher / question_import.py (no class)   75 3 0   96%
server / services / teacher / teacher_account.py TeacherAccountService   161 3 0   98%
server / services / teacher / teacher_account.py (no class)   17 0 0   100%
server / services / teacher / teacher_assignment.py TeacherAssignmentsService   826 54 3   93%
server / services / teacher / teacher_assignment.py (no class)   84 0 0   100%
server / services / teacher / teacher_classes.py InvalidStudentRequest   2 0 0   100%
server / services / teacher / teacher_classes.py TeacherClassesService   569 106 0   81%
server / services / teacher / teacher_classes.py (no class)   56 0 0   100%
server / services / teacher / teacher_dashboard.py TeacherDashboardService   40 3 0   92%
server / services / teacher / teacher_dashboard.py (no class)   11 0 0   100%
server / services / teacher / teacher_question.py TeacherQuestionService   671 84 1   87%
server / services / teacher / teacher_question.py (no class)   66 4 0   94%
server / services / teacher / teacher_theme.py TeacherThemeService   79 1 0   99%
server / services / teacher / teacher_theme.py (no class)   16 0 0   100%
server / utilities / __init__.py (no class)   0 0 0   100%
server / utilities / answer_match.py (no class)   22 0 0   100%
server / utilities / assignment_dedupe.py (no class)   35 1 0   97%
server / utilities / assignment_update.py (no class)   34 0 0   100%
server / utilities / class_dedupe.py (no class)   11 0 0   100%
server / utilities / class_limits.py (no class)   2 0 0   100%
server / utilities / email_utils.py (no class)   65 17 0   74%
server / utilities / error_detail.py (no class)   5 0 0   100%
server / utilities / exam_catalog.py (no class)   59 1 0   98%
server / utilities / file_handler.py FileHandler   9 0 0   100%
server / utilities / file_handler.py (no class)   7 0 0   100%
server / utilities / gradebook.py (no class)   63 1 0   98%
server / utilities / graph_data_checker.py (no class)   374 92 0   75%
server / utilities / helpers.py (no class)   23 0 0   100%
server / utilities / html_sanitizer.py (no class)   52 9 4   83%
server / utilities / image_processing.py (no class)   24 6 0   75%
server / utilities / model_parser.py JSONEncoder   5 0 0   100%
server / utilities / model_parser.py InvalidRoleException   2 0 0   100%
server / utilities / model_parser.py (no class)   139 16 0   88%
server / utilities / pagination.py (no class)   15 0 0   100%
server / utilities / readiness.py (no class)   22 0 0   100%
server / utilities / redis_url.py (no class)   12 0 0   100%
server / utilities / refresh_single_flight.py (no class)   78 5 4   94%
server / utilities / sample_payloads.py (no class)   15 0 0   100%
server / utilities / user_id_helper.py (no class)   26 1 0   96%
server / utilities / websocket_manager.py StudentDashboardWebSocketManager   35 0 0   100%
server / utilities / websocket_manager.py (no class)   13 0 0   100%
server / validators / accounts_validator.py (no class)   74 15 0   80%
server / validators / assignment_validator.py (no class)   39 1 0   97%
server / validators / class_code_validator.py (no class)   7 0 0   100%
server / validators / feature_enum.py StatusEnum   0 0 0   100%
server / validators / feature_enum.py PlanEnum   0 0 0   100%
server / validators / feature_enum.py (no class)   23 6 0   74%
server / validators / query_params_validators.py (no class)   6 0 0   100%
server / validators / question_bank / field_validations.py (no class)   119 8 0   93%
server / validators / question_bank / input_validations.py QuestionType   0 0 0   100%
server / validators / question_bank / input_validations.py AssignmentType   0 0 0   100%
server / validators / question_bank / input_validations.py Category   0 0 0   100%
server / validators / question_bank / input_validations.py DifficultyType   0 0 0   100%
server / validators / question_bank / input_validations.py DrawingMode   0 0 0   100%
server / validators / question_bank / input_validations.py Subject   0 0 0   100%
server / validators / question_bank / input_validations.py GradeLevel   0 0 0   100%
server / validators / question_bank / input_validations.py (no class)   57 0 0   100%
server / validators / question_class_enum.py TypeEnum   0 0 0   100%
server / validators / question_class_enum.py ResponseEnum   0 0 0   100%
server / validators / question_class_enum.py StatusEnum   0 0 0   100%
server / validators / question_class_enum.py ClassificationEnum   0 0 0   100%
server / validators / question_class_enum.py DifficultyEnum   0 0 0   100%
server / validators / question_class_enum.py CategoryEnum   0 0 0   100%
server / validators / question_class_enum.py ReadinessEnum   0 0 0   100%
server / validators / question_class_enum.py TEKSEnum   0 0 0   100%
server / validators / question_class_enum.py (no class)   88 0 0   100%
server / validators / question_request_root_validators.py (no class)   381 50 0   87%
server / validators / question_richtext.py (no class)   31 4 0   87%
server / validators / user_enum.py DesignationEnum   0 0 0   100%
server / validators / user_enum.py (no class)   13 0 0   100%
server / worker / __init__.py (no class)   0 0 0   100%
server / worker / auth0_reconciliation.py (no class)   176 15 0   91%
server / worker / celery_worker.py (no class)   16 0 0   100%
server / worker / student_identity_sync_task.py (no class)   34 17 0   50%
Total     11471 963 20   92%

No items found using the specified filter.