Coverage report: 91%

Files Functions Classes

coverage.py v7.17.0, created at 2026-10-24 19:06 +0000

File class   statements missing excluded   coverage
cluster/__init__.py (no class)   1 0 0   100%
cluster/forms.py Form   6 0 0   100%
cluster/forms.py Form.Meta   0 0 0   100%
cluster/forms.py FormDisabled   0 0 0   100%
cluster/forms.py (no class)   12 0 0   100%
cluster/models.py ModelManager   1 0 0   100%
cluster/models.py Model   5 2 0   60%
cluster/models.py Model.Meta   0 0 0   100%
cluster/models.py (no class)   26 0 0   100%
cluster/urls.py (no class)   4 0 0   100%
cluster/views.py ListView   0 0 0   100%
cluster/views.py DetailView   0 0 0   100%
cluster/views.py UpdateView   0 0 0   100%
cluster/views.py CreateView   0 0 0   100%
cluster/views.py DeleteView   0 0 0   100%
cluster/views.py BulkDeleteView   0 0 0   100%
cluster/views.py CSVExportView   0 0 0   100%
cluster/views.py (no class)   46 0 0   100%
clusterpackage/__init__.py (no class)   1 0 0   100%
clusterpackage/forms.py Form   22 1 0   95%
clusterpackage/forms.py Form.Meta   0 0 0   100%
clusterpackage/forms.py FormDisabled   0 0 0   100%
clusterpackage/forms.py (no class)   10 0 0   100%
clusterpackage/models.py ClusterPackageManager   9 4 0   56%
clusterpackage/models.py Model   5 2 0   60%
clusterpackage/models.py Model.Meta   0 0 0   100%
clusterpackage/models.py (no class)   34 0 0   100%
clusterpackage/urls.py (no class)   4 0 0   100%
clusterpackage/views.py ListView   5 0 0   100%
clusterpackage/views.py DetailView   5 2 0   60%
clusterpackage/views.py UpdateView   12 2 0   83%
clusterpackage/views.py CreateView   9 0 0   100%
clusterpackage/views.py DeleteView   5 2 0   60%
clusterpackage/views.py BulkDeleteView   0 0 0   100%
clusterpackage/views.py CSVExportView   0 0 0   100%
clusterpackage/views.py (no class)   57 0 2   100%
clusterpackagetype/__init__.py (no class)   1 0 0   100%
clusterpackagetype/forms.py Form   0 0 0   100%
clusterpackagetype/forms.py Form.Meta   0 0 0   100%
clusterpackagetype/forms.py FormDisabled   0 0 0   100%
clusterpackagetype/forms.py (no class)   7 0 0   100%
clusterpackagetype/models.py ClusterPackageTypeManager   1 0 0   100%
clusterpackagetype/models.py Model   5 2 0   60%
clusterpackagetype/models.py Model.Meta   0 0 0   100%
clusterpackagetype/models.py (no class)   25 0 0   100%
clusterpackagetype/urls.py (no class)   4 0 0   100%
clusterpackagetype/views.py ListView   1 0 0   100%
clusterpackagetype/views.py DetailView   0 0 0   100%
clusterpackagetype/views.py UpdateView   0 0 0   100%
clusterpackagetype/views.py CreateView   0 0 0   100%
clusterpackagetype/views.py DeleteView   0 0 0   100%
clusterpackagetype/views.py BulkDeleteView   0 0 0   100%
clusterpackagetype/views.py CSVExportView   0 0 0   100%
clusterpackagetype/views.py (no class)   47 0 0   100%
clustersoftware/__init__.py (no class)   1 0 0   100%
clustersoftware/forms.py Form   2 0 0   100%
clustersoftware/forms.py Form.Meta   0 0 0   100%
clustersoftware/forms.py FormDisabled   0 0 0   100%
clustersoftware/forms.py (no class)   10 0 0   100%
clustersoftware/models.py ClusterSoftwareManager   3 1 0   67%
clustersoftware/models.py Model   8 2 1   75%
clustersoftware/models.py Model.Meta   0 0 0   100%
clustersoftware/models.py (no class)   29 0 0   100%
clustersoftware/urls.py (no class)   4 0 0   100%
clustersoftware/views.py ListView   1 0 0   100%
clustersoftware/views.py DetailView   0 0 0   100%
clustersoftware/views.py UpdateView   0 0 0   100%
clustersoftware/views.py CreateView   8 1 0   88%
clustersoftware/views.py DeleteView   0 0 0   100%
clustersoftware/views.py BulkDeleteView   0 0 0   100%
clustersoftware/views.py CSVExportView   0 0 0   100%
clustersoftware/views.py (no class)   48 0 0   100%
domain/__init__.py (no class)   1 0 0   100%
domain/forms.py Form   0 0 0   100%
domain/forms.py Form.Meta   0 0 0   100%
domain/forms.py FormDisabled   0 0 0   100%
domain/forms.py (no class)   7 0 0   100%
domain/models.py ModelManager   1 0 0   100%
domain/models.py Model   5 2 0   60%
domain/models.py Model.Meta   0 0 0   100%
domain/models.py (no class)   25 0 0   100%
domain/urls.py (no class)   4 0 0   100%
domain/views.py ListView   0 0 0   100%
domain/views.py DetailView   0 0 0   100%
domain/views.py UpdateView   0 0 0   100%
domain/views.py CreateView   0 0 0   100%
domain/views.py DeleteView   0 0 0   100%
domain/views.py BulkDeleteView   0 0 0   100%
domain/views.py CSVExportView   0 0 0   100%
domain/views.py (no class)   47 0 2   100%
location/__init__.py (no class)   1 0 0   100%
location/forms.py Form   0 0 0   100%
location/forms.py Form.Meta   0 0 0   100%
location/forms.py FormDisabled   0 0 0   100%
location/forms.py (no class)   7 0 0   100%
location/models.py LocationManager   1 0 0   100%
location/models.py Model   7 2 0   71%
location/models.py Model.Meta   0 0 0   100%
location/models.py (no class)   27 0 0   100%
location/urls.py (no class)   4 0 0   100%
location/views.py ListView   0 0 0   100%
location/views.py DetailView   0 0 0   100%
location/views.py UpdateView   0 0 0   100%
location/views.py CreateView   0 0 0   100%
location/views.py DeleteView   0 0 0   100%
location/views.py BulkDeleteView   0 0 0   100%
location/views.py CSVExportView   0 0 0   100%
location/views.py (no class)   46 0 0   100%
operatingsystem/__init__.py (no class)   1 0 0   100%
operatingsystem/forms.py Form   2 0 0   100%
operatingsystem/forms.py Form.Meta   0 0 0   100%
operatingsystem/forms.py FormDisabled   0 0 0   100%
operatingsystem/forms.py (no class)   10 0 0   100%
operatingsystem/models.py Manager   47 6 3   87%
operatingsystem/models.py Model   9 4 0   56%
operatingsystem/models.py Model.Meta   0 0 0   100%
operatingsystem/models.py (no class)   29 0 0   100%
operatingsystem/urls.py (no class)   4 0 0   100%
operatingsystem/views.py ListView   7 0 0   100%
operatingsystem/views.py DetailView   0 0 0   100%
operatingsystem/views.py UpdateView   0 0 0   100%
operatingsystem/views.py CreateView   4 1 0   75%
operatingsystem/views.py DeleteView   0 0 0   100%
operatingsystem/views.py CSVExportView   0 0 0   100%
operatingsystem/views.py (no class)   49 0 0   100%
patchtime/__init__.py (no class)   1 0 0   100%
patchtime/forms.py Form   0 0 0   100%
patchtime/forms.py Form.Meta   0 0 0   100%
patchtime/forms.py FormDisabled   0 0 0   100%
patchtime/forms.py (no class)   7 0 0   100%
patchtime/models.py ModelManager   1 0 0   100%
patchtime/models.py Model   5 2 0   60%
patchtime/models.py Model.Meta   0 0 0   100%
patchtime/models.py (no class)   25 0 0   100%
patchtime/urls.py (no class)   4 0 0   100%
patchtime/views.py ListView   0 0 0   100%
patchtime/views.py DetailView   0 0 0   100%
patchtime/views.py UpdateView   0 0 0   100%
patchtime/views.py CreateView   0 0 0   100%
patchtime/views.py DeleteView   0 0 0   100%
patchtime/views.py BulkDeleteView   0 0 0   100%
patchtime/views.py CSVExportView   0 0 0   100%
patchtime/views.py (no class)   46 0 0   100%
server/__init__.py (no class)   1 0 0   100%
server/forms.py Form   5 0 2   100%
server/forms.py Form.Meta   0 0 0   100%
server/forms.py FormDisabled   0 0 0   100%
server/forms.py BulkActionForm   0 0 0   100%
server/forms.py (no class)   16 0 0   100%
server/models.py ServerManager   3 3 0   0%
server/models.py Model   11 4 0   64%
server/models.py Model.Meta   0 0 0   100%
server/models.py (no class)   59 0 0   100%
server/urls.py (no class)   4 0 0   100%
server/views.py ListView   8 0 0   100%
server/views.py BulkActionView   39 8 0   79%
server/views.py DecommissionView   8 0 0   100%
server/views.py RestoreView   8 2 0   75%
server/views.py DetailView   0 0 0   100%
server/views.py UpdateView   0 0 0   100%
server/views.py CreateView   0 0 0   100%
server/views.py DeleteView   0 0 0   100%
server/views.py SearchView   0 0 0   100%
server/views.py CSVExportView   0 0 0   100%
server/views.py (no class)   63 0 0   100%
servermodel/__init__.py (no class)   1 0 0   100%
servermodel/forms.py Form   2 0 0   100%
servermodel/forms.py Form.Meta   0 0 0   100%
servermodel/forms.py FormDisabled   0 0 0   100%
servermodel/forms.py (no class)   10 0 0   100%
servermodel/models.py ServerModelManager   3 1 0   67%
servermodel/models.py Model   5 2 0   60%
servermodel/models.py Model.Meta   0 0 0   100%
servermodel/models.py (no class)   28 0 0   100%
servermodel/urls.py (no class)   4 0 0   100%
servermodel/views.py ListView   7 0 0   100%
servermodel/views.py DetailView   0 0 0   100%
servermodel/views.py UpdateView   0 0 0   100%
servermodel/views.py CreateView   8 1 0   88%
servermodel/views.py DeleteView   0 0 0   100%
servermodel/views.py CSVExportView   0 0 0   100%
servermodel/views.py (no class)   48 0 0   100%
sm/__init__.py (no class)   0 0 0   100%
sm/adapter.py MySocialAccountAdapter   12 0 0   100%
sm/adapter.py (no class)   4 0 0   100%
sm/admin.py HistoryAdmin   0 0 0   100%
sm/admin.py GroupProfileAdmin   0 0 0   100%
sm/admin.py InvitationAdmin   0 0 0   100%
sm/admin.py ApiKeyAdmin   0 0 0   100%
sm/admin.py PatchtimeAdmin   0 0 0   100%
sm/admin.py ServerAdmin   0 0 0   100%
sm/admin.py ServermodelAdmin   0 0 0   100%
sm/admin.py StatusAdmin   0 0 0   100%
sm/admin.py DomainAdmin   0 0 0   100%
sm/admin.py LocationAdmin   0 0 0   100%
sm/admin.py VendorAdmin   0 0 0   100%
sm/admin.py OperatingsystemAdmin   0 0 0   100%
sm/admin.py ClusterAdmin   0 0 0   100%
sm/admin.py ClusterPackageAdmin   0 0 0   100%
sm/admin.py ClusterSoftwareAdmin   0 0 0   100%
sm/admin.py ClusterPackageTypeAdmin   0 0 0   100%
sm/admin.py GroupProfileInline   0 0 0   100%
sm/admin.py GroupAdminWithProfile   6 6 0   0%
sm/admin.py UserAdminWithGroups   0 0 0   100%
sm/admin.py (no class)   110 0 0   100%
sm/api/authentication.py ApiKeyAuthentication   20 0 0   100%
sm/api/authentication.py ApiKeyAuthenticationScheme   2 2 0   0%
sm/api/authentication.py (no class)   17 0 0   100%
sm/api/permissions.py SmModelPermissions   0 0 0   100%
sm/api/permissions.py (no class)   3 0 0   100%
sm/api/serializers.py TenantSlugRelatedField   4 1 0   75%
sm/api/serializers.py TenantPrimaryKeyRelatedField   4 1 0   75%
sm/api/serializers.py VendorSerializer   0 0 0   100%
sm/api/serializers.py VendorSerializer.Meta   0 0 0   100%
sm/api/serializers.py StatusSerializer   0 0 0   100%
sm/api/serializers.py StatusSerializer.Meta   0 0 0   100%
sm/api/serializers.py OSSerializer   0 0 0   100%
sm/api/serializers.py OSSerializer.Meta   0 0 0   100%
sm/api/serializers.py ServerModelSerializer   0 0 0   100%
sm/api/serializers.py ServerModelSerializer.Meta   0 0 0   100%
sm/api/serializers.py CoercingDateField   3 0 0   100%
sm/api/serializers.py ServerSerializer   3 0 0   100%
sm/api/serializers.py ServerSerializer.Meta   0 0 0   100%
sm/api/serializers.py LocationSerializer   0 0 0   100%
sm/api/serializers.py LocationSerializer.Meta   0 0 0   100%
sm/api/serializers.py DomainSerializer   0 0 0   100%
sm/api/serializers.py DomainSerializer.Meta   0 0 0   100%
sm/api/serializers.py PatchtimeSerializer   0 0 0   100%
sm/api/serializers.py PatchtimeSerializer.Meta   0 0 0   100%
sm/api/serializers.py ClusterSerializer   0 0 0   100%
sm/api/serializers.py ClusterSerializer.Meta   0 0 0   100%
sm/api/serializers.py ClusterPackageSerializer   17 2 0   88%
sm/api/serializers.py ClusterPackageSerializer.Meta   0 0 0   100%
sm/api/serializers.py ClusterSoftwareSerializer   0 0 0   100%
sm/api/serializers.py ClusterSoftwareSerializer.Meta   0 0 0   100%
sm/api/serializers.py ClusterPackageTypeSerializer   0 0 0   100%
sm/api/serializers.py ClusterPackageTypeSerializer.Meta   0 0 0   100%
sm/api/serializers.py (no class)   108 0 0   100%
sm/api/views.py ServerViewSet   0 0 0   100%
sm/api/views.py VendorViewSet   0 0 0   100%
sm/api/views.py StatusViewSet   0 0 0   100%
sm/api/views.py LocationViewSet   0 0 0   100%
sm/api/views.py DomainViewSet   0 0 0   100%
sm/api/views.py PatchtimeViewSet   0 0 0   100%
sm/api/views.py OSViewSet   0 0 0   100%
sm/api/views.py ServerModelViewSet   0 0 0   100%
sm/api/views.py ClusterViewSet   0 0 0   100%
sm/api/views.py ClusterPackageViewSet   0 0 0   100%
sm/api/views.py ClusterSoftwareViewSet   0 0 0   100%
sm/api/views.py ClusterPackageTypeViewSet   0 0 0   100%
sm/api/views.py (no class)   88 0 0   100%
sm/apps.py SmConfig   4 0 0   100%
sm/apps.py (no class)   5 0 0   100%
sm/context_processors.py (no class)   4 0 0   100%
sm/forms.py SMForm   8 0 0   100%
sm/forms.py SMForm.Meta   0 0 0   100%
sm/forms.py UniquePerGroupMixin   15 1 0   93%
sm/forms.py BulkActionForm   0 0 0   100%
sm/forms.py SMFormDisabled   7 0 0   100%
sm/forms.py SMFormDisabled.Meta   0 0 0   100%
sm/forms.py (no class)   19 0 0   100%
sm/forms_admin.py GroupProfileForm   0 0 0   100%
sm/forms_admin.py GroupProfileForm.Meta   0 0 0   100%
sm/forms_admin.py (no class)   6 0 0   100%
sm/management/__init__.py (no class)   0 0 0   100%
sm/management/commands/__init__.py (no class)   0 0 0   100%
sm/management/commands/add_testdata.py Command   25 25 0   0%
sm/management/commands/add_testdata.py (no class)   6 6 0   0%
sm/management/commands/cleanup_api_keys.py Command   22 0 0   100%
sm/management/commands/cleanup_api_keys.py (no class)   8 0 0   100%
sm/mixins.py BulkActionMixin   7 0 0   100%
sm/mixins.py MultiTenantMixin   72 4 0   94%
sm/mixins.py APIMultiTenantMixin   63 13 0   79%
sm/mixins.py (no class)   84 2 0   98%
sm/models.py GroupProfile   1 1 0   0%
sm/models.py GroupProfile.Meta   0 0 0   100%
sm/models.py Invitation   2 1 0   50%
sm/models.py Invitation.Meta   0 0 0   100%
sm/models.py ApiKey   10 0 0   100%
sm/models.py ApiKey.Meta   0 0 0   100%
sm/models.py (no class)   70 1 0   99%
sm/notifications.py (no class)   45 5 0   89%
sm/patches.py (no class)   21 2 0   90%
sm/runner.py SmTestRunner   15 3 0   80%
sm/runner.py (no class)   3 0 0   100%
sm/settings.py (no class)   126 30 0   76%
sm/signals.py (no class)   10 4 0   60%
sm/template/__init__.py (no class)   0 0 0   100%
sm/template/loaders/__init__.py (no class)   0 0 0   100%
sm/template/loaders/app_directories_enhanced.py Loader   6 0 0   100%
sm/template/loaders/app_directories_enhanced.py (no class)   7 0 0   100%
sm/templatetags/__init__.py (no class)   0 0 0   100%
sm/templatetags/avatar_tags.py (no class)   9 0 0   100%
sm/templatetags/history_url_tags.py (no class)   8 0 0   100%
sm/templatetags/sm_history_tags.py (no class)   34 6 0   82%
sm/templatetags/sm_theme_bootstrap_tags.py (no class)   24 1 0   96%
sm/templatetags/social_tags.py (no class)   29 13 0   55%
sm/urls.py (no class)   33 2 0   94%
sm/utils.py (no class)   11 0 0   100%
sm/utils_permissions.py (no class)   25 5 0   80%
sm/utils_starterpack.py (no class)   44 5 0   89%
sm/views.py SafeDeleteMixin   11 1 0   91%
sm/views.py GenericBulkDeleteView   34 14 0   59%
sm/views.py GenericCSVExportView   31 4 0   87%
sm/views.py DashboardView   16 1 0   94%
sm/views.py SearchView   35 3 0   91%
sm/views.py HistoryDiffView   16 1 0   94%
sm/views.py PatchScheduleView   19 4 0   79%
sm/views.py ImportStarterPackView   8 2 0   75%
sm/views.py TermsView   0 0 0   100%
sm/views.py PrivacyView   0 0 0   100%
sm/views.py ImpressumView   0 0 0   100%
sm/views.py HealthView   11 4 0   64%
sm/views.py (no class)   72 0 0   100%
sm/views_admin.py StaffRequiredMixin   1 0 0   100%
sm/views_admin.py UserListView   3 0 0   100%
sm/views_admin.py GroupProfileUpdateView   3 0 0   100%
sm/views_admin.py (no class)   23 0 0   100%
sm/views_api_keys.py CreateApiKeyForm   2 0 0   100%
sm/views_api_keys.py ApiKeyListView   14 0 0   100%
sm/views_api_keys.py RevokeApiKeyView   6 0 0   100%
sm/views_api_keys.py RotateApiKeyView   9 0 0   100%
sm/views_api_keys.py (no class)   29 0 0   100%
sm/views_audit.py AuditLogView   33 3 0   91%
sm/views_audit.py (no class)   12 0 0   100%
sm/views_avatars.py (no class)   36 9 0   75%
sm/views_group.py GroupOwnerRequiredMixin   3 1 0   67%
sm/views_group.py GroupMemberListView   3 1 0   67%
sm/views_group.py AddGroupMemberForm   7 0 0   100%
sm/views_group.py CreateGroupForm   0 0 0   100%
sm/views_group.py AddGroupMemberView   12 1 0   92%
sm/views_group.py RemoveGroupMemberView   11 1 0   91%
sm/views_group.py GroupPermissionForm   18 0 0   100%
sm/views_group.py GroupPermissionUpdateView   10 1 0   90%
sm/views_group.py UserPermissionForm   23 23 0   0%
sm/views_group.py UserPermissionUpdateView   13 13 0   0%
sm/views_group.py InviteGroupMemberForm   4 1 0   75%
sm/views_group.py InviteGroupMemberView   20 1 0   95%
sm/views_group.py AcceptInvitationView   48 15 0   69%
sm/views_group.py GroupFilterView   18 0 0   100%
sm/views_group.py GroupCreateView   23 2 0   91%
sm/views_group.py (no class)   79 0 0   100%
sm/views_onboarding.py GroupOnboardingView   20 7 0   65%
sm/views_onboarding.py OnboardingBannerContext   5 5 0   0%
sm/views_onboarding.py (no class)   21 0 0   100%
sm/views_profile.py UserProfileForm   4 0 0   100%
sm/views_profile.py UserProfileForm.Meta   0 0 0   100%
sm/views_profile.py ProfileView   9 0 0   100%
sm/views_profile.py (no class)   19 0 0   100%
sm/wsgi.py (no class)   4 0 0   100%
status/__init__.py (no class)   1 0 0   100%
status/forms.py Form   0 0 0   100%
status/forms.py Form.Meta   0 0 0   100%
status/forms.py FormDisabled   0 0 0   100%
status/forms.py (no class)   7 0 0   100%
status/models.py ModelManager   1 0 0   100%
status/models.py Model   5 2 0   60%
status/models.py Model.Meta   0 0 0   100%
status/models.py (no class)   25 0 0   100%
status/urls.py (no class)   4 0 0   100%
status/views.py ListView   0 0 0   100%
status/views.py DetailView   0 0 0   100%
status/views.py UpdateView   0 0 0   100%
status/views.py CreateView   0 0 0   100%
status/views.py DeleteView   0 0 0   100%
status/views.py BulkDeleteView   0 0 0   100%
status/views.py CSVExportView   0 0 0   100%
status/views.py (no class)   46 0 0   100%
vendor/__init__.py (no class)   1 0 0   100%
vendor/forms.py Form   0 0 0   100%
vendor/forms.py Form.Meta   0 0 0   100%
vendor/forms.py FormDisabled   0 0 0   100%
vendor/forms.py (no class)   7 0 0   100%
vendor/models.py VendorManager   1 0 0   100%
vendor/models.py Model   5 2 0   60%
vendor/models.py Model.Meta   0 0 0   100%
vendor/models.py (no class)   27 0 0   100%
vendor/urls.py (no class)   4 0 0   100%
vendor/views.py ListView   0 0 0   100%
vendor/views.py DetailView   0 0 0   100%
vendor/views.py UpdateView   0 0 0   100%
vendor/views.py CreateView   0 0 0   100%
vendor/views.py DeleteView   0 0 0   100%
vendor/views.py BulkDeleteView   0 0 0   100%
vendor/views.py CSVExportView   0 0 0   100%
vendor/views.py (no class)   47 0 2   100%
Total     3527 323 12   91%

No items found using the specified filter.