Coverage report: 59%

Files Functions Classes

coverage.py v7.15.2, created at 2026-10-10 18:35 +0000

      Statements   Branches   Total
File class   coverage statements missing excluded   coverage branches partial   coverage
account/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
account/models.py UserToken   0% 1 1 0   100% 0 0   0%
account/models.py UserToken.Meta   100% 0 0 0   100% 0 0   100%
account/models.py (no class)   100% 8 0 0   100% 0 0   100%
account/urls.py (no class)   100% 5 0 0   100% 0 0   100%
account/views.py LoginView   17% 59 49 0   8% 26 2   14%
account/views.py LogoutView   0% 9 9 0   100% 0 0   0%
account/views.py SocialAuthBeginView   0% 8 8 0   0% 6 0   0%
account/views.py ProfileView   0% 5 5 0   100% 0 0   0%
account/views.py UserConfigView   0% 14 14 0   0% 4 0   0%
account/views.py ChangePasswordView   0% 12 12 0   0% 4 0   0%
account/views.py BookmarkListView   0% 2 2 0   100% 0 0   0%
account/views.py NotificationListView   0% 2 2 0   100% 0 0   0%
account/views.py SubscriptionListView   0% 2 2 0   100% 0 0   0%
account/views.py UserTokenListView   0% 5 5 0   100% 0 0   0%
account/views.py UserTokenView   0% 4 4 0   100% 0 0   0%
account/views.py UserTokenEditView   0% 4 4 0   0% 2 0   0%
account/views.py UserTokenDeleteView   100% 0 0 0   100% 0 0   100%
account/views.py (no class)   100% 95 0 0   100% 0 0   100%
circuits/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
circuits/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
circuits/api/serializers.py (no class)   100% 2 0 0   100% 0 0   100%
circuits/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitTypeSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitCircuitTerminationSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitCircuitTerminationSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitGroupSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitGroupAssignmentSerializer_   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitGroupAssignmentSerializer_.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitTerminationSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitTerminationSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitGroupAssignmentSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py CircuitGroupAssignmentSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py VirtualCircuitTypeSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py VirtualCircuitTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py VirtualCircuitSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py VirtualCircuitSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py VirtualCircuitTerminationSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py VirtualCircuitTerminationSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/circuits.py (no class)   100% 95 0 0   100% 0 0   100%
circuits/api/serializers_/nested.py NestedProviderAccountSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/nested.py NestedProviderAccountSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/nested.py (no class)   100% 7 0 0   100% 0 0   100%
circuits/api/serializers_/providers.py ProviderSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/providers.py ProviderSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/providers.py ProviderAccountSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/providers.py ProviderAccountSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/providers.py ProviderNetworkSerializer   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/providers.py ProviderNetworkSerializer.Meta   100% 0 0 0   100% 0 0   100%
circuits/api/serializers_/providers.py (no class)   100% 29 0 0   100% 0 0   100%
circuits/api/urls.py (no class)   100% 17 0 0   100% 0 0   100%
circuits/api/views.py CircuitsRootView   0% 1 1 0   100% 0 0   0%
circuits/api/views.py ProviderViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py CircuitTypeViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py CircuitViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py CircuitTerminationViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py CircuitGroupViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py CircuitGroupAssignmentViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py ProviderAccountViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py ProviderNetworkViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py VirtualCircuitTypeViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py VirtualCircuitViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py VirtualCircuitTerminationViewSet   100% 0 0 0   100% 0 0   100%
circuits/api/views.py (no class)   100% 52 0 0   100% 0 0   100%
circuits/apps.py CircuitsConfig   100% 3 0 0   100% 0 0   100%
circuits/apps.py (no class)   100% 5 0 0   100% 0 0   100%
circuits/choices.py CircuitStatusChoices   100% 0 0 0   100% 0 0   100%
circuits/choices.py CircuitCommitRateChoices   100% 0 0 0   100% 0 0   100%
circuits/choices.py CircuitTerminationSideChoices   100% 0 0 0   100% 0 0   100%
circuits/choices.py CircuitTerminationPortSpeedChoices   100% 0 0 0   100% 0 0   100%
circuits/choices.py CircuitPriorityChoices   100% 0 0 0   100% 0 0   100%
circuits/choices.py VirtualCircuitTerminationRoleChoices   100% 0 0 0   100% 0 0   100%
circuits/choices.py (no class)   100% 33 0 0   100% 0 0   100%
circuits/constants.py (no class)   100% 3 0 0   100% 0 0   100%
circuits/filtersets.py ProviderFilterSet   0% 3 3 0   0% 2 0   0%
circuits/filtersets.py ProviderFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py ProviderAccountFilterSet   0% 3 3 0   0% 2 0   0%
circuits/filtersets.py ProviderAccountFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py ProviderNetworkFilterSet   0% 3 3 0   0% 2 0   0%
circuits/filtersets.py ProviderNetworkFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py CircuitTypeFilterSet   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py CircuitTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py CircuitFilterSet   0% 3 3 0   0% 2 0   0%
circuits/filtersets.py CircuitFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py CircuitTerminationFilterSet   0% 3 3 0   0% 2 0   0%
circuits/filtersets.py CircuitTerminationFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py CircuitGroupFilterSet   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py CircuitGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py CircuitGroupAssignmentFilterSet   0% 17 17 0   0% 8 0   0%
circuits/filtersets.py CircuitGroupAssignmentFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py VirtualCircuitTypeFilterSet   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py VirtualCircuitTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py VirtualCircuitFilterSet   0% 3 3 0   0% 2 0   0%
circuits/filtersets.py VirtualCircuitFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py VirtualCircuitTerminationFilterSet   0% 3 3 0   0% 2 0   0%
circuits/filtersets.py VirtualCircuitTerminationFilterSet.Meta   100% 0 0 0   100% 0 0   100%
circuits/filtersets.py (no class)   100% 151 0 0   100% 0 0   100%
circuits/forms/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py ProviderBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py ProviderAccountBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py ProviderNetworkBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py CircuitTypeBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py CircuitBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py CircuitTerminationBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py CircuitGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py CircuitGroupAssignmentBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py VirtualCircuitTypeBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py VirtualCircuitBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py VirtualCircuitTerminationBulkEditForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_edit.py (no class)   100% 89 0 0   100% 0 0   100%
circuits/forms/bulk_import.py ProviderImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py ProviderImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py ProviderAccountImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py ProviderAccountImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py ProviderNetworkImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py ProviderNetworkImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitTypeImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py BaseCircuitTerminationImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitTerminationImportRelatedForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitTerminationImportRelatedForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitTerminationImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitTerminationImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitGroupImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitGroupAssignmentImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py CircuitGroupAssignmentImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitTypeImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py BaseVirtualCircuitTerminationImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitTerminationImportRelatedForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitTerminationImportRelatedForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitTerminationImportForm   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py VirtualCircuitTerminationImportForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/bulk_import.py (no class)   100% 92 0 0   100% 0 0   100%
circuits/forms/filtersets.py ProviderFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py ProviderAccountFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py ProviderNetworkFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py CircuitTypeFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py CircuitFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py CircuitTerminationFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py CircuitGroupFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py CircuitGroupAssignmentFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py VirtualCircuitTypeFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py VirtualCircuitFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py VirtualCircuitTerminationFilterForm   100% 0 0 0   100% 0 0   100%
circuits/forms/filtersets.py (no class)   100% 105 0 0   100% 0 0   100%
circuits/forms/model_forms.py ProviderForm   0% 10 10 0   0% 4 0   0%
circuits/forms/model_forms.py ProviderForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py ProviderAccountForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py ProviderAccountForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py ProviderNetworkForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py ProviderNetworkForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitTypeForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitTypeForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitTerminationForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitTerminationForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitGroupForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitGroupForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitGroupAssignmentForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py CircuitGroupAssignmentForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py VirtualCircuitTypeForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py VirtualCircuitTypeForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py VirtualCircuitForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py VirtualCircuitForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py VirtualCircuitTerminationForm   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py VirtualCircuitTerminationForm.Meta   100% 0 0 0   100% 0 0   100%
circuits/forms/model_forms.py (no class)   100% 98 0 0   100% 0 0   100%
circuits/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
circuits/graphql/enums.py (no class)   100% 7 0 0   100% 0 0   100%
circuits/graphql/filter_mixins.py CircuitTypeFilterMixin   100% 0 0 0   100% 0 0   100%
circuits/graphql/filter_mixins.py (no class)   91% 11 1 0   50% 2 1   85%
circuits/graphql/filters.py CircuitTerminationFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py CircuitFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py CircuitTypeFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py CircuitGroupFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py CircuitGroupAssignmentFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py ProviderFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py ProviderAccountFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py ProviderNetworkFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py VirtualCircuitTypeFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py VirtualCircuitFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py VirtualCircuitTerminationFilter   100% 0 0 0   100% 0 0   100%
circuits/graphql/filters.py (no class)   95% 102 5 0   50% 2 1   94%
circuits/graphql/schema.py CircuitsQuery   100% 0 0 0   100% 0 0   100%
circuits/graphql/schema.py (no class)   100% 27 0 0   100% 0 0   100%
circuits/graphql/types.py ProviderType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py ProviderAccountType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py ProviderNetworkType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py CircuitTerminationType   0% 1 1 0   100% 0 0   0%
circuits/graphql/types.py CircuitTypeType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py CircuitType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py CircuitGroupType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py CircuitGroupAssignmentType   0% 1 1 0   100% 0 0   0%
circuits/graphql/types.py VirtualCircuitTypeType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py VirtualCircuitTerminationType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py VirtualCircuitType   100% 0 0 0   100% 0 0   100%
circuits/graphql/types.py (no class)   96% 45 2 0   50% 2 1   94%
circuits/models/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
circuits/models/base.py BaseCircuitType   100% 0 0 0   100% 0 0   100%
circuits/models/base.py BaseCircuitType.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/base.py (no class)   100% 8 0 0   100% 0 0   100%
circuits/models/circuits.py CircuitType   100% 0 0 0   100% 0 0   100%
circuits/models/circuits.py CircuitType.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/circuits.py Circuit   0% 5 5 0   0% 2 0   0%
circuits/models/circuits.py Circuit.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/circuits.py CircuitGroup   100% 1 0 0   100% 0 0   100%
circuits/models/circuits.py CircuitGroup.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/circuits.py CircuitGroupAssignment   0% 4 4 0   0% 2 0   0%
circuits/models/circuits.py CircuitGroupAssignment.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/circuits.py CircuitTermination   0% 55 55 0   0% 22 0   0%
circuits/models/circuits.py CircuitTermination.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/circuits.py (no class)   100% 99 0 0   100% 0 0   100%
circuits/models/providers.py Provider   0% 1 1 0   100% 0 0   0%
circuits/models/providers.py Provider.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/providers.py ProviderAccount   0% 3 3 0   0% 2 0   0%
circuits/models/providers.py ProviderAccount.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/providers.py ProviderNetwork   0% 1 1 0   100% 0 0   0%
circuits/models/providers.py ProviderNetwork.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/providers.py (no class)   100% 37 0 0   100% 0 0   100%
circuits/models/virtual_circuits.py VirtualCircuitType   100% 0 0 0   100% 0 0   100%
circuits/models/virtual_circuits.py VirtualCircuitType.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/virtual_circuits.py VirtualCircuit   0% 6 6 0   0% 2 0   0%
circuits/models/virtual_circuits.py VirtualCircuit.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/virtual_circuits.py VirtualCircuitTermination   0% 17 17 0   0% 8 0   0%
circuits/models/virtual_circuits.py VirtualCircuitTermination.Meta   100% 0 0 0   100% 0 0   100%
circuits/models/virtual_circuits.py (no class)   100% 56 0 0   100% 0 0   100%
circuits/search.py CircuitIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py CircuitGroupIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py CircuitTerminationIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py CircuitTypeIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py ProviderIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py ProviderAccountIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py ProviderNetworkIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py VirtualCircuitIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py VirtualCircuitTerminationIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py VirtualCircuitTypeIndex   100% 0 0 0   100% 0 0   100%
circuits/search.py (no class)   100% 52 0 0   100% 0 0   100%
circuits/signals.py (no class)   60% 10 4 0   0% 4 0   43%
circuits/tables/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitTypeTable   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitTypeTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitTable   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitTerminationTable   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitTerminationTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitGroupTable   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitGroupTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitGroupAssignmentTable   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py CircuitGroupAssignmentTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/circuits.py (no class)   100% 67 0 0   100% 0 0   100%
circuits/tables/columns.py CommitRateColumn   50% 2 1 0   100% 0 0   50%
circuits/tables/columns.py (no class)   100% 6 0 0   100% 0 0   100%
circuits/tables/providers.py ProviderTable   100% 0 0 0   100% 0 0   100%
circuits/tables/providers.py ProviderTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/providers.py ProviderAccountTable   100% 0 0 0   100% 0 0   100%
circuits/tables/providers.py ProviderAccountTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/providers.py ProviderNetworkTable   100% 0 0 0   100% 0 0   100%
circuits/tables/providers.py ProviderNetworkTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/providers.py (no class)   100% 37 0 0   100% 0 0   100%
circuits/tables/virtual_circuits.py VirtualCircuitTypeTable   100% 0 0 0   100% 0 0   100%
circuits/tables/virtual_circuits.py VirtualCircuitTypeTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/virtual_circuits.py VirtualCircuitTable   100% 0 0 0   100% 0 0   100%
circuits/tables/virtual_circuits.py VirtualCircuitTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/virtual_circuits.py VirtualCircuitTerminationTable   100% 0 0 0   100% 0 0   100%
circuits/tables/virtual_circuits.py VirtualCircuitTerminationTable.Meta   100% 0 0 0   100% 0 0   100%
circuits/tables/virtual_circuits.py (no class)   100% 40 0 0   100% 0 0   100%
circuits/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py CircuitCircuitTerminationPanel   14% 14 12 0   0% 6 0   10%
circuits/ui/panels.py CircuitGroupAssignmentsPanel   100% 1 0 0   100% 0 0   100%
circuits/ui/panels.py CircuitTerminationPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py CircuitGroupPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py CircuitGroupAssignmentPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py CircuitPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py CircuitTypePanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py ProviderPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py ProviderAccountPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py ProviderNetworkPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py VirtualCircuitTypePanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py VirtualCircuitPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py VirtualCircuitTerminationPanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py VirtualCircuitTerminationInterfacePanel   100% 0 0 0   100% 0 0   100%
circuits/ui/panels.py (no class)   100% 83 0 0   100% 0 0   100%
circuits/urls.py (no class)   100% 5 0 0   100% 0 0   100%
circuits/views.py ProviderListView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderView   0% 1 1 0   100% 0 0   0%
circuits/views.py ProviderEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderAccountListView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderAccountView   0% 1 1 0   100% 0 0   0%
circuits/views.py ProviderAccountEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderAccountDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderAccountBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderAccountBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderAccountBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderAccountBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderNetworkListView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderNetworkView   0% 1 1 0   100% 0 0   0%
circuits/views.py ProviderNetworkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderNetworkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderNetworkBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderNetworkBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderNetworkBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py ProviderNetworkBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTypeListView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTypeView   0% 1 1 0   100% 0 0   0%
circuits/views.py CircuitTypeEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTypeDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTypeBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTypeBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTypeBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitListView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitBulkImportView   0% 2 2 0   100% 0 0   0%
circuits/views.py CircuitBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTerminationListView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTerminationView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTerminationEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTerminationDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTerminationBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTerminationBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitTerminationBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupListView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupView   0% 1 1 0   100% 0 0   0%
circuits/views.py CircuitGroupEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupAssignmentListView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupAssignmentView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupAssignmentEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupAssignmentDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupAssignmentBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupAssignmentBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py CircuitGroupAssignmentBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTypeListView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTypeView   0% 1 1 0   100% 0 0   0%
circuits/views.py VirtualCircuitTypeEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTypeDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTypeBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTypeBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTypeBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitListView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitBulkImportView   0% 2 2 0   100% 0 0   0%
circuits/views.py VirtualCircuitBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitBulkRenameView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTerminationListView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTerminationView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTerminationEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTerminationDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTerminationBulkImportView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTerminationBulkEditView   100% 0 0 0   100% 0 0   100%
circuits/views.py VirtualCircuitTerminationBulkDeleteView   100% 0 0 0   100% 0 0   100%
circuits/views.py (no class)   100% 430 0 0   100% 0 0   100%
core/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
core/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
core/api/schema.py NetBoxDjangoFilterExtension   86% 7 1 0   75% 4 1   82%
core/api/schema.py FixTimeZoneSerializerField   100% 1 0 0   100% 0 0   100%
core/api/schema.py ChoiceFieldFix   88% 8 1 0   75% 4 1   83%
core/api/schema.py NetBoxAutoSchema   87% 142 19 0   79% 86 14   84%
core/api/schema.py FixSerializedPKRelatedField   100% 5 0 0   100% 2 0   100%
core/api/schema.py FixIntegerRangeSerializerSchema   100% 1 0 0   100% 0 0   100%
core/api/schema.py FixWritableNestedSerializerAllowPK   100% 6 0 0   100% 4 0   100%
core/api/schema.py (no class)   100% 62 0 0   100% 0 0   100%
core/api/serializers.py (no class)   100% 5 0 0   100% 0 0   100%
core/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
core/api/serializers_/change_logging.py ObjectChangeSerializer   100% 0 0 0   100% 0 0   100%
core/api/serializers_/change_logging.py ObjectChangeSerializer.Meta   100% 0 0 0   100% 0 0   100%
core/api/serializers_/change_logging.py (no class)   100% 19 0 0   100% 0 0   100%
core/api/serializers_/data.py DataSourceSerializer   100% 0 0 0   100% 0 0   100%
core/api/serializers_/data.py DataSourceSerializer.Meta   100% 0 0 0   100% 0 0   100%
core/api/serializers_/data.py DataFileSerializer   100% 0 0 0   100% 0 0   100%
core/api/serializers_/data.py DataFileSerializer.Meta   100% 0 0 0   100% 0 0   100%
core/api/serializers_/data.py (no class)   100% 21 0 0   100% 0 0   100%
core/api/serializers_/jobs.py JobSerializer   25% 8 6 0   50% 2 1   30%
core/api/serializers_/jobs.py JobSerializer.Meta   100% 0 0 0   100% 0 0   100%
core/api/serializers_/jobs.py (no class)   100% 22 0 0   100% 0 0   100%
core/api/serializers_/object_types.py ObjectTypeSerializer   78% 9 2 0   50% 4 2   69%
core/api/serializers_/object_types.py ObjectTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
core/api/serializers_/object_types.py (no class)   100% 25 0 0   100% 0 0   100%
core/api/serializers_/tasks.py BackgroundTaskSerializer   100% 4 0 0   100% 0 0   100%
core/api/serializers_/tasks.py BackgroundQueueSerializer   100% 1 0 0   100% 0 0   100%
core/api/serializers_/tasks.py BackgroundWorkerSerializer   0% 1 1 0   100% 0 0   0%
core/api/serializers_/tasks.py (no class)   100% 60 0 0   100% 0 0   100%
core/api/urls.py (no class)   100% 14 0 0   100% 0 0   100%
core/api/views.py CoreRootView   0% 1 1 0   100% 0 0   0%
core/api/views.py DataSourceViewSet   17% 6 5 0   0% 2 0   12%
core/api/views.py DataFileViewSet   100% 0 0 0   100% 0 0   100%
core/api/views.py JobViewSet   100% 0 0 0   100% 0 0   100%
core/api/views.py ObjectChangeViewSet   100% 1 0 0   100% 0 0   100%
core/api/views.py ObjectTypeViewSet   100% 2 0 0   100% 0 0   100%
core/api/views.py BaseRQViewSet   91% 11 1 0   100% 0 0   91%
core/api/views.py BackgroundQueueViewSet   70% 10 3 0   67% 6 2   69%
core/api/views.py BackgroundWorkerViewSet   80% 10 2 0   50% 2 1   75%
core/api/views.py BackgroundTaskViewSet   45% 20 11 0   0% 4 0   38%
core/api/views.py (no class)   100% 97 0 0   100% 0 0   100%
core/apps.py CoreConfig   79% 19 4 0   50% 2 1   76%
core/apps.py (no class)   100% 17 0 0   100% 0 0   100%
core/checks.py (no class)   66% 67 23 0   55% 20 7   63%
core/choices.py DataSourceStatusChoices   100% 0 0 0   100% 0 0   100%
core/choices.py ManagedFileRootPathChoices   100% 0 0 0   100% 0 0   100%
core/choices.py JobStatusChoices   100% 0 0 0   100% 0 0   100%
core/choices.py JobNotificationChoices   100% 0 0 0   100% 0 0   100%
core/choices.py JobIntervalChoices   100% 0 0 0   100% 0 0   100%
core/choices.py ObjectChangeActionChoices   100% 0 0 0   100% 0 0   100%
core/choices.py (no class)   100% 39 0 0   100% 0 0   100%
core/constants.py Badge   100% 0 0 0   100% 0 0   100%
core/constants.py (no class)   100% 8 0 0   100% 0 0   100%
core/data_backends.py LocalBackend   0% 3 3 0   100% 0 0   0%
core/data_backends.py GitBackend   0% 30 30 0   0% 16 0   0%
core/data_backends.py S3Backend   0% 33 33 0   0% 8 0   0%
core/data_backends.py (no class)   96% 56 2 0   100% 0 0   96%
core/dataclasses.py JobLogEntry   0% 1 1 0   100% 0 0   0%
core/dataclasses.py (no class)   100% 10 0 0   100% 0 0   100%
core/events.py (no class)   100% 8 0 0   100% 0 0   100%
core/exceptions.py IncompatiblePluginError   100% 0 0 0   100% 0 0   100%
core/exceptions.py JobFailed   100% 0 0 0   100% 0 0   100%
core/exceptions.py SyncError   100% 0 0 0   100% 0 0   100%
core/exceptions.py (no class)   100% 8 0 0   100% 0 0   100%
core/filtersets.py DataSourceFilterSet   0% 3 3 0   0% 2 0   0%
core/filtersets.py DataSourceFilterSet.Meta   100% 0 0 0   100% 0 0   100%
core/filtersets.py DataFileFilterSet   0% 3 3 0   0% 2 0   0%
core/filtersets.py DataFileFilterSet.Meta   100% 0 0 0   100% 0 0   100%
core/filtersets.py JobFilterSet   0% 3 3 0   0% 2 0   0%
core/filtersets.py JobFilterSet.Meta   100% 0 0 0   100% 0 0   100%
core/filtersets.py ObjectTypeFilterSet   75% 4 1 0   50% 2 1   67%
core/filtersets.py ObjectTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
core/filtersets.py ObjectChangeFilterSet   0% 3 3 0   0% 2 0   0%
core/filtersets.py ObjectChangeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
core/filtersets.py ConfigRevisionFilterSet   0% 3 3 0   0% 2 0   0%
core/filtersets.py ConfigRevisionFilterSet.Meta   100% 0 0 0   100% 0 0   100%
core/filtersets.py (no class)   100% 88 0 0   100% 0 0   100%
core/forms/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
core/forms/bulk_edit.py DataSourceBulkEditForm   100% 0 0 0   100% 0 0   100%
core/forms/bulk_edit.py (no class)   100% 19 0 0   100% 0 0   100%
core/forms/bulk_import.py DataSourceImportForm   100% 0 0 0   100% 0 0   100%
core/forms/bulk_import.py DataSourceImportForm.Meta   100% 0 0 0   100% 0 0   100%
core/forms/bulk_import.py (no class)   100% 7 0 0   100% 0 0   100%
core/forms/filtersets.py DataSourceFilterForm   100% 0 0 0   100% 0 0   100%
core/forms/filtersets.py DataFileFilterForm   100% 0 0 0   100% 0 0   100%
core/forms/filtersets.py JobFilterForm   100% 0 0 0   100% 0 0   100%
core/forms/filtersets.py ObjectChangeFilterForm   100% 0 0 0   100% 0 0   100%
core/forms/filtersets.py ConfigRevisionFilterForm   100% 0 0 0   100% 0 0   100%
core/forms/filtersets.py (no class)   100% 53 0 0   100% 0 0   100%
core/forms/mixins.py SyncedDataMixin   100% 0 0 0   100% 0 0   100%
core/forms/mixins.py (no class)   100% 8 0 0   100% 0 0   100%
core/forms/model_forms.py DataSourceForm   0% 21 21 0   0% 12 0   0%
core/forms/model_forms.py DataSourceForm.Meta   100% 0 0 0   100% 0 0   100%
core/forms/model_forms.py ManagedFileForm   0% 6 6 0   0% 4 0   0%
core/forms/model_forms.py ManagedFileForm.Meta   100% 0 0 0   100% 0 0   100%
core/forms/model_forms.py ConfigFormMetaclass   100% 9 0 0   100% 4 0   100%
core/forms/model_forms.py ConfigRevisionForm   0% 32 32 0   0% 16 0   0%
core/forms/model_forms.py ConfigRevisionForm.Meta   100% 0 0 0   100% 0 0   100%
core/forms/model_forms.py (no class)   100% 46 0 0   100% 0 0   100%
core/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
core/graphql/enums.py (no class)   100% 5 0 0   100% 0 0   100%
core/graphql/filter_mixins.py ChangeLoggingMixin   100% 0 0 0   100% 0 0   100%
core/graphql/filter_mixins.py (no class)   100% 8 0 0   100% 0 0   100%
core/graphql/filters.py DataFileFilter   100% 0 0 0   100% 0 0   100%
core/graphql/filters.py DataSourceFilter   100% 0 0 0   100% 0 0   100%
core/graphql/filters.py ObjectChangeFilter   100% 0 0 0   100% 0 0   100%
core/graphql/filters.py ContentTypeFilter   100% 0 0 0   100% 0 0   100%
core/graphql/filters.py (no class)   96% 52 2 0   50% 2 1   94%
core/graphql/mixins.py ChangelogMixin   0% 3 3 0   100% 0 0   0%
core/graphql/mixins.py SyncedDataMixin   100% 0 0 0   100% 0 0   100%
core/graphql/mixins.py (no class)   93% 15 1 0   50% 2 1   88%
core/graphql/schema.py CoreQuery   100% 0 0 0   100% 0 0   100%
core/graphql/schema.py (no class)   100% 9 0 0   100% 0 0   100%
core/graphql/types.py DataFileType   100% 0 0 0   100% 0 0   100%
core/graphql/types.py DataSourceType   100% 0 0 0   100% 0 0   100%
core/graphql/types.py ObjectChangeType   100% 0 0 0   100% 0 0   100%
core/graphql/types.py ContentType   100% 0 0 0   100% 0 0   100%
core/graphql/types.py (no class)   100% 17 0 0   100% 0 0   100%
core/jobs.py SyncDataSourceJob   0% 17 17 0   0% 2 0   0%
core/jobs.py SyncDataSourceJob.Meta   100% 0 0 0   100% 0 0   100%
core/jobs.py SystemHousekeepingJob   0% 82 82 0   0% 24 0   0%
core/jobs.py SystemHousekeepingJob.Meta   100% 0 0 0   100% 0 0   100%
core/jobs.py (no class)   100% 32 0 0   100% 0 0   100%
core/management/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
core/management/commands/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
core/management/commands/makemigrations.py Command   0% 3 3 0   0% 2 0   0%
core/management/commands/makemigrations.py (no class)   100% 5 0 0   100% 0 0   100%
core/management/commands/nbshell.py Command   0% 43 43 0   0% 22 0   0%
core/management/commands/nbshell.py (no class)   0% 34 34 0   100% 0 0   0%
core/management/commands/rqworker.py Command   0% 13 13 0   0% 4 0   0%
core/management/commands/rqworker.py (no class)   0% 7 7 0   100% 0 0   0%
core/management/commands/syncdatasource.py Command   0% 24 24 0   0% 12 0   0%
core/management/commands/syncdatasource.py (no class)   0% 7 7 0   100% 0 0   0%
core/management/commands/upgrade.py Command   0% 41 41 0   0% 18 0   0%
core/management/commands/upgrade.py (no class)   0% 14 14 0   0% 2 0   0%
core/models/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
core/models/change_logging.py ObjectChange   58% 43 18 0   50% 22 5   55%
core/models/change_logging.py ObjectChange.Meta   100% 0 0 0   100% 0 0   100%
core/models/change_logging.py (no class)   100% 49 0 0   100% 0 0   100%
core/models/config.py ConfigRevision   0% 19 19 0   0% 10 0   0%
core/models/config.py ConfigRevision.Meta   100% 0 0 0   100% 0 0   100%
core/models/config.py (no class)   100% 26 0 0   100% 0 0   100%
core/models/data.py DataSource   0% 97 97 0   0% 46 0   0%
core/models/data.py DataSource.Meta   100% 0 0 0   100% 0 0   100%
core/models/data.py DataFile   0% 21 21 0   0% 6 0   0%
core/models/data.py DataFile.Meta   100% 0 0 0   100% 0 0   100%
core/models/data.py AutoSyncRecord   100% 0 0 0   100% 0 0   100%
core/models/data.py AutoSyncRecord.Meta   100% 0 0 0   100% 0 0   100%
core/models/data.py (no class)   100% 87 0 0   100% 0 0   100%
core/models/files.py ManagedFile   12% 24 21 0   25% 8 2   16%
core/models/files.py ManagedFile.Meta   100% 0 0 0   100% 0 0   100%
core/models/files.py (no class)   100% 38 0 0   100% 0 0   100%
core/models/jobs.py Job   24% 71 54 0   15% 34 5   21%
core/models/jobs.py Job.Meta   100% 0 0 0   100% 0 0   100%
core/models/jobs.py (no class)   100% 67 0 0   100% 0 0   100%
core/models/object_types.py ObjectTypeQuerySet   100% 6 0 0   50% 2 1   88%
core/models/object_types.py ObjectTypeManager   48% 50 26 0   46% 28 3   47%
core/models/object_types.py ObjectType   69% 13 4 0   50% 8 4   62%
core/models/object_types.py ObjectType.Meta   100% 0 0 0   100% 0 0   100%
core/models/object_types.py (no class)   100% 46 0 0   100% 0 0   100%
core/object_actions.py BulkSync   100% 0 0 0   100% 0 0   100%
core/object_actions.py (no class)   100% 9 0 0   100% 0 0   100%
core/plugins.py PluginAuthor   100% 0 0 0   100% 0 0   100%
core/plugins.py PluginVersion   100% 0 0 0   100% 0 0   100%
core/plugins.py Plugin   100% 0 0 0   100% 0 0   100%
core/plugins.py (no class)   48% 113 59 0   0% 26 0   39%
core/querysets.py ObjectChangeQuerySet   67% 6 2 0   100% 0 0   67%
core/querysets.py (no class)   100% 7 0 0   100% 0 0   100%
core/search.py DataSourceIndex   100% 0 0 0   100% 0 0   100%
core/search.py DataFileIndex   100% 0 0 0   100% 0 0   100%
core/search.py (no class)   100% 12 0 0   100% 0 0   100%
core/signals.py (no class)   67% 190 62 0   56% 72 8   64%
core/tables/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
core/tables/change_logging.py ObjectChangeTable   100% 0 0 0   100% 0 0   100%
core/tables/change_logging.py ObjectChangeTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/change_logging.py (no class)   100% 20 0 0   100% 0 0   100%
core/tables/columns.py BackendTypeColumn   0% 4 4 0   0% 2 0   0%
core/tables/columns.py BadgeColumn   33% 6 4 0   100% 0 0   33%
core/tables/columns.py (no class)   100% 11 0 0   100% 0 0   100%
core/tables/config.py ConfigRevisionTable   100% 0 0 0   100% 0 0   100%
core/tables/config.py ConfigRevisionTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/config.py (no class)   100% 12 0 0   100% 0 0   100%
core/tables/data.py DataSourceTable   100% 0 0 0   100% 0 0   100%
core/tables/data.py DataSourceTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/data.py DataFileTable   100% 0 0 0   100% 0 0   100%
core/tables/data.py DataFileTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/data.py (no class)   100% 30 0 0   100% 0 0   100%
core/tables/jobs.py JobTable   0% 3 3 0   100% 0 0   0%
core/tables/jobs.py JobTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/jobs.py JobLogEntryTable   0% 4 4 0   0% 2 0   0%
core/tables/jobs.py JobLogEntryTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/jobs.py (no class)   100% 39 0 0   100% 0 0   100%
core/tables/plugins.py PluginVersionTable   100% 0 0 0   100% 0 0   100%
core/tables/plugins.py PluginVersionTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/plugins.py CatalogPluginTable   100% 0 0 0   100% 0 0   100%
core/tables/plugins.py CatalogPluginTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/plugins.py (no class)   100% 30 0 0   100% 0 0   100%
core/tables/tasks.py BackgroundQueueTable   100% 0 0 0   100% 0 0   100%
core/tables/tasks.py BackgroundQueueTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/tasks.py BackgroundTaskTable   0% 4 4 0   100% 0 0   0%
core/tables/tasks.py BackgroundTaskTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/tasks.py WorkerTable   100% 0 0 0   100% 0 0   100%
core/tables/tasks.py WorkerTable.Meta   100% 0 0 0   100% 0 0   100%
core/tables/tasks.py (no class)   100% 45 0 0   100% 0 0   100%
core/tables/template_code.py (no class)   100% 6 0 0   100% 0 0   100%
core/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
core/ui/panels.py DataSourcePanel   100% 0 0 0   100% 0 0   100%
core/ui/panels.py DataSourceBackendPanel   100% 0 0 0   100% 0 0   100%
core/ui/panels.py DataFilePanel   100% 0 0 0   100% 0 0   100%
core/ui/panels.py DataFileContentPanel   100% 0 0 0   100% 0 0   100%
core/ui/panels.py JobPanel   100% 0 0 0   100% 0 0   100%
core/ui/panels.py JobSchedulingPanel   100% 0 0 0   100% 0 0   100%
core/ui/panels.py ObjectChangePanel   100% 0 0 0   100% 0 0   100%
core/ui/panels.py (no class)   100% 50 0 0   100% 0 0   100%
core/urls.py (no class)   100% 5 0 0   100% 0 0   100%
core/utils.py (no class)   44% 103 58 0   9% 22 0   38%
core/views.py DataSourceListView   100% 0 0 0   100% 0 0   100%
core/views.py DataSourceView   0% 1 1 0   100% 0 0   0%
core/views.py DataSourceSyncView   0% 7 7 0   100% 0 0   0%
core/views.py DataSourceEditView   100% 0 0 0   100% 0 0   100%
core/views.py DataSourceDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py DataSourceBulkImportView   100% 0 0 0   100% 0 0   100%
core/views.py DataSourceBulkEditView   100% 0 0 0   100% 0 0   100%
core/views.py DataSourceBulkRenameView   100% 0 0 0   100% 0 0   100%
core/views.py DataSourceBulkDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py DataFileListView   100% 0 0 0   100% 0 0   100%
core/views.py DataFileView   100% 0 0 0   100% 0 0   100%
core/views.py DataFileDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py DataFileBulkDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py JobListView   100% 0 0 0   100% 0 0   100%
core/views.py JobView   100% 0 0 0   100% 0 0   100%
core/views.py JobLogView   0% 10 10 0   0% 2 0   0%
core/views.py JobDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py JobBulkDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py ObjectChangeListView   0% 1 1 0   100% 0 0   0%
core/views.py ObjectChangeView   0% 17 17 0   0% 4 0   0%
core/views.py ConfigRevisionListView   100% 0 0 0   100% 0 0   100%
core/views.py ConfigRevisionView   0% 5 5 0   0% 4 0   0%
core/views.py ConfigRevisionEditView   100% 0 0 0   100% 0 0   100%
core/views.py ConfigRevisionDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py ConfigRevisionBulkDeleteView   100% 0 0 0   100% 0 0   100%
core/views.py ConfigRevisionRestoreView   0% 14 14 0   0% 4 0   0%
core/views.py BaseRQView   0% 1 1 0   100% 0 0   0%
core/views.py BackgroundQueueListView   0% 3 3 0   100% 0 0   0%
core/views.py BackgroundTaskListView   0% 9 9 0   0% 4 0   0%
core/views.py BackgroundTaskView   0% 12 12 0   100% 0 0   0%
core/views.py BackgroundTaskDeleteView   0% 10 10 0   0% 4 0   0%
core/views.py BackgroundTaskRequeueView   0% 3 3 0   100% 0 0   0%
core/views.py BackgroundTaskEnqueueView   0% 3 3 0   100% 0 0   0%
core/views.py BackgroundTaskStopView   0% 5 5 0   0% 2 0   0%
core/views.py WorkerListView   0% 14 14 0   0% 6 0   0%
core/views.py WorkerView   0% 4 4 0   100% 0 0   0%
core/views.py SystemView   0% 36 36 0   0% 10 0   0%
core/views.py SystemDBSchemaView   0% 17 17 0   0% 6 0   0%
core/views.py BasePluginView   0% 9 9 0   0% 4 0   0%
core/views.py PluginListView   0% 10 10 0   0% 4 0   0%
core/views.py PluginView   0% 7 7 0   0% 2 0   0%
core/views.py (no class)   100% 236 0 0   100% 0 0   100%
dcim/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
dcim/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
dcim/api/exceptions.py MissingFilterException   100% 0 0 0   100% 0 0   100%
dcim/api/exceptions.py (no class)   100% 4 0 0   100% 0 0   100%
dcim/api/serializers.py (no class)   100% 14 0 0   100% 0 0   100%
dcim/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/base.py ConnectedEndpointsSerializer   55% 11 5 0   50% 6 3   53%
dcim/api/serializers_/base.py PortSerializer   0% 27 27 0   0% 14 0   0%
dcim/api/serializers_/base.py (no class)   100% 23 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CableBundleSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CableBundleSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CableSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CableSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py TracedCableSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py TracedCableSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CableTerminationSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CableTerminationSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CablePathSerializer   0% 8 8 0   0% 4 0   0%
dcim/api/serializers_/cables.py CablePathSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cables.py CabledObjectSerializer   45% 11 6 0   33% 6 2   41%
dcim/api/serializers_/cables.py (no class)   100% 60 0 0   100% 0 0   100%
dcim/api/serializers_/cooling.py CoolingSourceSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cooling.py CoolingSourceSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cooling.py CoolingFeedSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cooling.py CoolingFeedSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/cooling.py (no class)   100% 30 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py ConsoleServerPortSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py ConsoleServerPortSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py ConsolePortSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py ConsolePortSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py PowerPortSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py PowerPortSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py PowerOutletSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py PowerOutletSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py CoolingIntakeSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py CoolingIntakeSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py CoolingOutflowSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py CoolingOutflowSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py InterfaceSerializer   68% 41 13 0   46% 26 10   60%
dcim/api/serializers_/device_components.py InterfaceSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py RearPortMappingSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py RearPortMappingSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py RearPortSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py RearPortSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py FrontPortMappingSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py FrontPortMappingSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py FrontPortSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py FrontPortSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py ModuleBaySerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py ModuleBaySerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py DeviceBaySerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py DeviceBaySerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py InventoryItemSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py InventoryItemSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/device_components.py (no class)   100% 183 0 0   100% 0 0   100%
dcim/api/serializers_/devices.py DeviceSerializer   56% 9 4 0   100% 0 0   56%
dcim/api/serializers_/devices.py DeviceSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devices.py VirtualDeviceContextSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devices.py VirtualDeviceContextSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devices.py ModuleSerializer   0% 55 55 0   0% 32 0   0%
dcim/api/serializers_/devices.py ModuleSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devices.py MACAddressSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devices.py MACAddressSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devices.py (no class)   100% 100 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py ComponentTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py ConsolePortTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py ConsolePortTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py ConsoleServerPortTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py ConsoleServerPortTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py PowerPortTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py PowerPortTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py PowerOutletTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py PowerOutletTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py CoolingIntakeTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py CoolingIntakeTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py CoolingOutflowTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py CoolingOutflowTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py InterfaceTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py InterfaceTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py RearPortTemplateMappingSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py RearPortTemplateMappingSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py RearPortTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py RearPortTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py FrontPortTemplateMappingSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py FrontPortTemplateMappingSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py FrontPortTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py FrontPortTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py ModuleBayTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py ModuleBayTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py DeviceBayTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py DeviceBayTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py InventoryItemTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py InventoryItemTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetype_components.py (no class)   100% 141 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py DeviceTypeSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py DeviceTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py ModuleBayTypeSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py ModuleBayTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py ModuleTypeProfileSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py ModuleTypeProfileSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py ModuleTypeSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py ModuleTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/devicetypes.py (no class)   100% 72 0 0   100% 0 0   100%
dcim/api/serializers_/manufacturers.py ManufacturerSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/manufacturers.py ManufacturerSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/manufacturers.py (no class)   100% 13 0 0   100% 0 0   100%
dcim/api/serializers_/mixins.py MACAddressShortcutMixin   38% 37 23 0   28% 18 5   35%
dcim/api/serializers_/mixins.py (no class)   100% 15 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedRegionSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedRegionSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedSiteGroupSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedSiteGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedLocationSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedLocationSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedDeviceRoleSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedDeviceRoleSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedDeviceSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedDeviceSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedCoolingOutflowSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedCoolingOutflowSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedInterfaceSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedInterfaceSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedInterfaceTemplateSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedInterfaceTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedDeviceBaySerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedDeviceBaySerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py ModuleBayNestedModuleSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py ModuleBayNestedModuleSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedModuleBaySerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedModuleBaySerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedPlatformSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py NestedPlatformSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/nested.py (no class)   100% 66 0 0   100% 0 0   100%
dcim/api/serializers_/platforms.py PlatformSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/platforms.py PlatformSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/platforms.py (no class)   100% 17 0 0   100% 0 0   100%
dcim/api/serializers_/power.py PowerPanelSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/power.py PowerPanelSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/power.py PowerFeedSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/power.py PowerFeedSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/power.py (no class)   100% 30 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackGroupSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackRoleSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackRoleSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackBaseSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackTypeSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackReservationSerializer   0% 1 1 0   100% 0 0   0%
dcim/api/serializers_/racks.py RackReservationSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py RackElevationDetailFilterSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/racks.py (no class)   100% 81 0 0   100% 0 0   100%
dcim/api/serializers_/rackunits.py RackUnitSerializer   0% 2 2 0   100% 0 0   0%
dcim/api/serializers_/rackunits.py (no class)   100% 19 0 0   100% 0 0   100%
dcim/api/serializers_/roles.py DeviceRoleSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/roles.py DeviceRoleSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/roles.py InventoryItemRoleSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/roles.py InventoryItemRoleSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/roles.py (no class)   100% 22 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py RegionSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py RegionSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py SiteGroupSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py SiteGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py SiteSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py SiteSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py LocationSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py LocationSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/sites.py (no class)   100% 56 0 0   100% 0 0   100%
dcim/api/serializers_/virtualchassis.py VirtualChassisSerializer   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/virtualchassis.py VirtualChassisSerializer.Meta   100% 0 0 0   100% 0 0   100%
dcim/api/serializers_/virtualchassis.py (no class)   100% 13 0 0   100% 0 0   100%
dcim/api/urls.py (no class)   100% 60 0 0   100% 0 0   100%
dcim/api/views.py DCIMRootView   0% 1 1 0   100% 0 0   0%
dcim/api/views.py PathEndpointMixin   24% 21 16 0   20% 10 2   23%
dcim/api/views.py PassThroughPortMixin   25% 4 3 0   100% 0 0   25%
dcim/api/views.py RegionViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py SiteGroupViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py SiteViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py LocationViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py RackGroupViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py RackRoleViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py RackTypeViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py RackViewSet   4% 23 22 0   0% 10 0   3%
dcim/api/views.py RackReservationViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ManufacturerViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py DeviceTypeViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ModuleBayTypeViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ModuleTypeProfileViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ModuleTypeViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ConsolePortTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ConsoleServerPortTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py PowerPortTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py PowerOutletTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CoolingIntakeTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CoolingOutflowTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py InterfaceTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py FrontPortTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py RearPortTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ModuleBayTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py DeviceBayTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py InventoryItemTemplateViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py DeviceRoleViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py PlatformViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py DeviceViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py VirtualDeviceContextViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ModuleViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ConsolePortViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ConsoleServerPortViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py PowerPortViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py PowerOutletViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CoolingIntakeViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CoolingOutflowViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py InterfaceViewSet   100% 1 0 0   100% 0 0   100%
dcim/api/views.py FrontPortViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py RearPortViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ModuleBayViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py DeviceBayViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py InventoryItemViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py InventoryItemRoleViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py MACAddressViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CableViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CableTerminationViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CableBundleViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py VirtualChassisViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py PowerPanelViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py PowerFeedViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CoolingSourceViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py CoolingFeedViewSet   100% 0 0 0   100% 0 0   100%
dcim/api/views.py ConnectedDeviceViewSet   50% 12 6 0   50% 4 0   50%
dcim/api/views.py (no class)   100% 258 0 0   100% 0 0   100%
dcim/apps.py DCIMConfig   100% 6 0 0   100% 0 0   100%
dcim/apps.py (no class)   100% 5 0 0   100% 0 0   100%
dcim/base_filtersets.py ScopedFilterSet   100% 0 0 0   100% 0 0   100%
dcim/base_filtersets.py (no class)   100% 16 0 0   100% 0 0   100%
dcim/cable_profiles.py BaseCableProfile   0% 58 58 0   0% 26 0   0%
dcim/cable_profiles.py Single1C1PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Single1C2PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Single1C4PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Single1C6PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Single1C8PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Single1C12PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Single1C16PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk2C1PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk2C2PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk2C4PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk2C6PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk2C8PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk2C12PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk4C1PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk4C2PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk4C4PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk4C6PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk4C8PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk8C4PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Breakout1C2Px2C1PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Breakout1C4Px4C1PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Breakout1C6Px6C1PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Breakout1C8Px8C1PCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk2C4PShuffleCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Trunk4C4PShuffleCableProfile   100% 0 0 0   100% 0 0   100%
dcim/cable_profiles.py Breakout2C4Px8C1PShuffleCableProfile   0% 3 3 0   0% 2 0   0%
dcim/cable_profiles.py (no class)   0% 105 105 0   100% 0 0   0%
dcim/choices.py SiteStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py LocationStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackFormFactorChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackWidthChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackDimensionUnitChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackElevationDetailRenderChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackAirflowChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackReservationStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py SubdeviceRoleChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py DeviceFaceChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py DeviceStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py DeviceAirflowChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py ModuleStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py ModuleAirflowChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py ConsolePortTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py ConsolePortSpeedChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerPortTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerOutletTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerOutletFeedLegChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InterfaceKindChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InterfaceTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InterfaceSpeedChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InterfaceDuplexChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InterfaceModeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InterfacePoEModeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InterfacePoETypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PortTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CableProfileChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CableTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py LinkStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CableLengthUnitChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CableEndChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerFeedStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerFeedTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerFeedSupplyChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerFeedPhaseChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py PowerOutletStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CoolingMethodChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CoolingSourceTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CoolingSourceStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CoolingFeedStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py FluidTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py RackCoolingCapabilityChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py CoolingConnectorTypeChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py VirtualDeviceContextStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py InventoryItemStatusChoices   100% 0 0 0   100% 0 0   100%
dcim/choices.py (no class)   100% 850 0 0   100% 0 0   100%
dcim/constants.py (no class)   100% 32 0 0   100% 0 0   100%
dcim/exceptions.py UnsupportedCablePath   100% 0 0 0   100% 0 0   100%
dcim/exceptions.py (no class)   100% 2 0 0   100% 0 0   100%
dcim/fields.py mac_unix_expanded_uppercase   100% 0 0 0   100% 0 0   100%
dcim/fields.py eui64_unix_expanded_uppercase   100% 0 0 0   100% 0 0   100%
dcim/fields.py MACAddressField   80% 15 3 0   67% 6 2   76%
dcim/fields.py WWNField   54% 13 6 0   50% 4 2   53%
dcim/fields.py PathField   100% 2 0 0   100% 0 0   100%
dcim/fields.py (no class)   100% 30 0 0   100% 0 0   100%
dcim/filtersets.py RegionFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RegionFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py SiteGroupFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py SiteGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py SiteFilterSet   0% 8 8 0   0% 2 0   0%
dcim/filtersets.py SiteFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py LocationFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py LocationFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RackGroupFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RackGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RackRoleFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RackRoleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RackTypeFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py RackTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RackFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py RackFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RackReservationFilterSet   40% 5 3 0   0% 2 0   29%
dcim/filtersets.py RackReservationFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ManufacturerFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ManufacturerFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceTypeFilterSet   0% 18 18 0   0% 6 0   0%
dcim/filtersets.py DeviceTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleBayTypeFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py ModuleBayTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleTypeProfileFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py ModuleTypeProfileFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleTypeFilterSet   20% 10 8 0   0% 2 0   17%
dcim/filtersets.py ModuleTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceTypeComponentFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py ModularDeviceTypeComponentFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsolePortTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsolePortTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsoleServerPortTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsoleServerPortTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerPortTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerPortTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerOutletTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerOutletTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingIntakeTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingIntakeTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingOutflowTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingOutflowTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InterfaceTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InterfaceTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py FrontPortTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py FrontPortTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RearPortTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RearPortTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleBayTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleBayTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceBayTemplateFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceBayTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InventoryItemTemplateFilterSet   0% 4 4 0   0% 2 0   0%
dcim/filtersets.py InventoryItemTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceRoleFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceRoleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PlatformFilterSet   0% 1 1 0   100% 0 0   0%
dcim/filtersets.py PlatformFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceFilterSet   0% 33 33 0   0% 12 0   0%
dcim/filtersets.py DeviceFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py VirtualDeviceContextFilterSet   0% 12 12 0   0% 4 0   0%
dcim/filtersets.py VirtualDeviceContextFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py ModuleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceComponentFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py ModularDeviceComponentFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CabledObjectFilterSet   67% 3 1 0   50% 2 1   60%
dcim/filtersets.py PathEndpointFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py ConsolePortFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsolePortFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsoleServerPortFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsoleServerPortFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerPortFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerPortFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerOutletFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerOutletFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingIntakeFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingIntakeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingOutflowFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingOutflowFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py MACAddressFilterSet   11% 28 25 0   7% 14 1   10%
dcim/filtersets.py MACAddressFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CommonInterfaceFilterSet   0% 8 8 0   0% 4 0   0%
dcim/filtersets.py InterfaceFilterSet   0% 13 13 0   0% 4 0   0%
dcim/filtersets.py InterfaceFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py FrontPortFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py FrontPortFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RearPortFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py RearPortFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleBayFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ModuleBayFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceBayFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py DeviceBayFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InventoryItemFilterSet   0% 4 4 0   0% 2 0   0%
dcim/filtersets.py InventoryItemFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InventoryItemRoleFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InventoryItemRoleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py VirtualChassisFilterSet   0% 4 4 0   0% 2 0   0%
dcim/filtersets.py VirtualChassisFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CableBundleFilterSet   0% 3 3 0   0% 2 0   0%
dcim/filtersets.py CableBundleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CableFilterSet   0% 24 24 0   0% 4 0   0%
dcim/filtersets.py CableFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CableTerminationFilterSet   36% 11 7 0   100% 0 0   36%
dcim/filtersets.py CableTerminationFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerPanelFilterSet   0% 4 4 0   0% 2 0   0%
dcim/filtersets.py PowerPanelFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerFeedFilterSet   0% 4 4 0   0% 2 0   0%
dcim/filtersets.py PowerFeedFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingSourceFilterSet   0% 4 4 0   0% 2 0   0%
dcim/filtersets.py CoolingSourceFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py CoolingFeedFilterSet   0% 4 4 0   0% 2 0   0%
dcim/filtersets.py CoolingFeedFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConnectionFilterSet   0% 7 7 0   0% 4 0   0%
dcim/filtersets.py ConsoleConnectionFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py ConsoleConnectionFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerConnectionFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py PowerConnectionFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InterfaceConnectionFilterSet   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py InterfaceConnectionFilterSet.Meta   100% 0 0 0   100% 0 0   100%
dcim/filtersets.py (no class)   100% 824 0 0   100% 0 0   100%
dcim/forms/__init__.py (no class)   100% 9 0 0   100% 0 0   100%
dcim/forms/bulk_create.py DeviceBulkAddComponentForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py ConsolePortBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py ConsoleServerPortBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py PowerPortBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py PowerOutletBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py CoolingIntakeBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py CoolingOutflowBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py InterfaceBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py RearPortBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py ModuleBayBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py DeviceBayBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py InventoryItemBulkCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_create.py (no class)   100% 50 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RegionBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py SiteGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py SiteBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py LocationBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RackGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RackRoleBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RackTypeBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RackBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RackReservationBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ManufacturerBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py DeviceTypeBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ModuleBayTypeBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ModuleTypeProfileBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ModuleTypeBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py DeviceRoleBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py PlatformBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py DeviceBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ModuleBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py CableBundleBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py CableBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py VirtualChassisBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py PowerPanelBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py PowerFeedBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py CoolingSourceBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py CoolingFeedBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ComponentTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ConsolePortTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ConsoleServerPortTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py PowerPortTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py PowerOutletTemplateBulkEditForm   0% 6 6 0   0% 2 0   0%
dcim/forms/bulk_edit.py CoolingIntakeTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py CoolingOutflowTemplateBulkEditForm   0% 6 6 0   0% 2 0   0%
dcim/forms/bulk_edit.py InterfaceTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py FrontPortTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RearPortTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ModuleBayTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py DeviceBayTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py InventoryItemTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ComponentBulkEditForm   0% 10 10 0   0% 2 0   0%
dcim/forms/bulk_edit.py ConsolePortBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ConsoleServerPortBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py PowerPortBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py PowerOutletBulkEditForm   0% 6 6 0   0% 2 0   0%
dcim/forms/bulk_edit.py CoolingIntakeBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py CoolingOutflowBulkEditForm   0% 6 6 0   0% 2 0   0%
dcim/forms/bulk_edit.py InterfaceBulkEditForm   0% 32 32 0   0% 22 0   0%
dcim/forms/bulk_edit.py FrontPortBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py RearPortBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py ModuleBayBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py DeviceBayBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py InventoryItemBulkEditForm   0% 2 2 0   100% 0 0   0%
dcim/forms/bulk_edit.py InventoryItemRoleBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py VirtualDeviceContextBulkEditForm   0% 2 2 0   100% 0 0   0%
dcim/forms/bulk_edit.py MACAddressBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_edit.py (no class)   100% 493 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RegionImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RegionImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py SiteGroupImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py SiteGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py SiteImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py SiteImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py LocationImportForm   0% 4 4 0   0% 2 0   0%
dcim/forms/bulk_import.py LocationImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RackGroupImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RackGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RackRoleImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RackRoleImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RackTypeImportForm   0% 1 1 0   100% 0 0   0%
dcim/forms/bulk_import.py RackTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RackImportForm   0% 10 10 0   0% 8 0   0%
dcim/forms/bulk_import.py RackImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RackReservationImportForm   0% 6 6 0   0% 2 0   0%
dcim/forms/bulk_import.py RackReservationImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ManufacturerImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ManufacturerImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py DeviceTypeImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py DeviceTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ModuleBayTypeImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ModuleBayTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ModuleTypeProfileImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ModuleTypeProfileImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ModuleTypeImportForm   0% 5 5 0   0% 4 0   0%
dcim/forms/bulk_import.py ModuleTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py DeviceRoleImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py DeviceRoleImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py PlatformImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py PlatformImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py BaseDeviceImportForm   0% 4 4 0   0% 2 0   0%
dcim/forms/bulk_import.py BaseDeviceImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py DeviceImportForm   0% 20 20 0   0% 10 0   0%
dcim/forms/bulk_import.py DeviceImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ModuleImportForm   0% 7 7 0   0% 4 0   0%
dcim/forms/bulk_import.py ModuleImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ConsolePortImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ConsolePortImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ConsoleServerPortImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ConsoleServerPortImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py PowerPortImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py PowerPortImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py PowerOutletImportForm   0% 13 13 0   0% 4 0   0%
dcim/forms/bulk_import.py PowerOutletImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py CoolingIntakeImportForm   0% 21 21 0   0% 8 0   0%
dcim/forms/bulk_import.py CoolingIntakeImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py CoolingOutflowImportForm   0% 13 13 0   0% 4 0   0%
dcim/forms/bulk_import.py CoolingOutflowImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py InterfaceImportForm   0% 20 20 0   0% 12 0   0%
dcim/forms/bulk_import.py InterfaceImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py FrontPortImportForm   0% 26 26 0   0% 12 0   0%
dcim/forms/bulk_import.py FrontPortImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RearPortImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py RearPortImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py ModuleBayImportForm   0% 3 3 0   0% 2 0   0%
dcim/forms/bulk_import.py ModuleBayImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py DeviceBayImportForm   0% 16 16 0   0% 6 0   0%
dcim/forms/bulk_import.py DeviceBayImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py InventoryItemImportForm   0% 35 35 0   0% 16 0   0%
dcim/forms/bulk_import.py InventoryItemImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py InventoryItemRoleImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py InventoryItemRoleImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py MACAddressImportForm   0% 20 20 0   0% 12 0   0%
dcim/forms/bulk_import.py MACAddressImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py CableBundleImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py CableBundleImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py CableImportForm   0% 116 116 0   0% 66 0   0%
dcim/forms/bulk_import.py CableImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py VirtualChassisImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py VirtualChassisImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py PowerPanelImportForm   0% 4 4 0   0% 2 0   0%
dcim/forms/bulk_import.py PowerPanelImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py PowerFeedImportForm   0% 8 8 0   0% 2 0   0%
dcim/forms/bulk_import.py PowerFeedImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py CoolingSourceImportForm   0% 4 4 0   0% 2 0   0%
dcim/forms/bulk_import.py CoolingSourceImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py CoolingFeedImportForm   0% 8 8 0   0% 2 0   0%
dcim/forms/bulk_import.py CoolingFeedImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py VirtualDeviceContextImportForm   0% 5 5 0   0% 2 0   0%
dcim/forms/bulk_import.py VirtualDeviceContextImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/bulk_import.py (no class)   100% 421 0 0   100% 0 0   100%
dcim/forms/common.py InterfaceCommonForm   0% 44 44 0   0% 28 0   0%
dcim/forms/common.py ModuleCommonForm   0% 31 31 0   0% 16 0   0%
dcim/forms/common.py (no class)   100% 19 0 0   100% 0 0   100%
dcim/forms/connections.py get_cable_form.FormMetaclass   0% 14 14 0   0% 10 0   0%
dcim/forms/connections.py get_cable_form._CableForm   0% 23 23 0   0% 18 0   0%
dcim/forms/connections.py (no class)   57% 14 6 0   100% 0 0   57%
dcim/forms/filtersets.py DeviceComponentFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RegionFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py SiteGroupFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py SiteFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py LocationFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RackGroupFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RackRoleFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RackBaseFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RackTypeFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RackFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RackElevationFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RackReservationFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ManufacturerFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py DeviceTypeFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ModuleBayTypeFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ModuleTypeProfileFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ModuleTypeFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py DeviceRoleFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PlatformFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py DeviceFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py VirtualDeviceContextFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ModuleFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py VirtualChassisFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CableBundleFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CableFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PowerPanelFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PowerFeedFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CoolingSourceFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CoolingFeedFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py DeviceComponentTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ModularDeviceComponentTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CabledFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PathEndpointFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ConsolePortFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ConsolePortTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ConsoleServerPortFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ConsoleServerPortTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PowerPortFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PowerPortTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PowerOutletFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PowerOutletTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CoolingIntakeFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CoolingIntakeTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CoolingOutflowFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py CoolingOutflowTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py InterfaceFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py InterfaceTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py FrontPortFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py FrontPortTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RearPortFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py RearPortTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ModuleBayFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ModuleBayTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py DeviceBayFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py DeviceBayTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py InventoryItemFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py InventoryItemTemplateFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py InventoryItemRoleFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py MACAddressFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py ConsoleConnectionFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py PowerConnectionFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py InterfaceConnectionFilterForm   100% 0 0 0   100% 0 0   100%
dcim/forms/filtersets.py (no class)   100% 544 0 0   100% 0 0   100%
dcim/forms/formsets.py BaseVCMemberFormSet   0% 9 9 0   0% 6 0   0%
dcim/forms/formsets.py (no class)   100% 5 0 0   100% 0 0   100%
dcim/forms/mixins.py ScopedForm   100% 0 0 0   100% 0 0   100%
dcim/forms/mixins.py ScopedBulkEditForm   100% 0 0 0   100% 0 0   100%
dcim/forms/mixins.py ScopedImportForm   0% 21 21 0   0% 10 0   0%
dcim/forms/mixins.py FrontPortFormMixin   0% 26 26 0   0% 12 0   0%
dcim/forms/mixins.py (no class)   100% 23 0 0   100% 0 0   100%
dcim/forms/model_forms.py RegionForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RegionForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py SiteGroupForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py SiteGroupForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py SiteForm   0% 10 10 0   0% 4 0   0%
dcim/forms/model_forms.py SiteForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py LocationForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py LocationForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackGroupForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackGroupForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackRoleForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackRoleForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackTypeForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackTypeForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackForm   0% 9 9 0   0% 4 0   0%
dcim/forms/model_forms.py RackForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackReservationForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RackReservationForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ManufacturerForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ManufacturerForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceTypeForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceTypeForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleBayTypeForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleBayTypeForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleTypeProfileForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleTypeProfileForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleTypeForm   0% 25 25 0   0% 14 0   0%
dcim/forms/model_forms.py ModuleTypeForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceRoleForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceRoleForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PlatformForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PlatformForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceForm   0% 32 32 0   0% 12 0   0%
dcim/forms/model_forms.py DeviceForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleForm   0% 6 6 0   0% 2 0   0%
dcim/forms/model_forms.py ModuleForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CableBundleForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CableBundleForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CableForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CableForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerPanelForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerPanelForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerFeedForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerFeedForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingSourceForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingSourceForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingFeedForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingFeedForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py VirtualChassisForm   0% 2 2 0   100% 0 0   0%
dcim/forms/model_forms.py VirtualChassisForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceVCMembershipForm   0% 11 11 0   0% 4 0   0%
dcim/forms/model_forms.py DeviceVCMembershipForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py VCMemberSelectForm   0% 4 4 0   0% 2 0   0%
dcim/forms/model_forms.py ComponentTemplateForm   0% 3 3 0   0% 2 0   0%
dcim/forms/model_forms.py ModularComponentTemplateForm   0% 4 4 0   0% 2 0   0%
dcim/forms/model_forms.py ConsolePortTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ConsolePortTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ConsoleServerPortTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ConsoleServerPortTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerPortTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerPortTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerOutletTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerOutletTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingIntakeTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingIntakeTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingOutflowTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingOutflowTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py InterfaceTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py InterfaceTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py FrontPortTemplateForm   0% 9 9 0   0% 6 0   0%
dcim/forms/model_forms.py FrontPortTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RearPortTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RearPortTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleBayTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleBayTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceBayTemplateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceBayTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py InventoryItemTemplateForm   0% 23 23 0   0% 16 0   0%
dcim/forms/model_forms.py InventoryItemTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceComponentForm   0% 3 3 0   0% 2 0   0%
dcim/forms/model_forms.py ModularDeviceComponentForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ConsolePortForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ConsolePortForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ConsoleServerPortForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ConsoleServerPortForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerPortForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerPortForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerOutletForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PowerOutletForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingIntakeForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingIntakeForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingOutflowForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py CoolingOutflowForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py InterfaceForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py InterfaceForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py FrontPortForm   0% 7 7 0   0% 4 0   0%
dcim/forms/model_forms.py FrontPortForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RearPortForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py RearPortForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleBayForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py ModuleBayForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceBayForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py DeviceBayForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py PopulateDeviceBayForm   0% 2 2 0   100% 0 0   0%
dcim/forms/model_forms.py InventoryItemForm   0% 24 24 0   0% 18 0   0%
dcim/forms/model_forms.py InventoryItemForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py InventoryItemRoleForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py InventoryItemRoleForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py VirtualDeviceContextForm   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py VirtualDeviceContextForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py MACAddressForm   0% 20 20 0   0% 14 0   0%
dcim/forms/model_forms.py MACAddressForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/model_forms.py (no class)   99% 508 1 0   100% 0 0   99%
dcim/forms/object_create.py ComponentCreateForm   0% 12 12 0   0% 10 0   0%
dcim/forms/object_create.py ConsolePortTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ConsolePortTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ConsoleServerPortTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ConsoleServerPortTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerPortTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerPortTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerOutletTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerOutletTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingIntakeTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingIntakeTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingOutflowTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingOutflowTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InterfaceTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InterfaceTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py FrontPortTemplateCreateForm   0% 3 3 0   100% 0 0   0%
dcim/forms/object_create.py FrontPortTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py RearPortTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py RearPortTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py DeviceBayTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py DeviceBayTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ModuleBayTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ModuleBayTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InventoryItemTemplateCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InventoryItemTemplateCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ConsolePortCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ConsolePortCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ConsoleServerPortCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ConsoleServerPortCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerPortCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerPortCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerOutletCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py PowerOutletCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingIntakeCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingIntakeCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingOutflowCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py CoolingOutflowCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InterfaceCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InterfaceCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py FrontPortCreateForm   0% 3 3 0   100% 0 0   0%
dcim/forms/object_create.py FrontPortCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py RearPortCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py RearPortCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py DeviceBayCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py DeviceBayCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ModuleBayCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py ModuleBayCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InventoryItemCreateForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py InventoryItemCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py VirtualChassisCreateForm   0% 12 12 0   0% 6 0   0%
dcim/forms/object_create.py VirtualChassisCreateForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_create.py (no class)   100% 115 0 0   100% 0 0   100%
dcim/forms/object_import.py ConsolePortTemplateImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py ConsolePortTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py ConsoleServerPortTemplateImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py ConsoleServerPortTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py PowerPortTemplateImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py PowerPortTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py PowerOutletTemplateImportForm   0% 8 8 0   0% 4 0   0%
dcim/forms/object_import.py PowerOutletTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py CoolingIntakeTemplateImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py CoolingIntakeTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py CoolingOutflowTemplateImportForm   0% 8 8 0   0% 4 0   0%
dcim/forms/object_import.py CoolingOutflowTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py InterfaceTemplateImportForm   0% 8 8 0   0% 4 0   0%
dcim/forms/object_import.py InterfaceTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py FrontPortTemplateImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py FrontPortTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py RearPortTemplateImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py RearPortTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py PortTemplateMappingImportForm   0% 12 12 0   0% 4 0   0%
dcim/forms/object_import.py PortTemplateMappingImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py ModuleBayTemplateImportForm   0% 18 18 0   0% 14 0   0%
dcim/forms/object_import.py ModuleBayTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py DeviceBayTemplateImportForm   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py DeviceBayTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py InventoryItemTemplateImportForm   0% 8 8 0   0% 4 0   0%
dcim/forms/object_import.py InventoryItemTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
dcim/forms/object_import.py (no class)   100% 84 0 0   100% 0 0   100%
dcim/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
dcim/graphql/enums.py (no class)   100% 50 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py ScopedFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py ComponentModelFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py ModularComponentFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py CabledObjectModelFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py ComponentTemplateFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py ModularComponentTemplateFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py RenderConfigFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py InterfaceBaseFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py RackFilterMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/filter_mixins.py (no class)   94% 85 5 0   50% 2 1   93%
dcim/graphql/filters.py CableBundleFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CableFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CableTerminationFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ConsolePortFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ConsolePortTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ConsoleServerPortFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ConsoleServerPortTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py DeviceFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py DeviceBayFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py DeviceBayTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py InventoryItemTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py DeviceRoleFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py DeviceTypeFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py FrontPortFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py FrontPortTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PortMappingFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PortTemplateMappingFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py MACAddressFilter   0% 7 7 0   0% 2 0   0%
dcim/graphql/filters.py InterfaceFilter   0% 11 11 0   0% 8 0   0%
dcim/graphql/filters.py InterfaceTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py InventoryItemFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py InventoryItemRoleFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py LocationFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ManufacturerFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ModuleFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ModuleBayFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ModuleBayTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ModuleBayTypeFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ModuleTypeProfileFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py ModuleTypeFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PlatformFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PowerFeedFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PowerOutletFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PowerOutletTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PowerPanelFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PowerPortFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py PowerPortTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CoolingFeedFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CoolingOutflowFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CoolingOutflowTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CoolingIntakeFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CoolingIntakeTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py CoolingSourceFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RackTypeFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RackFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RackGroupFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RackReservationFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RackRoleFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RearPortFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RearPortTemplateFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py RegionFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py SiteFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py SiteGroupFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py VirtualChassisFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py VirtualDeviceContextFilter   100% 0 0 0   100% 0 0   100%
dcim/graphql/filters.py (no class)   98% 569 11 0   50% 2 1   98%
dcim/graphql/gfk_mixins.py InventoryItemTemplateComponentType   0% 15 15 0   0% 14 0   0%
dcim/graphql/gfk_mixins.py InventoryItemTemplateComponentType.Meta   100% 0 0 0   100% 0 0   100%
dcim/graphql/gfk_mixins.py InventoryItemComponentType   0% 15 15 0   0% 14 0   0%
dcim/graphql/gfk_mixins.py InventoryItemComponentType.Meta   100% 0 0 0   100% 0 0   100%
dcim/graphql/gfk_mixins.py ConnectedEndpointType   0% 21 21 0   0% 20 0   0%
dcim/graphql/gfk_mixins.py ConnectedEndpointType.Meta   100% 0 0 0   100% 0 0   100%
dcim/graphql/gfk_mixins.py (no class)   0% 20 20 0   100% 0 0   0%
dcim/graphql/mixins.py CabledObjectMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/mixins.py PathEndpointMixin   100% 0 0 0   100% 0 0   100%
dcim/graphql/mixins.py (no class)   80% 10 2 0   50% 2 1   75%
dcim/graphql/schema.py DCIMQuery   100% 0 0 0   100% 0 0   100%
dcim/graphql/schema.py (no class)   100% 109 0 0   100% 0 0   100%
dcim/graphql/types.py ComponentType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ModularComponentType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ComponentTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ModularComponentTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CableBundleType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CableTerminationType   0% 1 1 0   100% 0 0   0%
dcim/graphql/types.py CableType   0% 2 2 0   100% 0 0   0%
dcim/graphql/types.py ConsolePortType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ConsolePortTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ConsoleServerPortType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ConsoleServerPortTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py DeviceType   0% 2 2 0   100% 0 0   0%
dcim/graphql/types.py DeviceBayType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py DeviceBayTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py InventoryItemTemplateType   0% 2 2 0   100% 0 0   0%
dcim/graphql/types.py DeviceRoleType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py DeviceTypeType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py FrontPortType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py FrontPortTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py MACAddressType   0% 1 1 0   100% 0 0   0%
dcim/graphql/types.py InterfaceType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py InterfaceTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py InventoryItemType   0% 2 2 0   100% 0 0   0%
dcim/graphql/types.py InventoryItemRoleType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py LocationType   0% 2 2 0   100% 0 0   0%
dcim/graphql/types.py ManufacturerType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ModuleType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ModuleBayType   0% 1 1 0   100% 0 0   0%
dcim/graphql/types.py ModuleBayTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ModuleBayTypeType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ModuleTypeProfileType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py ModuleTypeType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PlatformType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PortMappingType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PortMappingTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PowerFeedType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PowerOutletType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PowerOutletTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PowerPanelType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PowerPortType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py PowerPortTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CoolingFeedType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CoolingOutflowType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CoolingOutflowTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CoolingIntakeType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CoolingIntakeTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py CoolingSourceType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py RackGroupType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py RackTypeType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py RackType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py RackReservationType   0% 3 3 0   100% 0 0   0%
dcim/graphql/types.py RackRoleType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py RearPortType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py RearPortTemplateType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py RegionType   0% 3 3 0   100% 0 0   0%
dcim/graphql/types.py SiteType   0% 2 2 0   100% 0 0   0%
dcim/graphql/types.py SiteGroupType   0% 3 3 0   100% 0 0   0%
dcim/graphql/types.py VirtualChassisType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py VirtualDeviceContextType   100% 0 0 0   100% 0 0   100%
dcim/graphql/types.py (no class)   94% 207 12 0   25% 4 1   93%
dcim/lookups.py PathContains   0% 2 2 0   100% 0 0   0%
dcim/lookups.py (no class)   100% 4 0 0   100% 0 0   100%
dcim/management/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
dcim/management/commands/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
dcim/management/commands/buildschema.py Command   0% 14 14 0   0% 2 0   0%
dcim/management/commands/buildschema.py (no class)   0% 15 15 0   100% 0 0   0%
dcim/management/commands/trace_paths.py Command   36% 42 27 0   35% 20 3   35%
dcim/management/commands/trace_paths.py (no class)   100% 12 0 0   100% 0 0   100%
dcim/models/__init__.py (no class)   100% 9 0 0   100% 0 0   100%
dcim/models/base.py PortMappingBase   0% 4 4 0   0% 2 0   0%
dcim/models/base.py PortMappingBase.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/base.py (no class)   100% 15 0 0   100% 0 0   100%
dcim/models/cables.py CableBundle   0% 2 2 0   100% 0 0   0%
dcim/models/cables.py CableBundle.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/cables.py CableQuerySet   0% 8 8 0   0% 2 0   0%
dcim/models/cables.py Cable   9% 194 177 0   6% 122 7   8%
dcim/models/cables.py Cable.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/cables.py CableTermination   0% 45 45 0   0% 20 0   0%
dcim/models/cables.py CableTermination.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/cables.py CablePath   0% 265 265 0   0% 160 0   0%
dcim/models/cables.py CablePath.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/cables.py (no class)   100% 156 0 0   100% 0 0   100%
dcim/models/cooling.py CoolingSource   0% 5 5 0   0% 2 0   0%
dcim/models/cooling.py CoolingSource.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/cooling.py CoolingFeed   0% 6 6 0   0% 2 0   0%
dcim/models/cooling.py CoolingFeed.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/cooling.py (no class)   100% 46 0 0   100% 0 0   100%
dcim/models/device_component_templates.py ComponentTemplateModel   83% 12 2 0   75% 4 1   81%
dcim/models/device_component_templates.py ComponentTemplateModel.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py ModularComponentTemplateModel   24% 34 26 0   25% 16 2   24%
dcim/models/device_component_templates.py ModularComponentTemplateModel.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py ConsolePortTemplate   0% 2 2 0   100% 0 0   0%
dcim/models/device_component_templates.py ConsolePortTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py ConsoleServerPortTemplate   0% 2 2 0   100% 0 0   0%
dcim/models/device_component_templates.py ConsoleServerPortTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py PowerPortTemplate   0% 6 6 0   0% 4 0   0%
dcim/models/device_component_templates.py PowerPortTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py PowerOutletTemplate   17% 12 10 0   12% 8 1   15%
dcim/models/device_component_templates.py PowerOutletTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py CoolingIntakeTemplate   0% 5 5 0   100% 0 0   0%
dcim/models/device_component_templates.py CoolingIntakeTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py CoolingOutflowTemplate   7% 14 13 0   0% 8 0   5%
dcim/models/device_component_templates.py CoolingOutflowTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py InterfaceTemplate   8% 13 12 0   0% 12 0   4%
dcim/models/device_component_templates.py InterfaceTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py PortTemplateMapping   0% 7 7 0   0% 2 0   0%
dcim/models/device_component_templates.py PortTemplateMapping.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py FrontPortTemplate   0% 7 7 0   0% 4 0   0%
dcim/models/device_component_templates.py FrontPortTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py RearPortTemplate   14% 7 6 0   0% 4 0   9%
dcim/models/device_component_templates.py RearPortTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py ModuleBayTemplate   0% 5 5 0   100% 0 0   0%
dcim/models/device_component_templates.py ModuleBayTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py DeviceBayTemplate   0% 4 4 0   0% 2 0   0%
dcim/models/device_component_templates.py DeviceBayTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py InventoryItemTemplate   0% 6 6 0   0% 2 0   0%
dcim/models/device_component_templates.py InventoryItemTemplate.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_component_templates.py (no class)   100% 208 0 0   100% 0 0   100%
dcim/models/device_components.py ComponentModel   88% 16 2 0   50% 4 2   80%
dcim/models/device_components.py ComponentModel.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py ModularComponentModel   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py ModularComponentModel.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py CabledObjectModel   17% 48 40 0   17% 30 5   17%
dcim/models/device_components.py CabledObjectModel.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py PathEndpoint   47% 30 16 0   33% 18 6   42%
dcim/models/device_components.py PathEndpoint.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py ConsolePort   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py ConsolePort.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py ConsoleServerPort   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py ConsoleServerPort.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py PowerPort   0% 36 36 0   0% 20 0   0%
dcim/models/device_components.py PowerPort.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py PowerOutlet   0% 4 4 0   0% 2 0   0%
dcim/models/device_components.py PowerOutlet.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py CoolingIntake   0% 2 2 0   100% 0 0   0%
dcim/models/device_components.py CoolingIntake.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py CoolingOutflow   0% 4 4 0   0% 2 0   0%
dcim/models/device_components.py CoolingOutflow.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py BaseInterface   29% 41 29 0   27% 22 4   29%
dcim/models/device_components.py BaseInterface.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py Interface   33% 86 58 0   27% 66 18   30%
dcim/models/device_components.py Interface.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py PortMapping   0% 5 5 0   0% 2 0   0%
dcim/models/device_components.py PortMapping.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py FrontPort   0% 5 5 0   0% 4 0   0%
dcim/models/device_components.py FrontPort.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py RearPort   0% 5 5 0   0% 4 0   0%
dcim/models/device_components.py RearPort.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py ModuleBay   0% 28 28 0   0% 14 0   0%
dcim/models/device_components.py ModuleBay.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py DeviceBay   0% 14 14 0   0% 12 0   0%
dcim/models/device_components.py DeviceBay.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py InventoryItemRole   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py InventoryItemRole.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py InventoryItem   0% 12 12 0   0% 10 0   0%
dcim/models/device_components.py InventoryItem.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/device_components.py (no class)   100% 314 0 0   100% 0 0   100%
dcim/models/devices.py Manufacturer   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py Manufacturer.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py DeviceType   28% 65 47 0   19% 48 9   24%
dcim/models/devices.py DeviceType.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py DeviceRole   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py DeviceRole.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py Platform   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py Platform.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py Device   40% 174 104 0   33% 124 29   37%
dcim/models/devices.py Device.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py VirtualChassis   58% 12 5 0   50% 6 3   56%
dcim/models/devices.py VirtualChassis.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py VirtualDeviceContext   0% 18 18 0   0% 14 0   0%
dcim/models/devices.py VirtualDeviceContext.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py MACAddress   0% 17 17 0   0% 10 0   0%
dcim/models/devices.py MACAddress.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/devices.py (no class)   100% 226 0 0   100% 0 0   100%
dcim/models/mixins.py RenderConfigMixin   57% 7 3 0   50% 6 3   54%
dcim/models/mixins.py RenderConfigMixin.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/mixins.py CachedScopeMixin   68% 22 7 0   58% 12 3   65%
dcim/models/mixins.py CachedScopeMixin.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/mixins.py InterfaceValidationMixin   40% 40 24 0   34% 38 13   37%
dcim/models/mixins.py InterfaceChannelRenameMixin   44% 36 20 0   25% 12 3   40%
dcim/models/mixins.py CoolingLoopValidationMixin   0% 13 13 0   0% 6 0   0%
dcim/models/mixins.py DiameterMixin   9% 11 10 0   0% 6 0   6%
dcim/models/mixins.py DiameterMixin.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/mixins.py MaxFlowMixin   9% 11 10 0   0% 6 0   6%
dcim/models/mixins.py MaxFlowMixin.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/mixins.py (no class)   100% 67 0 0   100% 0 0   100%
dcim/models/module_moves.py ComponentMove   100% 0 0 0   100% 0 0   100%
dcim/models/module_moves.py ModuleMovePlan   0% 420 420 0   0% 226 0   0%
dcim/models/module_moves.py (no class)   100% 65 0 0   100% 0 0   100%
dcim/models/modules.py ModuleBayType   0% 4 4 0   0% 2 0   0%
dcim/models/modules.py ModuleBayType.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/modules.py ModuleTypeProfile   100% 1 0 0   100% 0 0   100%
dcim/models/modules.py ModuleTypeProfile.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/modules.py ModuleType   0% 49 49 0   0% 30 0   0%
dcim/models/modules.py ModuleType.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/modules.py Module   0% 135 135 0   0% 80 0   0%
dcim/models/modules.py Module.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/modules.py (no class)   100% 105 0 0   100% 0 0   100%
dcim/models/power.py PowerPanel   0% 4 4 0   0% 2 0   0%
dcim/models/power.py PowerPanel.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/power.py PowerFeed   0% 14 14 0   0% 6 0   0%
dcim/models/power.py PowerFeed.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/power.py (no class)   100% 50 0 0   100% 0 0   100%
dcim/models/racks.py RackGroup   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py RackGroup.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py RackBase   0% 1 1 0   100% 0 0   0%
dcim/models/racks.py RackBase.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py RackType   0% 20 20 0   0% 12 0   0%
dcim/models/racks.py RackType.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py RackRole   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py RackRole.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py Rack   0% 108 108 0   0% 78 0   0%
dcim/models/racks.py Rack.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py RackReservation   0% 17 17 0   0% 8 0   0%
dcim/models/racks.py RackReservation.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/racks.py (no class)   100% 133 0 0   100% 0 0   100%
dcim/models/sites.py Region   0% 1 1 0   100% 0 0   0%
dcim/models/sites.py Region.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/sites.py SiteGroup   0% 1 1 0   100% 0 0   0%
dcim/models/sites.py SiteGroup.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/sites.py Site   50% 2 1 0   100% 0 0   50%
dcim/models/sites.py Site.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/sites.py Location   0% 4 4 0   0% 2 0   0%
dcim/models/sites.py Location.Meta   100% 0 0 0   100% 0 0   100%
dcim/models/sites.py (no class)   100% 77 0 0   100% 0 0   100%
dcim/object_actions.py BulkAddComponents   0% 1 1 0   100% 0 0   0%
dcim/object_actions.py BulkDisconnect   100% 0 0 0   100% 0 0   100%
dcim/object_actions.py (no class)   100% 16 0 0   100% 0 0   100%
dcim/search.py CableBundleIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py CableIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ConsolePortIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ConsoleServerPortIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py CoolingFeedIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py CoolingOutflowIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py CoolingIntakeIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py CoolingSourceIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py DeviceIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py DeviceBayIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py DeviceRoleIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py DeviceTypeIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py FrontPortIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py MACAddressIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py InterfaceIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py InventoryItemIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py InventoryItemRoleIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py LocationIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ManufacturerIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ModuleIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ModuleBayIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ModuleBayTypeIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ModuleTypeProfileIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py ModuleTypeIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py PlatformIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py PowerFeedIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py PowerOutletIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py PowerPanelIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py PowerPortIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py RackTypeIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py RackIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py RackReservationIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py RackGroupIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py RackRoleIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py RearPortIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py RegionIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py SiteIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py SiteGroupIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py VirtualChassisIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py VirtualDeviceContextIndex   100% 0 0 0   100% 0 0   100%
dcim/search.py (no class)   100% 202 0 0   100% 0 0   100%
dcim/signals.py (no class)   34% 195 129 0   15% 98 11   28%
dcim/svg/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
dcim/svg/cables.py Node   0% 16 16 0   0% 2 0   0%
dcim/svg/cables.py Connector   0% 24 24 0   0% 6 0   0%
dcim/svg/cables.py CableTraceSVG   0% 168 168 0   0% 74 0   0%
dcim/svg/cables.py (no class)   86% 49 7 0   0% 4 0   79%
dcim/svg/racks.py RackElevationSVG   0% 121 121 0   0% 28 0   0%
dcim/svg/racks.py (no class)   66% 62 21 0   0% 10 0   57%
dcim/tables/__init__.py (no class)   100% 9 0 0   100% 0 0   100%
dcim/tables/cables.py CableTerminationsColumn   21% 14 11 0   0% 8 0   14%
dcim/tables/cables.py CableTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cables.py CableTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cables.py CableBundleTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cables.py CableBundleTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cables.py (no class)   100% 45 0 0   100% 0 0   100%
dcim/tables/connections.py ConsoleConnectionTable   100% 0 0 0   100% 0 0   100%
dcim/tables/connections.py ConsoleConnectionTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/connections.py PowerConnectionTable   100% 0 0 0   100% 0 0   100%
dcim/tables/connections.py PowerConnectionTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/connections.py InterfaceConnectionTable   100% 0 0 0   100% 0 0   100%
dcim/tables/connections.py InterfaceConnectionTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/connections.py (no class)   100% 28 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingSourceTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingSourceTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingFeedTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingFeedTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingIntakeTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingIntakeTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingOutflowTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingOutflowTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingIntakeTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingIntakeTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingOutflowTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py CoolingOutflowTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py DeviceCoolingIntakeTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py DeviceCoolingIntakeTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py DeviceCoolingOutflowTable   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py DeviceCoolingOutflowTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/cooling.py (no class)   100% 87 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceRoleTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceRoleTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py PlatformTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py PlatformTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceComponentTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceComponentTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py ModularDeviceComponentTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py ModularDeviceComponentTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py CableTerminationTable   0% 1 1 0   100% 0 0   0%
dcim/tables/devices.py CableTerminationTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py PathEndpointTable   0% 8 8 0   0% 6 0   0%
dcim/tables/devices.py ConsolePortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py ConsolePortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceConsolePortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceConsolePortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py ConsoleServerPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py ConsoleServerPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceConsoleServerPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceConsoleServerPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py PowerPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py PowerPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DevicePowerPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DevicePowerPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py PowerOutletTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py PowerOutletTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DevicePowerOutletTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DevicePowerOutletTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py BaseInterfaceTable   0% 2 2 0   100% 0 0   0%
dcim/tables/devices.py InterfaceTable   0% 4 4 0   0% 2 0   0%
dcim/tables/devices.py InterfaceTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py InterfaceLAGMemberTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py InterfaceLAGMemberTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceInterfaceTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceInterfaceTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py FrontPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py FrontPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceFrontPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceFrontPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py RearPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py RearPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceRearPortTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceRearPortTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceBayTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceBayTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceDeviceBayTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceDeviceBayTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py ModuleBayTable   0% 2 2 0   100% 0 0   0%
dcim/tables/devices.py ModuleBayTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceModuleBayTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceModuleBayTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py InventoryItemTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py InventoryItemTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceInventoryItemTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py DeviceInventoryItemTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py InventoryItemRoleTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py InventoryItemRoleTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py VirtualChassisTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py VirtualChassisTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py VirtualDeviceContextTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py VirtualDeviceContextTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py MACAddressActionsColumn   0% 19 19 0   0% 8 0   0%
dcim/tables/devices.py MACAddressTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py MACAddressTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devices.py (no class)   100% 360 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ManufacturerTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ManufacturerTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py DeviceTypeTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py DeviceTypeTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ComponentTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ComponentTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ConsolePortTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ConsolePortTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ConsoleServerPortTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ConsoleServerPortTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py PowerPortTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py PowerPortTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py PowerOutletTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py PowerOutletTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py InterfaceTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py InterfaceTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py FrontPortTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py FrontPortTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py RearPortTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py RearPortTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ModuleBayTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py ModuleBayTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py DeviceBayTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py DeviceBayTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py InventoryItemTemplateTable   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py InventoryItemTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/devicetypes.py (no class)   100% 125 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleBayTypeTable   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleBayTypeTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleTypeProfileTable   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleTypeProfileTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleTypeTable   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleTypeTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleTable   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py ModuleTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/modules.py (no class)   100% 49 0 0   100% 0 0   100%
dcim/tables/power.py PowerPanelTable   100% 0 0 0   100% 0 0   100%
dcim/tables/power.py PowerPanelTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/power.py PowerFeedTable   100% 0 0 0   100% 0 0   100%
dcim/tables/power.py PowerFeedTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/power.py (no class)   100% 32 0 0   100% 0 0   100%
dcim/tables/racks.py RackGroupTable   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackGroupTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackRoleTable   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackRoleTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackTypeTable   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackTypeTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackTable   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackReservationTable   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py RackReservationTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/racks.py (no class)   100% 81 0 0   100% 0 0   100%
dcim/tables/sites.py RegionTable   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py RegionTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py SiteGroupTable   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py SiteGroupTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py SiteTable   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py SiteTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py LocationTable   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py LocationTable.Meta   100% 0 0 0   100% 0 0   100%
dcim/tables/sites.py (no class)   100% 46 0 0   100% 0 0   100%
dcim/tables/template_code.py (no class)   100% 28 0 0   100% 0 0   100%
dcim/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py BayTypeIncompatibilityPanel   0% 11 11 0   0% 4 0   0%
dcim/ui/panels.py SitePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py LocationPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RackDimensionsPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RackNumberingPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RackPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RackWeightPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RackRolePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RackReservationPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RackTypePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py DevicePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py DeviceManagementPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py DeviceDeviceTypePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py DeviceDimensionsPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py DeviceRolePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py DeviceTypePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ModulePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ModuleBayTypePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ModuleTypeProfilePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ModuleTypePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py PlatformPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ConsolePortPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ConsoleServerPortPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py PowerPortPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py PowerOutletPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py CoolingIntakePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py CoolingOutflowPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py FrontPortPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RearPortPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ModuleBayPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py InstalledModulePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py DeviceBayPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py InstalledDevicePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py InventoryItemPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py InventoryItemRolePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py CablePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py VirtualChassisPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py PowerPanelPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py PowerFeedPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py PowerFeedElectricalPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py CoolingSourcePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py CoolingFeedPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py CoolingFeedCharacteristicsPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py VirtualDeviceContextPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py MACAddressPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py ConnectionPanel   80% 5 1 0   100% 0 0   80%
dcim/ui/panels.py InventoryItemsPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py VirtualChassisMembersPanel   0% 2 2 0   100% 0 0   0%
dcim/ui/panels.py PowerUtilizationPanel   0% 3 3 0   100% 0 0   0%
dcim/ui/panels.py InterfacePanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py RelatedInterfacesPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py InterfaceAddressingPanel   100% 0 0 0   100% 0 0   100%
dcim/ui/panels.py InterfaceConnectionPanel   0% 2 2 0   100% 0 0   0%
dcim/ui/panels.py VirtualCircuitPanel   0% 4 4 0   0% 2 0   0%
dcim/ui/panels.py InterfaceWirelessPanel   0% 2 2 0   100% 0 0   0%
dcim/ui/panels.py WirelessLANsPanel   0% 2 2 0   100% 0 0   0%
dcim/ui/panels.py (no class)   100% 403 0 0   100% 0 0   100%
dcim/urls.py (no class)   100% 5 0 0   100% 0 0   100%
dcim/utils.py (no class)   22% 147 114 0   4% 72 3   16%
dcim/views.py DeviceComponentsView   0% 1 1 0   100% 0 0   0%
dcim/views.py DeviceTypeComponentsView   0% 2 2 0   100% 0 0   0%
dcim/views.py ModuleTypeComponentsView   0% 2 2 0   100% 0 0   0%
dcim/views.py BulkDisconnectView   0% 24 24 0   0% 10 0   0%
dcim/views.py BulkDisconnectView.__init__._Form   100% 0 0 0   100% 0 0   100%
dcim/views.py PathTraceView   0% 23 23 0   0% 8 0   0%
dcim/views.py RegionListView   100% 0 0 0   100% 0 0   100%
dcim/views.py RegionView   0% 2 2 0   100% 0 0   0%
dcim/views.py RegionEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RegionDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RegionBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py RegionBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RegionBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py RegionBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteGroupListView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteGroupView   0% 2 2 0   100% 0 0   0%
dcim/views.py SiteGroupEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteGroupDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteGroupBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteGroupBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteListView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteView   0% 1 1 0   100% 0 0   0%
dcim/views.py SiteEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py SiteBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py LocationListView   100% 0 0 0   100% 0 0   100%
dcim/views.py LocationView   0% 3 3 0   100% 0 0   0%
dcim/views.py LocationEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py LocationDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py LocationBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py LocationBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py LocationBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py LocationBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackGroupListView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackGroupView   0% 1 1 0   100% 0 0   0%
dcim/views.py RackGroupEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackGroupDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackGroupBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackGroupBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackRoleListView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackRoleView   0% 1 1 0   100% 0 0   0%
dcim/views.py RackRoleEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackRoleDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackRoleBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackRoleBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackRoleBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackRoleBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackTypeListView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackTypeView   0% 1 1 0   100% 0 0   0%
dcim/views.py RackTypeEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackTypeDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackTypeBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackTypeBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackTypeBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackListView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackElevationListView   0% 20 20 0   0% 4 0   0%
dcim/views.py RackView   0% 8 8 0   0% 2 0   0%
dcim/views.py RackRackReservationsView   0% 1 1 0   100% 0 0   0%
dcim/views.py RackNonRackedView   0% 1 1 0   100% 0 0   0%
dcim/views.py RackEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackReservationListView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackReservationView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackReservationEditView   0% 5 5 0   0% 4 0   0%
dcim/views.py RackReservationDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackReservationImportView   0% 4 4 0   100% 0 0   0%
dcim/views.py RackReservationBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RackReservationBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ManufacturerListView   100% 0 0 0   100% 0 0   100%
dcim/views.py ManufacturerView   0% 1 1 0   100% 0 0   0%
dcim/views.py ManufacturerEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ManufacturerDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ManufacturerBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py ManufacturerBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ManufacturerBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ManufacturerBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeListView   0% 2 2 0   100% 0 0   0%
dcim/views.py DeviceTypeView   0% 1 1 0   100% 0 0   0%
dcim/views.py DeviceTypeEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeConsolePortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeConsoleServerPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypePowerPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypePowerOutletsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeCoolingIntakesView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeCoolingOutflowsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeInterfacesView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeFrontPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeRearPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeModuleBaysView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeDeviceBaysView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeInventoryItemsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeImportView   0% 2 2 0   100% 0 0   0%
dcim/views.py DeviceTypeBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTypeListView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTypeView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTypeEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTypeDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTypeBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTypeBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileListView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeProfileBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeListView   0% 2 2 0   100% 0 0   0%
dcim/views.py ModuleTypeView   0% 1 1 0   100% 0 0   0%
dcim/views.py ModuleTypeEditView   0% 11 11 0   0% 4 0   0%
dcim/views.py ModuleTypeDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeConsolePortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeConsoleServerPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypePowerPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypePowerOutletsView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeCoolingIntakesView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeCoolingOutflowsView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeInterfacesView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeFrontPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeRearPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeModuleBaysView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeImportView   0% 2 2 0   100% 0 0   0%
dcim/views.py ModuleTypeBulkEditView   0% 14 14 0   0% 8 0   0%
dcim/views.py ModuleTypeBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTemplateBulkEditView   0% 7 7 0   0% 4 0   0%
dcim/views.py ModuleBayTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayTemplateCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemTemplateCreateView   0% 6 6 0   0% 2 0   0%
dcim/views.py InventoryItemTemplateEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemTemplateDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRoleListView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRoleView   0% 1 1 0   100% 0 0   0%
dcim/views.py DeviceRoleEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRoleDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRoleBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRoleBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRoleBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRoleBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PlatformListView   100% 0 0 0   100% 0 0   100%
dcim/views.py PlatformView   0% 1 1 0   100% 0 0   0%
dcim/views.py PlatformEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PlatformDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PlatformBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py PlatformBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PlatformBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py PlatformBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceListView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceView   0% 4 4 0   0% 2 0   0%
dcim/views.py DeviceEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceConsolePortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceConsoleServerPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DevicePowerPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DevicePowerOutletsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceCoolingIntakesView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceCoolingOutflowsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceInterfacesView   0% 1 1 0   100% 0 0   0%
dcim/views.py DeviceFrontPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRearPortsView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceModuleBaysView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceDeviceBaysView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceInventoryView   0% 1 1 0   100% 0 0   0%
dcim/views.py DeviceConfigContextView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceRenderConfigView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceVirtualMachinesView   0% 1 1 0   100% 0 0   0%
dcim/views.py DeviceBulkImportView   0% 8 8 0   0% 2 0   0%
dcim/views.py DeviceBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleListView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleView   0% 1 1 0   100% 0 0   0%
dcim/views.py ModuleEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortListView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsolePortBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortListView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleServerPortBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortListView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPortBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletListView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerOutletBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeListView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingIntakeBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowListView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingOutflowBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceListView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceView   0% 15 15 0   0% 4 0   0%
dcim/views.py InterfaceCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceBulkEditView   0% 6 6 0   0% 6 0   0%
dcim/views.py InterfaceBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py InterfaceBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortListView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortView   0% 1 1 0   100% 0 0   0%
dcim/views.py FrontPortCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py FrontPortBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortListView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortView   0% 1 1 0   100% 0 0   0%
dcim/views.py RearPortCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py RearPortBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayListView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayEditView   0% 10 10 0   0% 4 0   0%
dcim/views.py ModuleBayDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayBulkEditView   0% 14 14 0   0% 8 0   0%
dcim/views.py ModuleBayBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py ModuleBayBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayListView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayPopulateView   0% 13 13 0   0% 2 0   0%
dcim/views.py DeviceBayDepopulateView   0% 14 14 0   0% 2 0   0%
dcim/views.py DeviceBayBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBayBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemListView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemChildrenView   0% 1 1 0   100% 0 0   0%
dcim/views.py InventoryItemRoleListView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemRoleView   0% 1 1 0   100% 0 0   0%
dcim/views.py InventoryItemRoleEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemRoleDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemRoleBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemRoleBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemRoleBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py InventoryItemRoleBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddConsolePortView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddConsoleServerPortView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddPowerPortView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddPowerOutletView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddCoolingIntakeView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddCoolingOutflowView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddInterfaceView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddRearPortView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddModuleBayView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddDeviceBayView   100% 0 0 0   100% 0 0   100%
dcim/views.py DeviceBulkAddInventoryItemView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBundleListView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBundleView   0% 3 3 0   100% 0 0   0%
dcim/views.py CableBundleEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBundleDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBundleBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBundleBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBundleBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableListView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableEditView   0% 9 9 0   0% 6 0   0%
dcim/views.py CableDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py CableBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py ConsoleConnectionsListView   0% 1 1 0   100% 0 0   0%
dcim/views.py PowerConnectionsListView   0% 1 1 0   100% 0 0   0%
dcim/views.py InterfaceConnectionsListView   0% 1 1 0   100% 0 0   0%
dcim/views.py VirtualChassisListView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualChassisView   0% 2 2 0   100% 0 0   0%
dcim/views.py VirtualChassisCreateView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualChassisEditView   0% 29 29 0   0% 6 0   0%
dcim/views.py VirtualChassisDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualChassisAddMemberView   0% 22 22 0   0% 6 0   0%
dcim/views.py VirtualChassisRemoveMemberView   0% 20 20 0   0% 4 0   0%
dcim/views.py VirtualChassisBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualChassisBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualChassisBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualChassisBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPanelListView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPanelView   0% 1 1 0   100% 0 0   0%
dcim/views.py PowerPanelEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPanelDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPanelBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPanelBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPanelBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerPanelBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedListView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedBulkDisconnectView   100% 0 0 0   100% 0 0   100%
dcim/views.py PowerFeedBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingSourceListView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingSourceView   0% 1 1 0   100% 0 0   0%
dcim/views.py CoolingSourceEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingSourceDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingSourceBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingSourceBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingSourceBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingSourceBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedListView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py CoolingFeedBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualDeviceContextListView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualDeviceContextView   0% 1 1 0   100% 0 0   0%
dcim/views.py VirtualDeviceContextEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualDeviceContextDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualDeviceContextBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualDeviceContextBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualDeviceContextBulkRenameView   100% 0 0 0   100% 0 0   100%
dcim/views.py VirtualDeviceContextBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py MACAddressListView   100% 0 0 0   100% 0 0   100%
dcim/views.py MACAddressView   100% 0 0 0   100% 0 0   100%
dcim/views.py MACAddressEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py MACAddressDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py MACAddressSetPrimaryView   0% 19 19 0   0% 4 0   0%
dcim/views.py MACAddressBulkImportView   100% 0 0 0   100% 0 0   100%
dcim/views.py MACAddressBulkEditView   100% 0 0 0   100% 0 0   100%
dcim/views.py MACAddressBulkDeleteView   100% 0 0 0   100% 0 0   100%
dcim/views.py (no class)   100% 2464 0 0   100% 0 0   100%
extras/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
extras/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
extras/api/customfields.py CustomFieldDefaultValues   57% 7 3 0   25% 4 1   45%
extras/api/customfields.py CustomFieldsDataField   37% 49 31 0   33% 30 2   35%
extras/api/customfields.py CustomFieldListSerializer   41% 17 10 0   25% 12 1   34%
extras/api/customfields.py (no class)   100% 21 0 0   100% 0 0   100%
extras/api/mixins.py SharedObjectQuerySetMixin   100% 1 0 0   100% 0 0   100%
extras/api/mixins.py ConfigContextQuerySetMixin   100% 4 0 0   100% 2 0   100%
extras/api/mixins.py ConfigTemplateRenderMixin   0% 11 11 0   0% 4 0   0%
extras/api/mixins.py RenderConfigMixin   78% 18 4 0   83% 6 1   79%
extras/api/mixins.py (no class)   100% 22 0 0   100% 0 0   100%
extras/api/routers.py ScriptRouter   100% 7 0 0   100% 2 0   100%
extras/api/routers.py (no class)   100% 6 0 0   100% 0 0   100%
extras/api/serializers.py (no class)   100% 15 0 0   100% 0 0   100%
extras/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/attachments.py ImageAttachmentSerializer   0% 6 6 0   100% 0 0   0%
extras/api/serializers_/attachments.py ImageAttachmentSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/attachments.py (no class)   100% 19 0 0   100% 0 0   100%
extras/api/serializers_/bookmarks.py BookmarkSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/bookmarks.py BookmarkSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/bookmarks.py (no class)   100% 15 0 0   100% 0 0   100%
extras/api/serializers_/configcontexts.py ConfigContextProfileSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configcontexts.py ConfigContextProfileSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configcontexts.py ConfigContextSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configcontexts.py ConfigContextSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configcontexts.py (no class)   100% 46 0 0   100% 0 0   100%
extras/api/serializers_/configtemplates.py ConfigTemplateSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configtemplates.py ConfigTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configtemplates.py RenderConfigInputSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configtemplates.py RenderConfigInputSerializerExtension   100% 3 0 0   100% 0 0   100%
extras/api/serializers_/configtemplates.py RenderedConfigSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/configtemplates.py (no class)   100% 25 0 0   100% 0 0   100%
extras/api/serializers_/customfields.py CustomFieldChoiceSetSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/customfields.py CustomFieldChoiceSetSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/customfields.py CustomFieldSerializer   0% 15 15 0   0% 12 0   0%
extras/api/serializers_/customfields.py CustomFieldSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/customfields.py (no class)   100% 37 0 0   100% 0 0   100%
extras/api/serializers_/customlinks.py CustomLinkSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/customlinks.py CustomLinkSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/customlinks.py (no class)   100% 12 0 0   100% 0 0   100%
extras/api/serializers_/dashboard.py DashboardSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/dashboard.py DashboardSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/dashboard.py (no class)   100% 7 0 0   100% 0 0   100%
extras/api/serializers_/events.py EventRuleSerializer   100% 4 0 0   50% 2 1   83%
extras/api/serializers_/events.py EventRuleSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/events.py WebhookSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/events.py WebhookSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/events.py (no class)   100% 26 0 0   100% 0 0   100%
extras/api/serializers_/exporttemplates.py ExportTemplateSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/exporttemplates.py ExportTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/exporttemplates.py (no class)   100% 16 0 0   100% 0 0   100%
extras/api/serializers_/journaling.py JournalEntrySerializer   40% 10 6 0   50% 4 0   43%
extras/api/serializers_/journaling.py JournalEntrySerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/journaling.py (no class)   100% 21 0 0   100% 0 0   100%
extras/api/serializers_/notifications.py NotificationSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/notifications.py NotificationSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/notifications.py NotificationGroupSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/notifications.py NotificationGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/notifications.py SubscriptionSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/notifications.py SubscriptionSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/notifications.py (no class)   100% 31 0 0   100% 0 0   100%
extras/api/serializers_/savedfilters.py SavedFilterSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/savedfilters.py SavedFilterSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/savedfilters.py (no class)   100% 12 0 0   100% 0 0   100%
extras/api/serializers_/scripts.py ScriptModuleSerializer   25% 53 40 0   21% 14 3   24%
extras/api/serializers_/scripts.py ScriptModuleSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/scripts.py ScriptSerializer   0% 7 7 0   0% 4 0   0%
extras/api/serializers_/scripts.py ScriptSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/scripts.py ScriptDetailSerializer   0% 4 4 0   100% 0 0   0%
extras/api/serializers_/scripts.py ScriptInputSerializer   16% 19 16 0   7% 14 1   12%
extras/api/serializers_/scripts.py (no class)   100% 53 0 0   100% 0 0   100%
extras/api/serializers_/tableconfigs.py TableConfigSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/tableconfigs.py TableConfigSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/tableconfigs.py (no class)   100% 11 0 0   100% 0 0   100%
extras/api/serializers_/tags.py TagSerializer   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/tags.py TagSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/tags.py TaggedItemSerializer   0% 6 6 0   100% 0 0   0%
extras/api/serializers_/tags.py TaggedItemSerializer.Meta   100% 0 0 0   100% 0 0   100%
extras/api/serializers_/tags.py (no class)   100% 27 0 0   100% 0 0   100%
extras/api/urls.py (no class)   100% 28 0 0   100% 0 0   100%
extras/api/views.py ExtrasRootView   0% 1 1 0   100% 0 0   0%
extras/api/views.py EventRuleViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py WebhookViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py CustomFieldViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py CustomFieldChoiceSetViewSet   11% 9 8 0   0% 4 0   8%
extras/api/views.py CustomLinkViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py ExportTemplateViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py SavedFilterViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py TableConfigViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py BookmarkViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py NotificationViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py NotificationGroupViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py SubscriptionViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py TagViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py TaggedItemViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py ImageAttachmentViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py JournalEntryViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py ConfigContextProfileViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py ConfigContextViewSet   100% 0 0 0   100% 0 0   100%
extras/api/views.py ConfigTemplateViewSet   71% 7 2 0   100% 2 0   78%
extras/api/views.py ScriptModuleViewSet   71% 7 2 0   100% 2 0   78%
extras/api/views.py ScriptViewSet   40% 52 31 0   33% 18 2   39%
extras/api/views.py DashboardView   100% 1 0 0   100% 0 0   100%
extras/api/views.py (no class)   100% 144 0 0   100% 0 0   100%
extras/apps.py ExtrasConfig   100% 8 0 0   100% 0 0   100%
extras/apps.py (no class)   100% 4 0 0   100% 0 0   100%
extras/cache.py (no class)   80% 55 11 0   54% 26 8   72%
extras/choices.py CustomFieldTypeChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py CustomFieldStatusChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py CustomFieldFilterLogicChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py CustomFieldUIVisibleChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py CustomFieldUIEditableChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py CustomFieldChoiceSetBaseChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py CustomFieldChoiceColorChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py CustomLinkButtonClassChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py BookmarkOrderingChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py JournalEntryKindChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py LogLevelChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py WebhookHttpMethodChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py DashboardWidgetColorChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py EventRuleActionChoices   100% 0 0 0   100% 0 0   100%
extras/choices.py (no class)   100% 110 0 0   100% 0 0   100%
extras/conditions.py AbsentData   0% 1 1 0   100% 0 0   0%
extras/conditions.py InvalidCondition   100% 0 0 0   100% 0 0   100%
extras/conditions.py Condition   0% 102 102 0   0% 46 0   0%
extras/conditions.py ConditionSet   0% 14 14 0   0% 6 0   0%
extras/conditions.py (no class)   68% 71 23 0   0% 20 0   53%
extras/constants.py (no class)   100% 14 0 0   100% 0 0   100%
extras/dashboard/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
extras/dashboard/forms.py DashboardWidgetForm   100% 0 0 0   100% 0 0   100%
extras/dashboard/forms.py DashboardWidgetAddForm   100% 0 0 0   100% 0 0   100%
extras/dashboard/forms.py (no class)   93% 15 1 0   100% 0 0   93%
extras/dashboard/utils.py (no class)   42% 36 21 0   0% 4 0   38%
extras/dashboard/widgets.py WidgetConfigForm   100% 0 0 0   100% 0 0   100%
extras/dashboard/widgets.py DashboardWidget   0% 17 17 0   0% 4 0   0%
extras/dashboard/widgets.py DashboardWidget.ConfigForm   100% 0 0 0   100% 0 0   100%
extras/dashboard/widgets.py NoteWidget   0% 1 1 0   100% 0 0   0%
extras/dashboard/widgets.py NoteWidget.ConfigForm   100% 0 0 0   100% 0 0   100%
extras/dashboard/widgets.py ObjectCountsWidget   0% 21 21 0   0% 6 0   0%
extras/dashboard/widgets.py ObjectCountsWidget.ConfigForm   0% 6 6 0   0% 2 0   0%
extras/dashboard/widgets.py ObjectListWidget   0% 21 21 0   0% 6 0   0%
extras/dashboard/widgets.py ObjectListWidget.ConfigForm   0% 12 12 0   0% 6 0   0%
extras/dashboard/widgets.py RSSFeedWidget   0% 28 28 0   0% 14 0   0%
extras/dashboard/widgets.py RSSFeedWidget.ConfigForm   100% 0 0 0   100% 0 0   100%
extras/dashboard/widgets.py BookmarksWidget   0% 16 16 0   0% 10 0   0%
extras/dashboard/widgets.py BookmarksWidget.ConfigForm   100% 0 0 0   100% 0 0   100%
extras/dashboard/widgets.py (no class)   84% 133 21 0   0% 4 0   82%
extras/data/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
extras/data/iata.py (no class)   100% 1 0 0   100% 0 0   100%
extras/data/iso_3166.py (no class)   100% 1 0 0   100% 0 0   100%
extras/data/un_locode.py (no class)   100% 1 0 0   100% 0 0   100%
extras/event_rules.py WebhookAction   0% 7 7 0   0% 2 0   0%
extras/event_rules.py ScriptAction   0% 14 14 0   0% 4 0   0%
extras/event_rules.py NotificationAction   0% 2 2 0   100% 0 0   0%
extras/event_rules.py (no class)   100% 38 0 0   100% 0 0   100%
extras/events.py EventContext   62% 13 5 0   33% 6 2   53%
extras/events.py (no class)   60% 96 38 0   40% 42 5   54%
extras/fields.py CachedValueField   100% 0 0 0   100% 0 0   100%
extras/fields.py ChoiceSetField   100% 5 0 0   100% 0 0   100%
extras/fields.py (no class)   100% 8 0 0   100% 0 0   100%
extras/filters.py MissingKeyAwareFilterMixin   0% 18 18 0   0% 10 0   0%
extras/filters.py TagFilter   100% 5 0 0   100% 0 0   100%
extras/filters.py TagIDFilter   100% 5 0 0   100% 0 0   100%
extras/filters.py (no class)   82% 17 3 0   0% 2 0   74%
extras/filtersets.py ScriptFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py ScriptFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py WebhookFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py WebhookFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py EventRuleFilterSet   50% 8 4 0   50% 4 0   50%
extras/filtersets.py EventRuleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py CustomFieldFilterSet   67% 3 1 0   50% 2 1   60%
extras/filtersets.py CustomFieldFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py CustomFieldChoiceSetFilterSet   0% 17 17 0   0% 14 0   0%
extras/filtersets.py CustomFieldChoiceSetFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py CustomLinkFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py CustomLinkFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py ExportTemplateFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py ExportTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py SavedFilterFilterSet   0% 11 11 0   0% 8 0   0%
extras/filtersets.py SavedFilterFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py TableConfigFilterSet   0% 11 11 0   0% 8 0   0%
extras/filtersets.py TableConfigFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py BookmarkFilterSet   100% 0 0 0   100% 0 0   100%
extras/filtersets.py BookmarkFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py NotificationGroupFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py NotificationGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py ImageAttachmentFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py ImageAttachmentFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py JournalEntryFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py JournalEntryFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py TagFilterSet   0% 15 15 0   0% 4 0   0%
extras/filtersets.py TagFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py TaggedItemFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py TaggedItemFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py ConfigContextProfileFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py ConfigContextProfileFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py ConfigContextFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py ConfigContextFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py ConfigTemplateFilterSet   0% 3 3 0   0% 2 0   0%
extras/filtersets.py ConfigTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
extras/filtersets.py LocalConfigContextFilterSet   0% 1 1 0   100% 0 0   0%
extras/filtersets.py (no class)   100% 245 0 0   100% 0 0   100%
extras/forms/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
extras/forms/bulk_edit.py CustomFieldBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py CustomFieldChoiceSetBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py CustomLinkBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py ExportTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py SavedFilterBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py TableConfigBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py WebhookBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py EventRuleBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py TagBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py ConfigContextProfileBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py ConfigContextBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py ConfigTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py ImageAttachmentBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py JournalEntryBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py NotificationGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_edit.py (no class)   100% 124 0 0   100% 0 0   100%
extras/forms/bulk_import.py CustomFieldImportForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py CustomFieldImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py CustomFieldChoiceSetImportForm   0% 27 27 0   0% 10 0   0%
extras/forms/bulk_import.py CustomFieldChoiceSetImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py CustomLinkImportForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py CustomLinkImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py ExportTemplateImportForm   0% 10 10 0   0% 4 0   0%
extras/forms/bulk_import.py ExportTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py ConfigContextProfileImportForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py ConfigContextProfileImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py ConfigTemplateImportForm   0% 8 8 0   0% 4 0   0%
extras/forms/bulk_import.py ConfigTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py SavedFilterImportForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py SavedFilterImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py WebhookImportForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py WebhookImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py EventRuleImportForm   0% 31 31 0   0% 16 0   0%
extras/forms/bulk_import.py EventRuleImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py TagImportForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py TagImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py JournalEntryImportForm   0% 3 3 0   0% 2 0   0%
extras/forms/bulk_import.py JournalEntryImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py NotificationGroupImportForm   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py NotificationGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/bulk_import.py (no class)   100% 102 0 0   100% 0 0   100%
extras/forms/filtersets.py CustomFieldFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py CustomFieldChoiceSetFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py CustomLinkFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py ExportTemplateFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py ImageAttachmentFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py SavedFilterFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py TableConfigFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py WebhookFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py EventRuleFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py TagFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py ConfigContextProfileFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py ConfigContextFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py ConfigTemplateFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py LocalConfigContextFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py JournalEntryFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py NotificationGroupFilterForm   100% 0 0 0   100% 0 0   100%
extras/forms/filtersets.py (no class)   100% 153 0 0   100% 0 0   100%
extras/forms/misc.py RenderMarkdownForm   100% 0 0 0   100% 0 0   100%
extras/forms/misc.py (no class)   100% 5 0 0   100% 0 0   100%
extras/forms/model_forms.py CustomFieldForm   0% 22 22 0   0% 12 0   0%
extras/forms/model_forms.py CustomFieldForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py CustomFieldChoiceSetForm   0% 50 50 0   0% 26 0   0%
extras/forms/model_forms.py CustomFieldChoiceSetForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py CustomLinkForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py CustomLinkForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py ExportTemplateForm   0% 8 8 0   0% 4 0   0%
extras/forms/model_forms.py ExportTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py SavedFilterForm   0% 4 4 0   0% 4 0   0%
extras/forms/model_forms.py SavedFilterForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py TableConfigForm   0% 31 31 0   0% 14 0   0%
extras/forms/model_forms.py TableConfigForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py BookmarkForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py BookmarkForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py NotificationGroupForm   0% 4 4 0   0% 2 0   0%
extras/forms/model_forms.py NotificationGroupForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py SubscriptionForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py SubscriptionForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py WebhookForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py WebhookForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py EventRuleForm   0% 25 25 0   0% 10 0   0%
extras/forms/model_forms.py EventRuleForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py TagForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py TagForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py ConfigContextProfileForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py ConfigContextProfileForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py ConfigContextForm   0% 11 11 0   0% 8 0   0%
extras/forms/model_forms.py ConfigContextForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py ConfigTemplateForm   0% 8 8 0   0% 4 0   0%
extras/forms/model_forms.py ConfigTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py ImageAttachmentForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py ImageAttachmentForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py JournalEntryForm   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py JournalEntryForm.Meta   100% 0 0 0   100% 0 0   100%
extras/forms/model_forms.py (no class)   100% 190 0 0   100% 0 0   100%
extras/forms/reports.py ReportForm   0% 12 12 0   0% 6 0   0%
extras/forms/reports.py (no class)   0% 11 11 0   100% 0 0   0%
extras/forms/scripts.py ScriptForm   0% 14 14 0   0% 8 0   0%
extras/forms/scripts.py ScriptFileForm   0% 21 21 0   0% 6 0   0%
extras/forms/scripts.py (no class)   100% 19 0 0   100% 0 0   100%
extras/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
extras/graphql/enums.py (no class)   100% 17 0 0   100% 0 0   100%
extras/graphql/filter_lookups.py ExtraChoicesLookup   0% 5 5 0   0% 4 0   0%
extras/graphql/filter_lookups.py (no class)   100% 12 0 0   100% 0 0   100%
extras/graphql/filter_mixins.py CustomFieldsFilterMixin   100% 0 0 0   100% 0 0   100%
extras/graphql/filter_mixins.py JournalEntriesFilterMixin   100% 0 0 0   100% 0 0   100%
extras/graphql/filter_mixins.py TagsFilterMixin   100% 0 0 0   100% 0 0   100%
extras/graphql/filter_mixins.py ConfigContextFilterMixin   100% 0 0 0   100% 0 0   100%
extras/graphql/filter_mixins.py (no class)   90% 20 2 0   50% 2 1   86%
extras/graphql/filters.py ConfigContextFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py ConfigContextProfileFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py ConfigTemplateFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py CustomFieldFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py CustomFieldChoiceSetFilter   0% 14 14 0   0% 12 0   0%
extras/graphql/filters.py CustomLinkFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py ExportTemplateFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py ImageAttachmentFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py JournalEntryFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py NotificationFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py NotificationGroupFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py SavedFilterFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py SubscriptionFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py TableConfigFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py TagFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py WebhookFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py EventRuleFilter   100% 0 0 0   100% 0 0   100%
extras/graphql/filters.py (no class)   96% 209 9 0   50% 2 1   95%
extras/graphql/mixins.py ConfigContextMixin   0% 6 6 0   0% 2 0   0%
extras/graphql/mixins.py CustomFieldsMixin   0% 1 1 0   100% 0 0   0%
extras/graphql/mixins.py ImageAttachmentsMixin   0% 1 1 0   100% 0 0   0%
extras/graphql/mixins.py JournalEntriesMixin   0% 1 1 0   100% 0 0   0%
extras/graphql/mixins.py TagsMixin   100% 0 0 0   100% 0 0   100%
extras/graphql/mixins.py ContactsMixin   100% 0 0 0   100% 0 0   100%
extras/graphql/mixins.py (no class)   94% 33 2 0   50% 2 1   91%
extras/graphql/schema.py ExtrasQuery   100% 0 0 0   100% 0 0   100%
extras/graphql/schema.py (no class)   100% 39 0 0   100% 0 0   100%
extras/graphql/types.py SharedObjectMixin   0% 2 2 0   100% 0 0   0%
extras/graphql/types.py ConfigContextProfileType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py ConfigContextType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py ConfigTemplateType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py CustomFieldType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py CustomFieldChoiceSetType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py CustomLinkType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py ExportTemplateType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py ImageAttachmentType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py JournalEntryType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py NotificationType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py NotificationGroupType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py SavedFilterType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py SubscriptionType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py TableConfigType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py TagType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py WebhookType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py EventRuleType   100% 0 0 0   100% 0 0   100%
extras/graphql/types.py (no class)   93% 57 4 0   50% 2 1   92%
extras/jobs.py RenderConfigContextJob   0% 22 22 0   0% 8 0   0%
extras/jobs.py RenderConfigContextJob.Meta   100% 0 0 0   100% 0 0   100%
extras/jobs.py CustomFieldDataJob   0% 1 1 0   100% 0 0   0%
extras/jobs.py CustomFieldProvisioningJob   0% 3 3 0   0% 2 0   0%
extras/jobs.py CustomFieldProvisioningJob.Meta   100% 0 0 0   100% 0 0   100%
extras/jobs.py CustomFieldPurgeJob   0% 3 3 0   0% 2 0   0%
extras/jobs.py CustomFieldPurgeJob.Meta   100% 0 0 0   100% 0 0   100%
extras/jobs.py ScriptJob   0% 61 61 0   0% 28 0   0%
extras/jobs.py ScriptJob.Meta   100% 0 0 0   100% 0 0   100%
extras/jobs.py (no class)   72% 65 18 0   0% 4 0   68%
extras/lookups.py RangeContains   0% 8 8 0   0% 2 0   0%
extras/lookups.py ChoiceValueLookup   0% 3 3 0   100% 0 0   0%
extras/lookups.py Empty   100% 4 0 0   100% 2 0   100%
extras/lookups.py JSONEmpty   0% 8 8 0   0% 2 0   0%
extras/lookups.py NetHost   0% 4 4 0   100% 0 0   0%
extras/lookups.py NetContainsOrEquals   0% 4 4 0   100% 0 0   0%
extras/lookups.py CollatedCaseInsensitiveMixin   100% 5 0 0   100% 2 0   100%
extras/lookups.py CollatedIContains   100% 0 0 0   100% 0 0   100%
extras/lookups.py CollatedIExact   100% 0 0 0   100% 0 0   100%
extras/lookups.py CollatedIStartsWith   100% 0 0 0   100% 0 0   100%
extras/lookups.py CollatedIEndsWith   100% 0 0 0   100% 0 0   100%
extras/lookups.py (no class)   100% 49 0 0   100% 0 0   100%
extras/management/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
extras/management/commands/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
extras/management/commands/populate_image_sizes.py Command   0% 31 31 0   0% 20 0   0%
extras/management/commands/populate_image_sizes.py (no class)   0% 6 6 0   100% 0 0   0%
extras/management/commands/rebuild_config_context_cache.py Command   0% 15 15 0   0% 6 0   0%
extras/management/commands/rebuild_config_context_cache.py (no class)   0% 8 8 0   100% 0 0   0%
extras/management/commands/reindex.py Command   53% 53 25 0   40% 30 6   48%
extras/management/commands/reindex.py (no class)   100% 10 0 0   100% 0 0   100%
extras/management/commands/renaturalize.py Command   0% 53 53 0   0% 32 0   0%
extras/management/commands/renaturalize.py (no class)   0% 9 9 0   100% 0 0   0%
extras/management/commands/runscript.py Command   0% 48 48 0   0% 10 0   0%
extras/management/commands/runscript.py (no class)   0% 14 14 0   100% 0 0   0%
extras/management/commands/webhook_receiver.py WebhookHandler   0% 21 21 0   0% 10 0   0%
extras/management/commands/webhook_receiver.py Command   0% 11 11 0   100% 0 0   0%
extras/management/commands/webhook_receiver.py (no class)   0% 15 15 0   100% 0 0   0%
extras/managers.py NetBoxTaggableManager   0% 20 20 0   0% 6 0   0%
extras/managers.py NetBoxTaggableManagerField   50% 6 3 0   100% 2 0   62%
extras/managers.py (no class)   100% 13 0 0   100% 0 0   100%
extras/models/__init__.py (no class)   100% 8 0 0   100% 0 0   100%
extras/models/configs.py ConfigContextProfile   50% 2 1 0   100% 0 0   50%
extras/models/configs.py ConfigContextProfile.Meta   100% 0 0 0   100% 0 0   100%
extras/models/configs.py ConfigContext   0% 62 62 0   0% 28 0   0%
extras/models/configs.py ConfigContext.Meta   100% 0 0 0   100% 0 0   100%
extras/models/configs.py ConfigContextModel   81% 21 4 0   64% 14 5   74%
extras/models/configs.py ConfigContextModel.Meta   100% 0 0 0   100% 0 0   100%
extras/models/configs.py ConfigTemplate   0% 25 25 0   0% 14 0   0%
extras/models/configs.py ConfigTemplate.Meta   100% 0 0 0   100% 0 0   100%
extras/models/configs.py (no class)   100% 95 0 0   100% 0 0   100%
extras/models/customfields.py CustomFieldManager   83% 12 2 0   67% 6 0   78%
extras/models/customfields.py CustomField   0% 340 340 0   0% 252 0   0%
extras/models/customfields.py CustomField.Meta   100% 0 0 0   100% 0 0   100%
extras/models/customfields.py CustomFieldChoiceSet   0% 66 66 0   0% 52 0   0%
extras/models/customfields.py CustomFieldChoiceSet.Meta   100% 0 0 0   100% 0 0   100%
extras/models/customfields.py (no class)   100% 141 0 0   100% 0 0   100%
extras/models/dashboard.py Dashboard   0% 16 16 0   0% 2 0   0%
extras/models/dashboard.py Dashboard.Meta   100% 0 0 0   100% 0 0   100%
extras/models/dashboard.py (no class)   100% 15 0 0   100% 0 0   100%
extras/models/mixins.py CustomStoragesLoader   0% 5 5 0   100% 0 0   0%
extras/models/mixins.py PythonModuleMixin   0% 16 16 0   0% 4 0   0%
extras/models/mixins.py RenderTemplateMixin   0% 63 63 0   0% 34 0   0%
extras/models/mixins.py RenderTemplateMixin.Meta   100% 0 0 0   100% 0 0   100%
extras/models/mixins.py (no class)   100% 50 0 0   100% 0 0   100%
extras/models/models.py EventRule   0% 28 28 0   0% 10 0   0%
extras/models/models.py EventRule.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py Webhook   27% 41 30 0   23% 22 5   25%
extras/models/models.py Webhook.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py CustomLink   0% 15 15 0   0% 4 0   0%
extras/models/models.py CustomLink.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py ExportTemplate   0% 10 10 0   0% 2 0   0%
extras/models/models.py ExportTemplate.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py SavedFilter   0% 8 8 0   0% 2 0   0%
extras/models/models.py SavedFilter.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py TableConfig   0% 26 26 0   0% 18 0   0%
extras/models/models.py TableConfig.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py ImageAttachment   0% 43 43 0   0% 10 0   0%
extras/models/models.py ImageAttachment.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py JournalEntry   0% 7 7 0   0% 2 0   0%
extras/models/models.py JournalEntry.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py Bookmark   0% 7 7 0   0% 4 0   0%
extras/models/models.py Bookmark.Meta   100% 0 0 0   100% 0 0   100%
extras/models/models.py (no class)   100% 243 0 0   100% 0 0   100%
extras/models/notifications.py Notification   0% 10 10 0   0% 4 0   0%
extras/models/notifications.py Notification.Meta   100% 0 0 0   100% 0 0   100%
extras/models/notifications.py NotificationGroup   0% 5 5 0   0% 2 0   0%
extras/models/notifications.py NotificationGroup.Meta   100% 0 0 0   100% 0 0   100%
extras/models/notifications.py Subscription   0% 7 7 0   0% 4 0   0%
extras/models/notifications.py Subscription.Meta   100% 0 0 0   100% 0 0   100%
extras/models/notifications.py (no class)   100% 74 0 0   100% 0 0   100%
extras/models/scripts.py Script   0% 9 9 0   0% 2 0   0%
extras/models/scripts.py Script.Meta   100% 0 0 0   100% 0 0   100%
extras/models/scripts.py ScriptModuleManager   100% 1 0 0   100% 0 0   100%
extras/models/scripts.py ScriptModule   0% 44 44 0   0% 12 0   0%
extras/models/scripts.py ScriptModule.Meta   100% 0 0 0   100% 0 0   100%
extras/models/scripts.py (no class)   100% 60 0 0   100% 0 0   100%
extras/models/search.py CachedValue   0% 10 10 0   0% 6 0   0%
extras/models/search.py CachedValue.Meta   100% 0 0 0   100% 0 0   100%
extras/models/search.py (no class)   100% 26 0 0   100% 0 0   100%
extras/models/tags.py Tag   0% 6 6 0   0% 2 0   0%
extras/models/tags.py Tag.Meta   100% 0 0 0   100% 0 0   100%
extras/models/tags.py TaggedItem   100% 0 0 0   100% 0 0   100%
extras/models/tags.py TaggedItem.Meta   100% 0 0 0   100% 0 0   100%
extras/models/tags.py (no class)   100% 37 0 0   100% 0 0   100%
extras/querysets.py ConfigContextQuerySet   94% 18 1 0   50% 2 1   90%
extras/querysets.py ConfigContextModelQuerySet   100% 18 0 0   67% 6 2   92%
extras/querysets.py NotificationQuerySet   0% 1 1 0   100% 0 0   0%
extras/querysets.py SharedObjectQuerySet   40% 5 3 0   25% 4 1   33%
extras/querysets.py (no class)   100% 15 0 0   100% 0 0   100%
extras/reports.py Report   0% 6 6 0   100% 0 0   0%
extras/reports.py (no class)   0% 10 10 0   100% 0 0   0%
extras/scripts.py ScriptVariable   0% 17 17 0   0% 14 0   0%
extras/scripts.py StringVar   0% 7 7 0   0% 6 0   0%
extras/scripts.py TextVar   0% 2 2 0   100% 0 0   0%
extras/scripts.py IntegerVar   0% 5 5 0   0% 4 0   0%
extras/scripts.py DecimalVar   0% 9 9 0   0% 8 0   0%
extras/scripts.py BooleanVar   0% 2 2 0   100% 0 0   0%
extras/scripts.py ChoiceVar   0% 2 2 0   100% 0 0   0%
extras/scripts.py DateVar   0% 2 2 0   100% 0 0   0%
extras/scripts.py DateTimeVar   0% 2 2 0   100% 0 0   0%
extras/scripts.py MultiChoiceVar   0% 2 2 0   100% 0 0   0%
extras/scripts.py ObjectVar   0% 2 2 0   100% 0 0   0%
extras/scripts.py MultiObjectVar   100% 0 0 0   100% 0 0   100%
extras/scripts.py FileVar   100% 0 0 0   100% 0 0   100%
extras/scripts.py IPAddressVar   100% 0 0 0   100% 0 0   100%
extras/scripts.py IPAddressWithMaskVar   100% 0 0 0   100% 0 0   100%
extras/scripts.py IPNetworkVar   0% 6 6 0   0% 4 0   0%
extras/scripts.py BaseScript   0% 134 134 0   0% 54 0   0%
extras/scripts.py BaseScript.Meta   100% 0 0 0   100% 0 0   100%
extras/scripts.py Script   100% 0 0 0   100% 0 0   100%
extras/scripts.py (no class)   90% 141 14 0   0% 8 0   85%
extras/search.py ConfigContextProfileIndex   100% 0 0 0   100% 0 0   100%
extras/search.py CustomFieldIndex   100% 0 0 0   100% 0 0   100%
extras/search.py ImageAttachmentIndex   100% 0 0 0   100% 0 0   100%
extras/search.py JournalEntryIndex   100% 0 0 0   100% 0 0   100%
extras/search.py TagIndex   100% 0 0 0   100% 0 0   100%
extras/search.py WebhookEntryIndex   100% 0 0 0   100% 0 0   100%
extras/search.py (no class)   100% 33 0 0   100% 0 0   100%
extras/signals.py (no class)   69% 181 57 0   44% 68 8   62%
extras/storage.py ScriptFileSystemStorage   0% 1 1 0   100% 0 0   0%
extras/storage.py (no class)   100% 6 0 0   100% 0 0   100%
extras/tables/__init__.py (no class)   100% 1 0 0   100% 0 0   100%
extras/tables/columns.py CustomFieldStatusColumn   0% 3 3 0   100% 0 0   0%
extras/tables/columns.py NotificationActionsColumn   100% 0 0 0   100% 0 0   100%
extras/tables/columns.py (no class)   100% 12 0 0   100% 0 0   100%
extras/tables/tables.py CustomFieldTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py CustomFieldTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py CustomFieldChoiceSetTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py CustomFieldChoiceSetTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py CustomLinkTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py CustomLinkTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ExportTemplateTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ExportTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ImageAttachmentTable   0% 2 2 0   100% 0 0   0%
extras/tables/tables.py ImageAttachmentTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py SavedFilterTable   0% 1 1 0   100% 0 0   0%
extras/tables/tables.py SavedFilterTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py TableConfigTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py TableConfigTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py BookmarkTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py BookmarkTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py SubscriptionTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py SubscriptionTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py NotificationTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py NotificationTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py NotificationGroupTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py NotificationGroupTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py WebhookTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py WebhookTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py EventRuleTable   0% 5 5 0   0% 2 0   0%
extras/tables/tables.py EventRuleTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py TagTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py TagTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py TaggedItemTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py TaggedItemTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ConfigContextProfileTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ConfigContextProfileTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ConfigContextTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ConfigContextTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ConfigTemplateTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ConfigTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py JournalEntryTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py JournalEntryTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ScriptResultsTable   0% 2 2 0   100% 0 0   0%
extras/tables/tables.py ScriptResultsTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ScriptJobTable   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ScriptJobTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py ReportResultsTable   0% 2 2 0   100% 0 0   0%
extras/tables/tables.py ReportResultsTable.Meta   100% 0 0 0   100% 0 0   100%
extras/tables/tables.py (no class)   100% 279 0 0   100% 0 0   100%
extras/templatetags/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
extras/templatetags/custom_links.py (no class)   30% 43 30 0   0% 18 0   21%
extras/templatetags/dashboard.py (no class)   50% 14 7 0   100% 0 0   50%
extras/templatetags/log_levels.py (no class)   83% 6 1 0   100% 0 0   83%
extras/ui/panels.py CustomFieldsPanel   0% 3 3 0   100% 0 0   0%
extras/ui/panels.py ImageAttachmentsPanel   100% 1 0 0   100% 0 0   100%
extras/ui/panels.py TagsPanel   0% 1 1 0   100% 0 0   0%
extras/ui/panels.py ObjectTypesPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py CustomFieldPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py CustomFieldBehaviorPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py CustomFieldValidationPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py CustomFieldObjectTypesPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py CustomFieldRelatedObjectsPanel   0% 1 1 0   100% 0 0   0%
extras/ui/panels.py CustomFieldChoiceSetPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py CustomFieldChoiceSetChoicesPanel   0% 3 3 0   100% 0 0   0%
extras/ui/panels.py CustomLinkPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py ExportTemplatePanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py SavedFilterPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py SavedFilterObjectTypesPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py TableConfigPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py TableConfigColumnsPanel   0% 1 1 0   100% 0 0   0%
extras/ui/panels.py TableConfigOrderingPanel   0% 1 1 0   100% 0 0   0%
extras/ui/panels.py NotificationGroupPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py NotificationGroupGroupsPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py NotificationGroupUsersPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py WebhookPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py WebhookTimeoutAttr   0% 3 3 0   0% 2 0   0%
extras/ui/panels.py WebhookHTTPPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py WebhookSSLPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py EventRulePanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py EventRuleEventTypesPanel   0% 1 1 0   100% 0 0   0%
extras/ui/panels.py EventRuleActionPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py TagPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py TagObjectTypesPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py TagItemTypesPanel   0% 1 1 0   100% 0 0   0%
extras/ui/panels.py ConfigContextProfilePanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py ConfigContextPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py ConfigContextAssignmentPanel   0% 1 1 0   100% 0 0   0%
extras/ui/panels.py ConfigTemplatePanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py ImageAttachmentPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py ImageAttachmentFilePanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py ImageAttachmentImagePanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py JournalEntryPanel   100% 0 0 0   100% 0 0   100%
extras/ui/panels.py (no class)   100% 210 0 0   100% 0 0   100%
extras/urls.py (no class)   100% 5 0 0   100% 0 0   100%
extras/utils.py SharedObjectViewMixin   0% 1 1 0   100% 0 0   0%
extras/utils.py (no class)   38% 79 49 0   25% 16 2   36%
extras/validators.py IsEqualValidator   0% 1 1 0   100% 0 0   0%
extras/validators.py IsNotEqualValidator   0% 1 1 0   100% 0 0   0%
extras/validators.py IsEmptyValidator   0% 3 3 0   0% 2 0   0%
extras/validators.py IsNotEmptyValidator   0% 3 3 0   0% 2 0   0%
extras/validators.py CustomValidator   0% 40 40 0   0% 20 0   0%
extras/validators.py (no class)   100% 34 0 0   100% 0 0   100%
extras/views.py CustomFieldListView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldView   0% 4 4 0   0% 2 0   0%
extras/views.py CustomFieldEditView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldChoiceSetListView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldChoiceSetView   0% 12 12 0   100% 0 0   0%
extras/views.py CustomFieldChoiceSetEditView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldChoiceSetDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldChoiceSetBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldChoiceSetBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldChoiceSetBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomFieldChoiceSetBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkListView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py CustomLinkBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateListView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ExportTemplateBulkSyncDataView   100% 0 0 0   100% 0 0   100%
extras/views.py SavedFilterListView   100% 0 0 0   100% 0 0   100%
extras/views.py SavedFilterView   100% 0 0 0   100% 0 0   100%
extras/views.py SavedFilterEditView   0% 3 3 0   0% 2 0   0%
extras/views.py SavedFilterDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py SavedFilterBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py SavedFilterBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py SavedFilterBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py SavedFilterBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py TableConfigListView   100% 0 0 0   100% 0 0   100%
extras/views.py TableConfigView   0% 2 2 0   100% 0 0   0%
extras/views.py TableConfigEditView   0% 7 7 0   0% 4 0   0%
extras/views.py TableConfigDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py TableConfigBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py TableConfigBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py TableConfigBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py BookmarkCreateView   0% 3 3 0   100% 0 0   0%
extras/views.py BookmarkDeleteView   0% 1 1 0   100% 0 0   0%
extras/views.py BookmarkBulkDeleteView   0% 1 1 0   100% 0 0   0%
extras/views.py NotificationGroupListView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationGroupView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationGroupEditView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationGroupDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationGroupBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationGroupBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py NotificationsView   0% 1 1 0   100% 0 0   0%
extras/views.py NotificationReadView   0% 6 6 0   0% 2 0   0%
extras/views.py NotificationDismissAllView   0% 7 7 0   0% 4 0   0%
extras/views.py NotificationDismissView   0% 8 8 0   0% 4 0   0%
extras/views.py NotificationDeleteView   0% 1 1 0   100% 0 0   0%
extras/views.py NotificationBulkDeleteView   0% 1 1 0   100% 0 0   0%
extras/views.py SubscriptionCreateView   0% 3 3 0   100% 0 0   0%
extras/views.py SubscriptionDeleteView   0% 1 1 0   100% 0 0   0%
extras/views.py SubscriptionBulkDeleteView   0% 1 1 0   100% 0 0   0%
extras/views.py WebhookListView   100% 0 0 0   100% 0 0   100%
extras/views.py WebhookView   100% 0 0 0   100% 0 0   100%
extras/views.py WebhookEditView   100% 0 0 0   100% 0 0   100%
extras/views.py WebhookDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py WebhookBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py WebhookBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py WebhookBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py WebhookBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleListView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleEditView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py EventRuleBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py TagListView   100% 0 0 0   100% 0 0   100%
extras/views.py TagView   0% 5 5 0   100% 0 0   0%
extras/views.py TagEditView   100% 0 0 0   100% 0 0   100%
extras/views.py TagDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py TagBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py TagBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py TagBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py TagBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileListView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextProfileBulkSyncDataView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextListView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextView   0% 9 9 0   0% 6 0   0%
extras/views.py ConfigContextEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigContextBulkSyncDataView   100% 0 0 0   100% 0 0   100%
extras/views.py ObjectConfigContextView   0% 9 9 0   0% 6 0   0%
extras/views.py ConfigTemplateListView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ConfigTemplateBulkSyncDataView   100% 0 0 0   100% 0 0   100%
extras/views.py ObjectRenderConfigView   0% 27 27 0   0% 6 0   0%
extras/views.py ImageAttachmentListView   100% 0 0 0   100% 0 0   100%
extras/views.py ImageAttachmentView   100% 0 0 0   100% 0 0   100%
extras/views.py ImageAttachmentEditView   0% 5 5 0   0% 2 0   0%
extras/views.py ImageAttachmentDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ImageAttachmentBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py ImageAttachmentBulkRenameView   100% 0 0 0   100% 0 0   100%
extras/views.py ImageAttachmentBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py JournalEntryListView   100% 0 0 0   100% 0 0   100%
extras/views.py JournalEntryView   100% 0 0 0   100% 0 0   100%
extras/views.py JournalEntryEditView   0% 7 7 0   0% 4 0   0%
extras/views.py JournalEntryDeleteView   0% 2 2 0   100% 0 0   0%
extras/views.py JournalEntryBulkImportView   100% 0 0 0   100% 0 0   100%
extras/views.py JournalEntryBulkEditView   100% 0 0 0   100% 0 0   100%
extras/views.py JournalEntryBulkDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py DashboardResetView   0% 10 10 0   0% 2 0   0%
extras/views.py DashboardWidgetAddView   0% 24 24 0   0% 6 0   0%
extras/views.py DashboardWidgetConfigView   0% 17 17 0   0% 4 0   0%
extras/views.py DashboardWidgetDeleteView   0% 12 12 0   0% 4 0   0%
extras/views.py ScriptModuleCreateView   0% 2 2 0   100% 0 0   0%
extras/views.py ScriptModuleDeleteView   100% 0 0 0   100% 0 0   100%
extras/views.py ScriptListView   0% 10 10 0   0% 2 0   0%
extras/views.py BaseScriptView   0% 8 8 0   0% 6 0   0%
extras/views.py ScriptView   0% 29 29 0   0% 14 0   0%
extras/views.py ScriptSourceView   0% 3 3 0   100% 0 0   0%
extras/views.py ScriptJobsView   0% 4 4 0   100% 0 0   0%
extras/views.py ScriptResultView   0% 61 61 0   0% 36 0   0%
extras/views.py RenderMarkdownView   0% 5 5 0   0% 2 0   0%
extras/views.py (no class)   100% 737 0 0   100% 0 0   100%
extras/webhooks.py (no class)   0% 80 80 0   0% 18 0   0%
generate_secret_key.py (no class)   0% 2 2 0   100% 0 0   0%
ipam/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
ipam/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
ipam/api/field_serializers.py IPAddressField   100% 7 0 0   100% 0 0   100%
ipam/api/field_serializers.py IPNetworkField   71% 7 2 0   100% 0 0   71%
ipam/api/field_serializers.py (no class)   100% 12 0 0   100% 0 0   100%
ipam/api/serializers.py (no class)   100% 7 0 0   100% 0 0   100%
ipam/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py RIRSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py RIRSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py ASNRangeSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py ASNRangeSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py ASNSiteSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py ASNSiteSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py ASNSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py ASNSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/asns.py AvailableASNSerializer   0% 2 2 0   100% 0 0   0%
ipam/api/serializers_/asns.py (no class)   100% 43 0 0   100% 0 0   100%
ipam/api/serializers_/fhrpgroups.py FHRPGroupSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/fhrpgroups.py FHRPGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/fhrpgroups.py FHRPGroupAssignmentSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/fhrpgroups.py FHRPGroupAssignmentSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/fhrpgroups.py (no class)   100% 21 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py AggregateSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py AggregateSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py PrefixSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py PrefixSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py PrefixLengthSerializer   0% 11 11 0   0% 8 0   0%
ipam/api/serializers_/ip.py AvailablePrefixSerializer   75% 4 1 0   50% 2 1   67%
ipam/api/serializers_/ip.py IPRangeSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py IPRangeSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py AvailableIPRequestSerializer   71% 14 4 0   60% 10 2   67%
ipam/api/serializers_/ip.py IPAddressSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py IPAddressSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/ip.py AvailableIPSerializer   75% 4 1 0   50% 2 1   67%
ipam/api/serializers_/ip.py (no class)   100% 87 0 0   100% 0 0   100%
ipam/api/serializers_/nested.py NestedIPAddressSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/nested.py NestedIPAddressSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/nested.py NestedVLANSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/nested.py NestedVLANSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/nested.py (no class)   100% 15 0 0   100% 0 0   100%
ipam/api/serializers_/roles.py RoleSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/roles.py RoleSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/roles.py (no class)   100% 12 0 0   100% 0 0   100%
ipam/api/serializers_/services.py PortMappingsField   100% 5 0 0   100% 0 0   100%
ipam/api/serializers_/services.py PortMappingsSerializerMixin   0% 23 23 0   0% 14 0   0%
ipam/api/serializers_/services.py ServiceTemplateSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/services.py ServiceTemplateSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/services.py ServiceSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/services.py ServiceSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/services.py (no class)   100% 35 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANGroupSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py AvailableVLANSerializer   100% 1 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py CreateAvailableVLANSerializer   0% 1 1 0   100% 0 0   0%
ipam/api/serializers_/vlans.py CreateAvailableVLANSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANTranslationRuleSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANTranslationRuleSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANTranslationPolicySerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py VLANTranslationPolicySerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vlans.py (no class)   100% 66 0 0   100% 0 0   100%
ipam/api/serializers_/vrfs.py RouteTargetSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vrfs.py RouteTargetSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vrfs.py VRFSerializer   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vrfs.py VRFSerializer.Meta   100% 0 0 0   100% 0 0   100%
ipam/api/serializers_/vrfs.py (no class)   100% 21 0 0   100% 0 0   100%
ipam/api/urls.py (no class)   100% 26 0 0   100% 0 0   100%
ipam/api/views.py IPAMRootView   0% 1 1 0   100% 0 0   0%
ipam/api/views.py ASNRangeViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py ASNViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py VRFViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py RouteTargetViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py RIRViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py AggregateViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py RoleViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py PrefixViewSet   67% 3 1 0   50% 2 1   60%
ipam/api/views.py IPRangeViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py IPAddressViewSet   100% 3 0 0   100% 0 0   100%
ipam/api/views.py FHRPGroupViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py FHRPGroupAssignmentViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py VLANGroupViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py VLANViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py VLANTranslationPolicyViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py VLANTranslationRuleViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py ServiceTemplateViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py ServiceViewSet   100% 0 0 0   100% 0 0   100%
ipam/api/views.py AvailableObjectsView   76% 37 9 0   62% 8 3   73%
ipam/api/views.py AvailableASNsView   38% 8 5 0   0% 2 0   30%
ipam/api/views.py AvailablePrefixesView   69% 16 5 0   25% 8 2   54%
ipam/api/views.py AvailableIPAddressesView   86% 14 2 0   83% 6 1   85%
ipam/api/views.py PrefixAvailableIPAddressesView   100% 1 0 0   100% 0 0   100%
ipam/api/views.py IPRangeAvailableIPAddressesView   100% 1 0 0   100% 0 0   100%
ipam/api/views.py AvailableVLANsView   62% 8 3 0   0% 2 0   50%
ipam/api/views.py (no class)   99% 184 2 0   50% 2 1   98%
ipam/apps.py IPAMConfig   100% 3 0 0   100% 0 0   100%
ipam/apps.py (no class)   100% 5 0 0   100% 0 0   100%
ipam/choices.py IPAddressFamilyChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py PrefixStatusChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py IPRangeStatusChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py IPAddressStatusChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py IPAddressRoleChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py FHRPGroupProtocolChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py FHRPGroupAuthTypeChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py VLANStatusChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py VLANQinQRoleChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py ServiceProtocolChoices   100% 0 0 0   100% 0 0   100%
ipam/choices.py (no class)   100% 65 0 0   100% 0 0   100%
ipam/constants.py (no class)   100% 18 0 0   100% 0 0   100%
ipam/fields.py BaseIPField   65% 20 7 0   67% 6 2   65%
ipam/fields.py IPNetworkField   100% 1 0 0   100% 0 0   100%
ipam/fields.py IPAddressField   100% 1 0 0   100% 0 0   100%
ipam/fields.py ASNField   33% 9 6 0   0% 4 0   23%
ipam/fields.py (no class)   100% 64 0 0   100% 0 0   100%
ipam/filtersets.py VRFFilterSet   0% 3 3 0   0% 2 0   0%
ipam/filtersets.py VRFFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py RouteTargetFilterSet   0% 3 3 0   0% 2 0   0%
ipam/filtersets.py RouteTargetFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py RIRFilterSet   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py RIRFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py AggregateFilterSet   0% 18 18 0   0% 4 0   0%
ipam/filtersets.py AggregateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py ASNRangeFilterSet   0% 3 3 0   0% 2 0   0%
ipam/filtersets.py ASNRangeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py ASNFilterSet   0% 8 8 0   0% 2 0   0%
ipam/filtersets.py ASNFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py RoleFilterSet   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py RoleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py PrefixFilterSet   0% 46 46 0   0% 14 0   0%
ipam/filtersets.py PrefixFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py IPRangeFilterSet   0% 32 32 0   0% 8 0   0%
ipam/filtersets.py IPRangeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py IPAddressFilterSet   0% 56 56 0   0% 26 0   0%
ipam/filtersets.py IPAddressFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py FHRPGroupFilterSet   30% 10 7 0   17% 6 1   25%
ipam/filtersets.py FHRPGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py FHRPGroupAssignmentFilterSet   0% 14 14 0   0% 8 0   0%
ipam/filtersets.py FHRPGroupAssignmentFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py VLANGroupFilterSet   33% 6 4 0   0% 2 0   25%
ipam/filtersets.py VLANGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py VLANFilterSet   14% 28 24 0   20% 10 2   16%
ipam/filtersets.py VLANFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py VLANTranslationPolicyFilterSet   0% 4 4 0   0% 2 0   0%
ipam/filtersets.py VLANTranslationPolicyFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py VLANTranslationRuleFilterSet   0% 10 10 0   0% 2 0   0%
ipam/filtersets.py VLANTranslationRuleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py ServicePortMappingFilterMixin   41% 22 13 0   20% 10 2   34%
ipam/filtersets.py ServiceTemplateFilterSet   0% 4 4 0   0% 2 0   0%
ipam/filtersets.py ServiceTemplateFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py ServiceFilterSet   0% 25 25 0   0% 14 0   0%
ipam/filtersets.py ServiceFilterSet.Meta   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py PrimaryIPFilterSet   100% 0 0 0   100% 0 0   100%
ipam/filtersets.py (no class)   100% 333 0 0   100% 0 0   100%
ipam/formfields.py IPAddressFormField   0% 17 17 0   0% 4 0   0%
ipam/formfields.py IPNetworkFormField   0% 10 10 0   0% 6 0   0%
ipam/formfields.py (no class)   100% 11 0 0   100% 0 0   100%
ipam/forms/__init__.py (no class)   100% 7 0 0   100% 0 0   100%
ipam/forms/bulk_create.py IPNetworkBulkCreateForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_create.py VLANIDBulkCreateForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_create.py (no class)   100% 9 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py VRFBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py RouteTargetBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py RIRBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py ASNRangeBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py ASNBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py AggregateBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py RoleBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py PrefixBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py IPRangeBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py IPAddressBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py FHRPGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py VLANGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py VLANBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py VLANTranslationPolicyBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py VLANTranslationRuleBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py ServiceTemplateBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py ServiceBulkEditForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_edit.py (no class)   100% 140 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VRFImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VRFImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py RouteTargetImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py RouteTargetImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py RIRImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py RIRImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py AggregateImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py AggregateImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py ASNRangeImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py ASNRangeImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py ASNImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py ASNImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py RoleImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py RoleImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py PrefixImportForm   0% 12 12 0   0% 6 0   0%
ipam/forms/bulk_import.py PrefixImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py IPRangeImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py IPRangeImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py IPAddressImportForm   0% 61 61 0   0% 42 0   0%
ipam/forms/bulk_import.py IPAddressImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py FHRPGroupImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py FHRPGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANGroupImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANTranslationPolicyImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANTranslationPolicyImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANTranslationRuleImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py VLANTranslationRuleImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py ServicePortMappingsImportMixin   0% 15 15 0   0% 4 0   0%
ipam/forms/bulk_import.py ServiceTemplateImportForm   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py ServiceTemplateImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py ServiceImportForm   0% 25 25 0   0% 20 0   0%
ipam/forms/bulk_import.py ServiceImportForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/bulk_import.py (no class)   100% 149 0 0   100% 0 0   100%
ipam/forms/fields.py PortMappingField   0% 42 42 0   0% 20 0   0%
ipam/forms/fields.py (no class)   100% 13 0 0   100% 0 0   100%
ipam/forms/filtersets.py VRFFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py RouteTargetFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py RIRFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py AggregateFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py ASNRangeFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py ASNFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py RoleFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py PrefixFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py IPRangeFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py IPAddressFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py FHRPGroupFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py VLANGroupFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py VLANTranslationPolicyFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py VLANTranslationRuleFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py VLANFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py ServiceTemplateFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py ServiceFilterForm   100% 0 0 0   100% 0 0   100%
ipam/forms/filtersets.py (no class)   100% 170 0 0   100% 0 0   100%
ipam/forms/model_forms.py VRFForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VRFForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py RouteTargetForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py RouteTargetForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py RIRForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py RIRForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py AggregateForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py AggregateForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ASNRangeForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ASNRangeForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ASNForm   0% 6 6 0   0% 2 0   0%
ipam/forms/model_forms.py ASNForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py RoleForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py RoleForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py PrefixForm   0% 9 9 0   0% 6 0   0%
ipam/forms/model_forms.py PrefixForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py PrefixBulkAddForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py IPRangeForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py IPRangeForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py IPAddressForm   0% 70 70 0   0% 50 0   0%
ipam/forms/model_forms.py IPAddressForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py IPAddressBulkAddForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py IPAddressBulkAddForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py IPAddressAssignForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py FHRPGroupForm   0% 16 16 0   0% 8 0   0%
ipam/forms/model_forms.py FHRPGroupForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py FHRPGroupAssignmentForm   0% 7 7 0   0% 4 0   0%
ipam/forms/model_forms.py FHRPGroupAssignmentForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANGroupForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANGroupForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANBulkAddForm   0% 2 2 0   100% 0 0   0%
ipam/forms/model_forms.py VLANTranslationPolicyForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANTranslationPolicyForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANTranslationRuleForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py VLANTranslationRuleForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ServicePortMappingsMixin   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ServiceTemplateForm   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ServiceTemplateForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ServiceForm   0% 8 8 0   0% 6 0   0%
ipam/forms/model_forms.py ServiceForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py ServiceCreateForm   0% 13 13 0   0% 8 0   0%
ipam/forms/model_forms.py ServiceCreateForm.Meta   100% 0 0 0   100% 0 0   100%
ipam/forms/model_forms.py (no class)   100% 188 0 0   100% 0 0   100%
ipam/forms/widgets.py PortMappingWidget   0% 14 14 0   0% 6 0   0%
ipam/forms/widgets.py (no class)   100% 11 0 0   100% 0 0   100%
ipam/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
ipam/graphql/enums.py (no class)   100% 13 0 0   100% 0 0   100%
ipam/graphql/filters.py ASNFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py ASNRangeFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py AggregateFilter   0% 11 11 0   0% 4 0   0%
ipam/graphql/filters.py FHRPGroupFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py FHRPGroupAssignmentFilter   0% 9 9 0   0% 2 0   0%
ipam/graphql/filters.py IPAddressFilter   0% 12 12 0   0% 4 0   0%
ipam/graphql/filters.py IPRangeFilter   0% 22 22 0   0% 8 0   0%
ipam/graphql/filters.py PrefixFilter   0% 11 11 0   0% 4 0   0%
ipam/graphql/filters.py RIRFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py RoleFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py RouteTargetFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py ServiceFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py ServiceTemplateFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py VLANFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py VLANGroupFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py VLANTranslationPolicyFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py VLANTranslationRuleFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py VRFFilter   100% 0 0 0   100% 0 0   100%
ipam/graphql/filters.py (no class)   87% 233 31 0   10% 10 1   84%
ipam/graphql/mixins.py IPAddressesMixin   100% 0 0 0   100% 0 0   100%
ipam/graphql/mixins.py VLANGroupsMixin   100% 0 0 0   100% 0 0   100%
ipam/graphql/mixins.py (no class)   100% 7 0 0   100% 0 0   100%
ipam/graphql/schema.py IPAMQuery   100% 0 0 0   100% 0 0   100%
ipam/graphql/schema.py (no class)   100% 41 0 0   100% 0 0   100%
ipam/graphql/types.py IPAddressFamilyType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py ASNType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py ASNRangeType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py AggregateType   0% 1 1 0   100% 0 0   0%
ipam/graphql/types.py FHRPGroupType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py FHRPGroupAssignmentType   0% 1 1 0   100% 0 0   0%
ipam/graphql/types.py IPAddressType   0% 2 2 0   100% 0 0   0%
ipam/graphql/types.py IPRangeType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py PrefixType   0% 2 2 0   100% 0 0   0%
ipam/graphql/types.py RIRType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py RoleType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py RouteTargetType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py ServiceType   0% 3 3 0   100% 0 0   0%
ipam/graphql/types.py ServiceTemplateType   0% 2 2 0   100% 0 0   0%
ipam/graphql/types.py VLANType   0% 1 1 0   100% 0 0   0%
ipam/graphql/types.py VLANGroupType   0% 1 1 0   100% 0 0   0%
ipam/graphql/types.py VLANTranslationPolicyType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py VLANTranslationRuleType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py VRFType   100% 0 0 0   100% 0 0   100%
ipam/graphql/types.py (no class)   94% 87 5 0   50% 2 1   93%
ipam/lookups.py NetFieldDecoratorMixin   0% 4 4 0   100% 0 0   0%
ipam/lookups.py IExact   0% 1 1 0   100% 0 0   0%
ipam/lookups.py EndsWith   100% 0 0 0   100% 0 0   100%
ipam/lookups.py IEndsWith   0% 1 1 0   100% 0 0   0%
ipam/lookups.py StartsWith   100% 0 0 0   100% 0 0   100%
ipam/lookups.py IStartsWith   0% 1 1 0   100% 0 0   0%
ipam/lookups.py Regex   100% 0 0 0   100% 0 0   100%
ipam/lookups.py IRegex   100% 0 0 0   100% 0 0   100%
ipam/lookups.py NetContainsOrEquals   100% 4 0 0   100% 0 0   100%
ipam/lookups.py NetContains   0% 4 4 0   100% 0 0   0%
ipam/lookups.py NetContained   100% 4 0 0   100% 0 0   100%
ipam/lookups.py NetContainedOrEqual   100% 4 0 0   100% 0 0   100%
ipam/lookups.py NetHost   100% 7 0 0   50% 2 1   89%
ipam/lookups.py NetIn   0% 24 24 0   0% 12 0   0%
ipam/lookups.py NetHostContained   0% 4 4 0   100% 0 0   0%
ipam/lookups.py NetHostBetween   67% 12 4 0   50% 4 2   62%
ipam/lookups.py NetFamily   0% 1 1 0   100% 0 0   0%
ipam/lookups.py NetMaskLength   0% 1 1 0   100% 0 0   0%
ipam/lookups.py Host   100% 0 0 0   100% 0 0   100%
ipam/lookups.py Inet   100% 0 0 0   100% 0 0   100%
ipam/lookups.py (no class)   100% 64 0 0   100% 0 0   100%
ipam/management/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
ipam/management/commands/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
ipam/management/commands/rebuild_prefixes.py Command   0% 10 10 0   0% 2 0   0%
ipam/management/commands/rebuild_prefixes.py (no class)   0% 7 7 0   100% 0 0   0%
ipam/managers.py IPAddressManager   100% 1 0 0   100% 0 0   100%
ipam/managers.py (no class)   100% 5 0 0   100% 0 0   100%
ipam/models/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
ipam/models/asns.py ASNRange   0% 16 16 0   0% 4 0   0%
ipam/models/asns.py ASNRange.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/asns.py ASN   0% 6 6 0   0% 2 0   0%
ipam/models/asns.py ASN.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/asns.py (no class)   100% 49 0 0   100% 0 0   100%
ipam/models/fhrp.py FHRPGroup   89% 9 1 0   67% 6 2   80%
ipam/models/fhrp.py FHRPGroup.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/fhrp.py FHRPGroupAssignment   0% 4 4 0   0% 2 0   0%
ipam/models/fhrp.py FHRPGroupAssignment.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/fhrp.py (no class)   100% 37 0 0   100% 0 0   100%
ipam/models/ip.py GetAvailablePrefixesMixin   56% 9 4 0   25% 4 1   46%
ipam/models/ip.py RIR   100% 0 0 0   100% 0 0   100%
ipam/models/ip.py RIR.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/ip.py Aggregate   0% 28 28 0   0% 18 0   0%
ipam/models/ip.py Aggregate.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/ip.py Role   0% 1 1 0   100% 0 0   0%
ipam/models/ip.py Role.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/ip.py Prefix   40% 116 70 0   33% 46 11   38%
ipam/models/ip.py Prefix.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/ip.py IPRange   0% 61 61 0   0% 34 0   0%
ipam/models/ip.py IPRange.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/ip.py IPAddress   40% 89 53 0   27% 64 17   35%
ipam/models/ip.py IPAddress.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/ip.py (no class)   100% 196 0 0   100% 0 0   100%
ipam/models/services.py ServiceBase   0% 27 27 0   0% 8 0   0%
ipam/models/services.py ServiceBase.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/services.py ServiceTemplate   100% 0 0 0   100% 0 0   100%
ipam/models/services.py ServiceTemplate.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/services.py Service   100% 0 0 0   100% 0 0   100%
ipam/models/services.py Service.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/services.py (no class)   100% 53 0 0   100% 0 0   100%
ipam/models/vlans.py VLANGroup   62% 40 15 0   59% 22 7   61%
ipam/models/vlans.py VLANGroup.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/vlans.py VLAN   40% 20 12 0   31% 16 5   36%
ipam/models/vlans.py VLAN.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/vlans.py VLANTranslationPolicy   100% 1 0 0   100% 0 0   100%
ipam/models/vlans.py VLANTranslationPolicy.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/vlans.py VLANTranslationRule   0% 4 4 0   100% 0 0   0%
ipam/models/vlans.py VLANTranslationRule.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/vlans.py (no class)   100% 90 0 0   100% 0 0   100%
ipam/models/vrfs.py VRF   67% 3 1 0   50% 2 1   60%
ipam/models/vrfs.py VRF.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/vrfs.py RouteTarget   0% 1 1 0   100% 0 0   0%
ipam/models/vrfs.py RouteTarget.Meta   100% 0 0 0   100% 0 0   100%
ipam/models/vrfs.py (no class)   100% 27 0 0   100% 0 0   100%
ipam/querysets.py ASNRangeQuerySet   100% 3 0 0   100% 0 0   100%
ipam/querysets.py IPAddressQuerySet   49% 47 24 0   43% 28 8   47%
ipam/querysets.py IPRangeQuerySet   23% 13 10 0   10% 10 1   17%
ipam/querysets.py PrefixQuerySet   100% 1 0 0   100% 0 0   100%
ipam/querysets.py VLANGroupQuerySet   100% 2 0 0   100% 0 0   100%
ipam/querysets.py VLANQuerySet   0% 73 73 0   0% 48 0   0%
ipam/querysets.py (no class)   81% 43 8 0   17% 6 1   73%
ipam/search.py AggregateIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py ASNIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py ASNRangeIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py FHRPGroupIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py IPAddressIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py IPRangeIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py PrefixIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py RIRIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py RoleIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py RouteTargetIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py ServiceIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py ServiceTemplateIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py VLANIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py VLANGroupIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py VLANTranslationPolicyIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py VLANTranslationRuleIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py VRFIndex   100% 0 0 0   100% 0 0   100%
ipam/search.py (no class)   100% 87 0 0   100% 0 0   100%
ipam/signals.py (no class)   73% 45 12 0   71% 14 4   73%
ipam/tables/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
ipam/tables/asn.py ASNRangeTable   100% 0 0 0   100% 0 0   100%
ipam/tables/asn.py ASNRangeTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/asn.py ASNTable   100% 0 0 0   100% 0 0   100%
ipam/tables/asn.py ASNTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/asn.py (no class)   100% 30 0 0   100% 0 0   100%
ipam/tables/fhrp.py FHRPGroupTable   0% 1 1 0   100% 0 0   0%
ipam/tables/fhrp.py FHRPGroupTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/fhrp.py FHRPGroupAssignmentTable   100% 0 0 0   100% 0 0   100%
ipam/tables/fhrp.py FHRPGroupAssignmentTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/fhrp.py (no class)   100% 25 0 0   100% 0 0   100%
ipam/tables/ip.py RIRTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py RIRTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py AggregateTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py AggregateTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py RoleTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py RoleTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py PrefixUtilizationColumn   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py PrefixTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py PrefixTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py IPRangeTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py IPRangeTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py IPAddressTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py IPAddressTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py AnnotatedIPAddressTable   0% 3 3 0   0% 2 0   0%
ipam/tables/ip.py AnnotatedIPAddressTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py IPAddressAssignTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py IPAddressAssignTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py AssignedIPAddressesTable   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py AssignedIPAddressesTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/ip.py (no class)   100% 119 0 0   100% 0 0   100%
ipam/tables/services.py ServiceTemplateTable   100% 0 0 0   100% 0 0   100%
ipam/tables/services.py ServiceTemplateTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/services.py ServiceTable   100% 0 0 0   100% 0 0   100%
ipam/tables/services.py ServiceTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/services.py (no class)   100% 23 0 0   100% 0 0   100%
ipam/tables/template_code.py (no class)   100% 12 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANGroupTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANGroupTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANMembersTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANDevicesTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANDevicesTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANVirtualMachinesTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANVirtualMachinesTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANTranslationPolicyTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANTranslationPolicyTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANTranslationRuleTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py VLANTranslationRuleTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vlans.py (no class)   100% 82 0 0   100% 0 0   100%
ipam/tables/vrfs.py VRFTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vrfs.py VRFTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vrfs.py RouteTargetTable   100% 0 0 0   100% 0 0   100%
ipam/tables/vrfs.py RouteTargetTable.Meta   100% 0 0 0   100% 0 0   100%
ipam/tables/vrfs.py (no class)   100% 25 0 0   100% 0 0   100%
ipam/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
ipam/ui/attrs.py VRFDisplayAttr   33% 6 4 0   100% 0 0   33%
ipam/ui/attrs.py (no class)   100% 7 0 0   100% 0 0   100%
ipam/ui/panels.py FHRPGroupAssignmentsPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py VRFPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py RouteTargetPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py RIRPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py ASNRangePanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py ASNPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py AggregatePanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py RolePanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py IPRangePanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py IPAddressPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py PrefixPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py VLANGroupPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py VLANTranslationPolicyPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py VLANTranslationRulePanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py FHRPGroupPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py FHRPGroupAuthPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py VLANPanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py VLANCustomerVLANsPanel   33% 3 2 0   100% 0 0   33%
ipam/ui/panels.py ServiceTemplatePanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py ServicePanel   100% 0 0 0   100% 0 0   100%
ipam/ui/panels.py (no class)   100% 129 0 0   100% 0 0   100%
ipam/urls.py (no class)   100% 5 0 0   100% 0 0   100%
ipam/utils.py AvailableIPSpace   0% 5 5 0   0% 4 0   0%
ipam/utils.py PortMappingMatch   0% 20 20 0   0% 10 0   0%
ipam/utils.py (no class)   25% 173 130 0   3% 78 2   18%
ipam/validators.py MaxPrefixLengthValidator   0% 1 1 0   100% 0 0   0%
ipam/validators.py MinPrefixLengthValidator   0% 1 1 0   100% 0 0   0%
ipam/validators.py (no class)   65% 40 14 0   33% 12 2   58%
ipam/views.py VRFListView   100% 0 0 0   100% 0 0   100%
ipam/views.py VRFView   0% 6 6 0   100% 0 0   0%
ipam/views.py VRFEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VRFDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VRFBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py VRFBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VRFBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py VRFBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetListView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py RouteTargetBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py RIRListView   100% 0 0 0   100% 0 0   100%
ipam/views.py RIRView   0% 1 1 0   100% 0 0   0%
ipam/views.py RIREditView   100% 0 0 0   100% 0 0   100%
ipam/views.py RIRDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py RIRBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py RIRBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py RIRBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py RIRBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeListView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeASNsView   0% 1 1 0   100% 0 0   0%
ipam/views.py ASNRangeEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNRangeBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNListView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNView   0% 1 1 0   100% 0 0   0%
ipam/views.py ASNEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py ASNBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py AggregateListView   100% 0 0 0   100% 0 0   100%
ipam/views.py AggregateView   100% 0 0 0   100% 0 0   100%
ipam/views.py ChildAvailabilityMixin   0% 23 23 0   0% 18 0   0%
ipam/views.py AggregatePrefixesView   0% 8 8 0   0% 2 0   0%
ipam/views.py AggregateEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py AggregateDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py AggregateBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py AggregateBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py AggregateBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py RoleListView   100% 0 0 0   100% 0 0   100%
ipam/views.py RoleView   0% 1 1 0   100% 0 0   0%
ipam/views.py RoleEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py RoleDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py RoleBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py RoleBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py RoleBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py RoleBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py PrefixListView   100% 0 0 0   100% 0 0   100%
ipam/views.py PrefixView   0% 10 10 0   0% 2 0   0%
ipam/views.py PrefixPrefixesView   0% 8 8 0   0% 2 0   0%
ipam/views.py PrefixIPRangesView   0% 2 2 0   100% 0 0   0%
ipam/views.py PrefixIPAddressesView   0% 6 6 0   0% 2 0   0%
ipam/views.py PrefixEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py PrefixDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py PrefixBulkCreateView   100% 0 0 0   100% 0 0   100%
ipam/views.py PrefixBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py PrefixBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py PrefixBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPRangeListView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPRangeView   0% 4 4 0   100% 0 0   0%
ipam/views.py IPRangeIPAddressesView   0% 1 1 0   100% 0 0   0%
ipam/views.py IPRangeEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPRangeDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPRangeBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPRangeBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPRangeBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPRangeBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPAddressListView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPAddressView   0% 12 12 0   0% 4 0   0%
ipam/views.py IPAddressEditView   0% 21 21 0   0% 10 0   0%
ipam/views.py IPAddressAssignView   0% 13 13 0   0% 4 0   0%
ipam/views.py IPAddressDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPAddressBulkCreateView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPAddressBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPAddressBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPAddressBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py IPAddressRelatedIPsView   0% 1 1 0   100% 0 0   0%
ipam/views.py VLANGroupListView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANGroupView   0% 1 1 0   100% 0 0   0%
ipam/views.py VLANGroupEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANGroupDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANGroupBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANGroupBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANGroupVLANsView   0% 4 4 0   0% 2 0   0%
ipam/views.py VLANTranslationPolicyListView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationPolicyView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationPolicyEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationPolicyDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationPolicyBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationPolicyBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationPolicyBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationPolicyBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationRuleListView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationRuleView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationRuleEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationRuleDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationRuleBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationRuleBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANTranslationRuleBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py FHRPGroupListView   100% 0 0 0   100% 0 0   100%
ipam/views.py FHRPGroupView   0% 4 4 0   100% 0 0   0%
ipam/views.py FHRPGroupEditView   0% 6 6 0   0% 2 0   0%
ipam/views.py FHRPGroupDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py FHRPGroupBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py FHRPGroupBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py FHRPGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py FHRPGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py FHRPGroupAssignmentEditView   0% 5 5 0   0% 2 0   0%
ipam/views.py FHRPGroupAssignmentDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANListView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANInterfacesView   0% 1 1 0   100% 0 0   0%
ipam/views.py VLANVMInterfacesView   0% 1 1 0   100% 0 0   0%
ipam/views.py VLANEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANBulkCreateView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py VLANBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceTemplateListView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceTemplateView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceTemplateEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceTemplateDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceTemplateBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServicePortMappingsBulkEditMixin   0% 7 7 0   0% 4 0   0%
ipam/views.py ServiceTemplateBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceTemplateBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceTemplateBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceListView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceView   0% 9 9 0   0% 6 0   0%
ipam/views.py ServiceCreateView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceBulkImportView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceBulkEditView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceBulkRenameView   100% 0 0 0   100% 0 0   100%
ipam/views.py ServiceBulkDeleteView   100% 0 0 0   100% 0 0   100%
ipam/views.py (no class)   100% 825 0 0   100% 0 0   100%
manage.py (no class)   100% 6 0 0   50% 2 1   88%
netbox/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
netbox/__main__.py (no class)   0% 4 4 0   0% 2 0   0%
netbox/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
netbox/api/authentication.py TokenAuthentication   51% 53 26 0   47% 34 10   49%
netbox/api/authentication.py TokenPermissions   73% 11 3 0   50% 6 3   65%
netbox/api/authentication.py TokenWritePermission   67% 3 1 0   50% 2 1   60%
netbox/api/authentication.py TokenSyncPermission   100% 0 0 0   100% 0 0   100%
netbox/api/authentication.py IsAuthenticatedOrLoginNotRequired   67% 3 1 0   50% 2 1   60%
netbox/api/authentication.py TokenScheme   100% 1 0 0   100% 0 0   100%
netbox/api/authentication.py (no class)   100% 33 0 0   100% 0 0   100%
netbox/api/exceptions.py ServiceUnavailable   100% 0 0 0   100% 0 0   100%
netbox/api/exceptions.py SerializerNotFound   100% 0 0 0   100% 0 0   100%
netbox/api/exceptions.py GraphQLTypeNotFound   100% 0 0 0   100% 0 0   100%
netbox/api/exceptions.py QuerySetNotOrdered   100% 0 0 0   100% 0 0   100%
netbox/api/exceptions.py (no class)   100% 10 0 0   100% 0 0   100%
netbox/api/features.py SyncedDataMixin   89% 9 1 0   75% 4 1   85%
netbox/api/features.py (no class)   100% 9 0 0   100% 0 0   100%
netbox/api/fields.py ChoiceField   90% 39 4 0   92% 26 2   91%
netbox/api/fields.py ContentTypeField   88% 8 1 0   100% 0 0   88%
netbox/api/fields.py IPNetworkSerializer   0% 2 2 0   100% 0 0   0%
netbox/api/fields.py SerializedPKRelatedField   80% 5 1 0   100% 0 0   80%
netbox/api/fields.py RelatedObjectCountField   100% 2 0 0   100% 0 0   100%
netbox/api/fields.py IntegerRangeSerializer   67% 6 2 0   50% 4 2   60%
netbox/api/fields.py AttributesField   0% 5 5 0   0% 2 0   0%
netbox/api/fields.py (no class)   100% 37 0 0   100% 0 0   100%
netbox/api/gfk_fields.py GFKSerializerField   90% 10 1 0   75% 4 1   86%
netbox/api/gfk_fields.py (no class)   100% 8 0 0   100% 0 0   100%
netbox/api/metadata.py BulkOperationMetadata   79% 14 3 0   67% 6 2   75%
netbox/api/metadata.py ContentTypeMetadata   100% 5 0 0   100% 2 0   100%
netbox/api/metadata.py (no class)   100% 11 0 0   100% 0 0   100%
netbox/api/pagination.py NetBoxPagination   85% 79 12 0   75% 40 10   82%
netbox/api/pagination.py StripCountAnnotationsPaginator   100% 3 0 0   100% 0 0   100%
netbox/api/pagination.py LimitOffsetListPagination   91% 11 1 0   67% 6 2   82%
netbox/api/pagination.py (no class)   100% 23 0 0   100% 0 0   100%
netbox/api/renderers.py FormlessBrowsableAPIRenderer   0% 2 2 0   100% 0 0   0%
netbox/api/renderers.py TextRenderer   100% 1 0 0   100% 0 0   100%
netbox/api/renderers.py (no class)   100% 9 0 0   100% 0 0   100%
netbox/api/routers.py NetBoxRouter   100% 7 0 0   100% 2 0   100%
netbox/api/routers.py (no class)   100% 4 0 0   100% 0 0   100%
netbox/api/serializers/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
netbox/api/serializers/base.py BaseModelSerializer   100% 26 0 0   100% 18 0   100%
netbox/api/serializers/base.py ValidatedModelSerializer   100% 21 0 0   100% 14 0   100%
netbox/api/serializers/base.py (no class)   100% 21 0 0   100% 0 0   100%
netbox/api/serializers/bulk.py BulkOperationSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/bulk.py BulkOperationEntryErrorSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/bulk.py BulkOperationErrorSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/bulk.py BulkUpdateSchemaMixin   100% 5 0 0   100% 0 0   100%
netbox/api/serializers/bulk.py BulkPartialUpdateSchemaMixin   100% 5 0 0   100% 4 0   100%
netbox/api/serializers/bulk.py get_bulk_update_serializer_class.Meta   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/bulk.py (no class)   97% 32 1 0   50% 2 1   94%
netbox/api/serializers/features.py CustomFieldModelSerializer   90% 10 1 0   75% 4 1   86%
netbox/api/serializers/features.py TaggableModelSerializer   71% 56 16 0   62% 34 11   68%
netbox/api/serializers/features.py ChangeLogMessageSerializer   86% 7 1 0   75% 4 1   82%
netbox/api/serializers/features.py NetBoxModelSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/features.py (no class)   100% 25 0 0   100% 0 0   100%
netbox/api/serializers/fields.py BaseNetBoxHyperlinkedIdentityField   75% 8 2 0   50% 2 1   70%
netbox/api/serializers/fields.py NetBoxAPIHyperlinkedIdentityField   100% 1 0 0   100% 0 0   100%
netbox/api/serializers/fields.py NetBoxURLHyperlinkedIdentityField   100% 1 0 0   100% 0 0   100%
netbox/api/serializers/fields.py (no class)   100% 12 0 0   100% 0 0   100%
netbox/api/serializers/generic.py GenericObjectSerializer   14% 14 12 0   0% 4 0   11%
netbox/api/serializers/generic.py (no class)   100% 17 0 0   100% 0 0   100%
netbox/api/serializers/models.py PrimaryModelSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/models.py NestedGroupModelSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/models.py OrganizationalModelSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/models.py (no class)   100% 10 0 0   100% 0 0   100%
netbox/api/serializers/nested.py WritableNestedSerializer   100% 4 0 0   100% 0 0   100%
netbox/api/serializers/nested.py NestedTagSerializer   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/nested.py NestedTagSerializer.Meta   100% 0 0 0   100% 0 0   100%
netbox/api/serializers/nested.py (no class)   100% 10 0 0   100% 0 0   100%
netbox/api/views.py APIRootView   0% 2 2 0   100% 0 0   0%
netbox/api/views.py StatusView   100% 1 0 0   100% 0 0   100%
netbox/api/views.py AuthenticationCheckView   100% 2 0 0   100% 0 0   100%
netbox/api/views.py (no class)   100% 27 0 0   100% 0 0   100%
netbox/api/viewsets/__init__.py ETagMixin   75% 20 5 0   58% 12 3   69%
netbox/api/viewsets/__init__.py BaseViewSet   96% 26 1 0   89% 18 2   93%
netbox/api/viewsets/__init__.py NetBoxReadOnlyModelViewSet   100% 0 0 0   100% 0 0   100%
netbox/api/viewsets/__init__.py NetBoxModelViewSet   74% 104 27 0   54% 24 5   70%
netbox/api/viewsets/__init__.py MPTTLockedMixin   0% 2 2 0   100% 0 0   0%
netbox/api/viewsets/__init__.py (no class)   100% 50 0 0   100% 0 0   100%
netbox/api/viewsets/mixins.py BackgroundOperationMixin   17% 24 20 0   20% 10 2   18%
netbox/api/viewsets/mixins.py CustomFieldsMixin   100% 5 0 0   100% 2 0   100%
netbox/api/viewsets/mixins.py ExportTemplatesMixin   25% 8 6 0   25% 4 1   25%
netbox/api/viewsets/mixins.py BulkCreateModelMixin   81% 36 7 0   92% 12 1   83%
netbox/api/viewsets/mixins.py BulkUpdateModelMixin   64% 55 20 0   60% 20 4   63%
netbox/api/viewsets/mixins.py BulkDestroyModelMixin   53% 47 22 0   56% 18 6   54%
netbox/api/viewsets/mixins.py ObjectValidationMixin   67% 6 2 0   67% 6 2   67%
netbox/api/viewsets/mixins.py (no class)   97% 95 3 0   85% 20 3   95%
netbox/authentication/__init__.py ObjectPermissionMixin   11% 44 39 0   12% 26 3   11%
netbox/authentication/__init__.py ObjectPermissionBackend   100% 0 0 0   100% 0 0   100%
netbox/authentication/__init__.py RemoteUserBackend   1% 80 79 0   0% 30 0   1%
netbox/authentication/__init__.py NBLDAPBackend   0% 4 4 0   0% 2 0   0%
netbox/authentication/__init__.py LDAPBackend   0% 25 25 0   0% 12 0   0%
netbox/authentication/__init__.py (no class)   76% 58 14 0   0% 6 0   69%
netbox/authentication/misc.py (no class)   13% 15 13 0   0% 6 0   10%
netbox/choices.py ColorChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py ButtonColorChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py ImportMethodChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py ImportFormatChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py CSVDelimiterChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py DistanceUnitChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py WeightUnitChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py DiameterUnitChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py FlowRateUnitChoices   100% 0 0 0   100% 0 0   100%
netbox/choices.py (no class)   100% 90 0 0   100% 0 0   100%
netbox/cli.py (no class)   0% 51 51 0   0% 16 0   0%
netbox/config/__init__.py Config   70% 37 11 0   67% 12 4   69%
netbox/config/__init__.py ConfigItem   100% 3 0 0   100% 0 0   100%
netbox/config/__init__.py (no class)   100% 28 0 0   75% 4 1   97%
netbox/config/parameters.py ConfigParam   100% 6 0 0   100% 0 0   100%
netbox/config/parameters.py (no class)   100% 6 0 0   100% 0 0   100%
netbox/configuration.py (no class)   88% 50 6 0   75% 20 5   84%
netbox/configuration_example.py (no class)   0% 39 39 0   100% 0 0   0%
netbox/configuration_testing.py (no class)   0% 9 9 0   100% 0 0   0%
netbox/constants.py (no class)   100% 9 0 0   100% 0 0   100%
netbox/context.py (no class)   100% 5 0 0   100% 0 0   100%
netbox/context_managers.py (no class)   100% 18 0 0   100% 2 0   100%
netbox/context_processors.py (no class)   100% 14 0 0   100% 0 0   100%
netbox/data_backends.py DataBackend   0% 6 6 0   100% 0 0   0%
netbox/data_backends.py (no class)   100% 14 0 0   100% 0 0   100%
netbox/event_rules.py EventRuleAction   0% 20 20 0   0% 14 0   0%
netbox/event_rules.py (no class)   86% 49 7 0   57% 14 6   79%
netbox/events.py EventType   33% 6 4 0   50% 2 1   38%
netbox/events.py (no class)   85% 26 4 0   0% 2 0   79%
netbox/filtersets.py BaseFilterSet   72% 79 22 0   69% 52 4   71%
netbox/filtersets.py ChangeLoggedModelFilterSet   100% 5 0 0   100% 0 0   100%
netbox/filtersets.py NetBoxModelFilterSet   33% 12 8 0   17% 6 1   28%
netbox/filtersets.py PrimaryModelFilterSet   100% 0 0 0   100% 0 0   100%
netbox/filtersets.py OrganizationalModelFilterSet   0% 3 3 0   0% 2 0   0%
netbox/filtersets.py NestedGroupModelFilterSet   0% 3 3 0   0% 2 0   0%
netbox/filtersets.py AttributeFiltersMixin   57% 14 6 0   62% 8 3   59%
netbox/filtersets.py (no class)   100% 58 0 0   100% 0 0   100%
netbox/forms/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
netbox/forms/bulk_edit.py NetBoxModelBulkEditForm   0% 10 10 0   100% 0 0   0%
netbox/forms/bulk_edit.py PrimaryModelBulkEditForm   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_edit.py OrganizationalModelBulkEditForm   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_edit.py NestedGroupModelBulkEditForm   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_edit.py (no class)   100% 26 0 0   100% 0 0   100%
netbox/forms/bulk_import.py NetBoxModelImportForm   0% 34 34 0   0% 26 0   0%
netbox/forms/bulk_import.py OwnerCSVMixin   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_import.py PrimaryModelImportForm   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_import.py OrganizationalModelImportForm   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_import.py NestedGroupModelImportForm   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_import.py (no class)   100% 25 0 0   100% 0 0   100%
netbox/forms/bulk_rename.py NetBoxModelBulkRenameForm   100% 0 0 0   100% 0 0   100%
netbox/forms/bulk_rename.py (no class)   100% 5 0 0   100% 0 0   100%
netbox/forms/filtersets.py NetBoxModelFilterSetForm   0% 2 2 0   100% 0 0   0%
netbox/forms/filtersets.py PrimaryModelFilterSetForm   100% 0 0 0   100% 0 0   100%
netbox/forms/filtersets.py OrganizationalModelFilterSetForm   100% 0 0 0   100% 0 0   100%
netbox/forms/filtersets.py NestedGroupModelFilterSetForm   100% 0 0 0   100% 0 0   100%
netbox/forms/filtersets.py (no class)   100% 18 0 0   100% 0 0   100%
netbox/forms/mixins.py ChangelogMessageMixin   0% 4 4 0   0% 2 0   0%
netbox/forms/mixins.py CustomFieldsMixin   0% 16 16 0   0% 6 0   0%
netbox/forms/mixins.py SavedFiltersMixin   0% 5 5 0   0% 2 0   0%
netbox/forms/mixins.py TagsMixin   0% 4 4 0   0% 2 0   0%
netbox/forms/mixins.py OwnerMixin   100% 0 0 0   100% 0 0   100%
netbox/forms/mixins.py OwnerFilterMixin   100% 0 0 0   100% 0 0   100%
netbox/forms/mixins.py (no class)   100% 30 0 0   100% 0 0   100%
netbox/forms/model_forms.py NetBoxModelForm   0% 37 37 0   0% 22 0   0%
netbox/forms/model_forms.py PrimaryModelForm   100% 0 0 0   100% 0 0   100%
netbox/forms/model_forms.py OrganizationalModelForm   100% 0 0 0   100% 0 0   100%
netbox/forms/model_forms.py NestedGroupModelForm   100% 0 0 0   100% 0 0   100%
netbox/forms/model_forms.py (no class)   100% 24 0 0   100% 0 0   100%
netbox/forms/search.py SearchForm   0% 7 7 0   0% 2 0   0%
netbox/forms/search.py (no class)   100% 12 0 0   100% 0 0   100%
netbox/granian.py (no class)   0% 3 3 0   100% 0 0   0%
netbox/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
netbox/graphql/apps.py GraphQLConfig   100% 3 0 0   100% 0 0   100%
netbox/graphql/apps.py (no class)   100% 5 0 0   100% 0 0   100%
netbox/graphql/enums.py (no class)   100% 6 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py JSONDateFilterLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py JSONTimeFilterLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py JSONDatetimeFilterLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py JSONStringLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py JSONLookup   0% 5 5 0   0% 4 0   0%
netbox/graphql/filter_lookups.py _NumericLookupMixin   0% 11 11 0   0% 8 0   0%
netbox/graphql/filter_lookups.py IntegerLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py BigIntegerLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py FloatLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py JSONFilter   0% 9 9 0   0% 2 0   0%
netbox/graphql/filter_lookups.py TreeNodeMatch   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py TreeNodeFilter   0% 16 16 0   0% 4 0   0%
netbox/graphql/filter_lookups.py ArrayLookup   0% 9 9 0   0% 8 0   0%
netbox/graphql/filter_lookups.py IntegerArrayLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py FloatArrayLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py StringArrayLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py RangeArrayValueLookup   0% 3 3 0   0% 2 0   0%
netbox/graphql/filter_lookups.py IntegerRangeArrayLookup   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_lookups.py (no class)   83% 167 29 0   0% 24 0   72%
netbox/graphql/filter_mixins.py ImageAttachmentFilterMixin   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_mixins.py WeightFilterMixin   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_mixins.py SyncedDataFilterMixin   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_mixins.py DistanceFilterMixin   100% 0 0 0   100% 0 0   100%
netbox/graphql/filter_mixins.py (no class)   90% 31 3 0   50% 2 1   88%
netbox/graphql/filters.py BaseModelFilter   100% 0 0 0   100% 0 0   100%
netbox/graphql/filters.py ChangeLoggedModelFilter   100% 0 0 0   100% 0 0   100%
netbox/graphql/filters.py NetBoxModelFilter   100% 0 0 0   100% 0 0   100%
netbox/graphql/filters.py NestedGroupModelFilter   100% 0 0 0   100% 0 0   100%
netbox/graphql/filters.py OrganizationalModelFilter   100% 0 0 0   100% 0 0   100%
netbox/graphql/filters.py PrimaryModelFilter   100% 0 0 0   100% 0 0   100%
netbox/graphql/filters.py (no class)   97% 36 1 0   50% 2 1   95%
netbox/graphql/optimization.py (no class)   69% 16 5 0   0% 2 0   61%
netbox/graphql/pagination.py OffsetPaginationInfo   100% 0 0 0   100% 0 0   100%
netbox/graphql/pagination.py OffsetPaginationInput   100% 0 0 0   100% 0 0   100%
netbox/graphql/pagination.py (no class)   37% 46 29 0   0% 22 0   25%
netbox/graphql/scalars.py (no class)   100% 4 0 0   100% 0 0   100%
netbox/graphql/schema.py Query   100% 0 0 0   100% 0 0   100%
netbox/graphql/schema.py (no class)   97% 32 1 0   50% 2 1   94%
netbox/graphql/types.py BaseObjectType   0% 5 5 0   0% 2 0   0%
netbox/graphql/types.py ObjectType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py PrimaryObjectType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py OrganizationalObjectType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py LtreeNodeMixin   0% 5 5 0   0% 2 0   0%
netbox/graphql/types.py NestedGroupObjectType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py NestedLtreeGroupObjectType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py NetBoxObjectType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py ContentTypeType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py ObjectTypeType   100% 0 0 0   100% 0 0   100%
netbox/graphql/types.py (no class)   100% 43 0 0   100% 0 0   100%
netbox/graphql/utils.py (no class)   28% 100 72 0   8% 50 2   21%
netbox/graphql/views.py NetBoxGraphQLView   0% 16 16 0   0% 10 0   0%
netbox/graphql/views.py (no class)   100% 12 0 0   100% 0 0   100%
netbox/jobs.py JobLogHandler   0% 3 3 0   100% 0 0   0%
netbox/jobs.py JobRunner   18% 51 42 0   12% 16 2   16%
netbox/jobs.py JobRunner.Meta   100% 0 0 0   100% 0 0   100%
netbox/jobs.py AsyncViewJob   0% 6 6 0   0% 2 0   0%
netbox/jobs.py AsyncViewJob.Meta   100% 0 0 0   100% 0 0   100%
netbox/jobs.py AsyncAPIJob   0% 54 54 0   0% 14 0   0%
netbox/jobs.py AsyncAPIJob.Meta   100% 0 0 0   100% 0 0   100%
netbox/jobs.py (no class)   98% 66 1 0   50% 2 1   97%
netbox/ldap_config.py (no class)   0% 14 14 0   0% 4 0   0%
netbox/metrics.py Metrics   0% 4 4 0   100% 0 0   0%
netbox/metrics.py (no class)   100% 6 0 0   100% 0 0   100%
netbox/middleware.py CommonMiddleware   100% 3 0 0   100% 2 0   100%
netbox/middleware.py CoreMiddleware   51% 35 17 0   32% 22 5   44%
netbox/middleware.py RemoteUserMiddleware   12% 41 36 0   8% 24 2   11%
netbox/middleware.py PrometheusBeforeMiddleware   100% 0 0 0   100% 0 0   100%
netbox/middleware.py PrometheusAfterMiddleware   0% 9 9 0   0% 4 0   0%
netbox/middleware.py MaintenanceModeMiddleware   36% 14 9 0   33% 6 2   35%
netbox/middleware.py SocialAuthExceptionMiddleware   0% 1 1 0   100% 0 0   0%
netbox/middleware.py (no class)   100% 49 0 0   100% 0 0   100%
netbox/models/__init__.py NetBoxFeatureSet   0% 3 3 0   100% 0 0   0%
netbox/models/__init__.py NetBoxFeatureSet.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py BaseModel   86% 22 3 0   79% 14 3   83%
netbox/models/__init__.py BaseModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py ChangeLoggedModel   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py ChangeLoggedModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py NetBoxModel   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py NetBoxModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py PrimaryModel   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py PrimaryModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py NestedGroupModelMixin   100% 1 0 0   100% 0 0   100%
netbox/models/__init__.py NestedGroupModelMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py NestedGroupModel   0% 3 3 0   0% 2 0   0%
netbox/models/__init__.py NestedGroupModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py NestedGroupModel.MPTTMeta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py NestedLtreeGroupModel   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py NestedLtreeGroupModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py OrganizationalModel   100% 1 0 0   100% 0 0   100%
netbox/models/__init__.py OrganizationalModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py AdminModel   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py AdminModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/__init__.py (no class)   100% 74 0 0   100% 0 0   100%
netbox/models/deletion.py CountOnly   0% 3 3 0   100% 0 0   0%
netbox/models/deletion.py ConfirmCollector   0% 9 9 0   0% 4 0   0%
netbox/models/deletion.py CustomCollector   100% 16 0 0   93% 14 1   97%
netbox/models/deletion.py DeleteMixin   56% 9 4 0   25% 4 1   46%
netbox/models/deletion.py (no class)   100% 21 0 0   100% 0 0   100%
netbox/models/features.py ChangeLoggingMixin   100% 19 0 0   75% 8 2   93%
netbox/models/features.py ChangeLoggingMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py CloningMixin   0% 24 24 0   0% 20 0   0%
netbox/models/features.py CloningMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py CustomFieldsMixin   23% 47 36 0   12% 26 3   19%
netbox/models/features.py CustomFieldsMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py CustomLinksMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py CustomLinksMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py CustomValidationMixin   75% 4 1 0   50% 2 1   67%
netbox/models/features.py CustomValidationMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py ExportTemplatesMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py ExportTemplatesMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py ImageAttachmentsMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py ImageAttachmentsMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py ContactsMixin   0% 4 4 0   100% 0 0   0%
netbox/models/features.py ContactsMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py BookmarksMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py BookmarksMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py NotificationsMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py NotificationsMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py JobsMixin   0% 5 5 0   100% 0 0   0%
netbox/models/features.py JobsMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py JournalingMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py JournalingMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py TagsMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py TagsMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py EventRulesMixin   100% 0 0 0   100% 0 0   100%
netbox/models/features.py EventRulesMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py SyncedDataMixin   37% 43 27 0   17% 12 2   33%
netbox/models/features.py SyncedDataMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/features.py (no class)   93% 182 12 0   80% 30 4   92%
netbox/models/lookups.py Ancestor   0% 3 3 0   100% 0 0   0%
netbox/models/lookups.py AncestorOrEqual   100% 3 0 0   100% 0 0   100%
netbox/models/lookups.py Descendant   0% 3 3 0   100% 0 0   0%
netbox/models/lookups.py DescendantOrEqual   100% 3 0 0   100% 0 0   100%
netbox/models/lookups.py (no class)   100% 14 0 0   100% 0 0   100%
netbox/models/ltree.py LtreeField   100% 4 0 0   100% 2 0   100%
netbox/models/ltree.py SortPathField   0% 2 2 0   100% 0 0   0%
netbox/models/ltree.py LtreeQuerySet   64% 36 13 0   40% 10 2   59%
netbox/models/ltree.py LtreeManager   100% 0 0 0   100% 0 0   100%
netbox/models/ltree.py LtreeModelBase   100% 12 0 0   100% 4 0   100%
netbox/models/ltree.py LtreeModel   56% 77 34 0   34% 32 9   50%
netbox/models/ltree.py LtreeModel.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/ltree.py (no class)   100% 50 0 0   100% 0 0   100%
netbox/models/mixins.py OwnerMixin   100% 0 0 0   100% 0 0   100%
netbox/models/mixins.py OwnerMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/mixins.py WeightMixin   62% 8 3 0   50% 4 2   58%
netbox/models/mixins.py WeightMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/mixins.py DistanceMixin   0% 10 10 0   0% 6 0   0%
netbox/models/mixins.py DistanceMixin.Meta   100% 0 0 0   100% 0 0   100%
netbox/models/mixins.py (no class)   100% 30 0 0   100% 0 0   100%
netbox/monkey.py (no class)   100% 16 0 0   100% 6 0   100%
netbox/navigation/__init__.py MenuItemButton   50% 4 2 0   50% 2 1   50%
netbox/navigation/__init__.py MenuItem   50% 4 2 0   50% 2 1   50%
netbox/navigation/__init__.py MenuGroup   100% 0 0 0   100% 0 0   100%
netbox/navigation/__init__.py Menu   0% 1 1 0   100% 0 0   0%
netbox/navigation/__init__.py (no class)   100% 41 0 0   100% 4 0   100%
netbox/navigation/menu.py (no class)   87% 30 4 0   50% 4 2   82%
netbox/object_actions.py ObjectAction   0% 13 13 0   0% 2 0   0%
netbox/object_actions.py AddObject   100% 0 0 0   100% 0 0   100%
netbox/object_actions.py CloneObject   0% 3 3 0   100% 0 0   0%
netbox/object_actions.py EditObject   100% 0 0 0   100% 0 0   100%
netbox/object_actions.py DeleteObject   100% 0 0 0   100% 0 0   100%
netbox/object_actions.py BulkImport   100% 0 0 0   100% 0 0   100%
netbox/object_actions.py BulkExport   0% 5 5 0   100% 0 0   0%
netbox/object_actions.py BulkEdit   0% 7 7 0   0% 6 0   0%
netbox/object_actions.py BulkRename   100% 0 0 0   100% 0 0   100%
netbox/object_actions.py BulkDelete   100% 0 0 0   100% 0 0   100%
netbox/object_actions.py (no class)   100% 80 0 0   100% 0 0   100%
netbox/plugins/__init__.py PluginConfig   0% 60 60 0   0% 42 0   0%
netbox/plugins/__init__.py (no class)   91% 57 5 0   17% 6 1   84%
netbox/plugins/navigation.py PluginMenu   0% 5 5 0   0% 2 0   0%
netbox/plugins/navigation.py PluginMenuItem   0% 18 18 0   0% 10 0   0%
netbox/plugins/navigation.py PluginMenuButton   0% 16 16 0   0% 10 0   0%
netbox/plugins/navigation.py (no class)   100% 26 0 0   100% 0 0   100%
netbox/plugins/registration.py (no class)   20% 104 83 0   0% 62 0   13%
netbox/plugins/templates.py PluginTemplateExtension   0% 14 14 0   0% 4 0   0%
netbox/plugins/templates.py (no class)   100% 15 0 0   100% 0 0   100%
netbox/plugins/urls.py (no class)   50% 20 10 0   17% 6 1   42%
netbox/plugins/utils.py (no class)   50% 20 10 0   25% 4 1   46%
netbox/plugins/views.py InstalledPluginsAPIView   0% 3 3 0   100% 0 0   0%
netbox/plugins/views.py PluginsAPIRootView   0% 14 14 0   0% 4 0   0%
netbox/plugins/views.py (no class)   100% 26 0 0   100% 0 0   100%
netbox/preferences.py (no class)   79% 24 5 0   50% 10 1   71%
netbox/registry.py Registry   33% 6 4 0   100% 0 0   33%
netbox/registry.py (no class)   100% 7 0 0   100% 0 0   100%
netbox/scaffold.py (no class)   0% 34 34 0   0% 6 0   0%
netbox/search/__init__.py FieldTypes   100% 0 0 0   100% 0 0   100%
netbox/search/__init__.py LookupTypes   100% 0 0 0   100% 0 0   100%
netbox/search/__init__.py SearchIndex   47% 45 24 0   44% 32 2   45%
netbox/search/__init__.py (no class)   100% 43 0 0   100% 0 0   100%
netbox/search/backends.py SearchBackend   0% 19 19 0   0% 4 0   0%
netbox/search/backends.py CachedValueSearchBackend   43% 145 83 0   33% 58 7   40%
netbox/search/backends.py (no class)   96% 57 2 0   100% 0 0   96%
netbox/search/deferred.py (no class)   86% 57 8 0   78% 18 4   84%
netbox/search/jobs.py SearchCacheJob   0% 1 1 0   100% 0 0   0%
netbox/search/jobs.py SearchCacheJob.Meta   100% 0 0 0   100% 0 0   100%
netbox/search/jobs.py (no class)   100% 8 0 0   100% 0 0   100%
netbox/search/signals.py (no class)   100% 9 0 0   100% 0 0   100%
netbox/search/utils.py (no class)   67% 6 2 0   100% 0 0   67%
netbox/settings.py (no class)   71% 406 119 0   41% 132 42   63%
netbox/settings_utils.py InstallPaths   100% 0 0 0   100% 0 0   100%
netbox/settings_utils.py (no class)   40% 114 68 0   17% 42 7   34%
netbox/signals.py (no class)   100% 2 0 0   100% 0 0   100%
netbox/tables/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
netbox/tables/columns.py DateColumn   33% 9 6 0   33% 6 0   33%
netbox/tables/columns.py DateTimeColumn   38% 13 8 0   33% 6 0   37%
netbox/tables/columns.py DurationColumn   0% 9 9 0   0% 6 0   0%
netbox/tables/columns.py ManyToManyColumn   0% 2 2 0   100% 0 0   0%
netbox/tables/columns.py TemplateColumn   17% 12 10 0   0% 6 0   11%
netbox/tables/columns.py ToggleColumn   71% 7 2 0   50% 2 1   67%
netbox/tables/columns.py BooleanColumn   27% 11 8 0   0% 6 0   18%
netbox/tables/columns.py ActionsItem   100% 0 0 0   100% 0 0   100%
netbox/tables/columns.py ActionsColumn   10% 40 36 0   0% 20 0   7%
netbox/tables/columns.py ChoiceFieldColumn   17% 12 10 0   0% 4 0   12%
netbox/tables/columns.py ContentTypeColumn   0% 6 6 0   0% 4 0   0%
netbox/tables/columns.py ContentTypesColumn   60% 5 2 0   50% 2 1   57%
netbox/tables/columns.py ColorColumn   0% 2 2 0   100% 0 0   0%
netbox/tables/columns.py ColoredLabelColumn   50% 2 1 0   100% 0 0   50%
netbox/tables/columns.py LinkedCountColumn   36% 11 7 0   0% 4 0   27%
netbox/tables/columns.py TagColumn   50% 2 1 0   100% 0 0   50%
netbox/tables/columns.py CustomFieldColumn   0% 69 69 0   0% 44 0   0%
netbox/tables/columns.py CustomLinkColumn   0% 22 22 0   0% 6 0   0%
netbox/tables/columns.py TreeColumn   50% 2 1 0   100% 0 0   50%
netbox/tables/columns.py UtilizationColumn   50% 2 1 0   100% 0 0   50%
netbox/tables/columns.py MarkdownColumn   50% 2 1 0   100% 0 0   50%
netbox/tables/columns.py ArrayColumn   25% 12 9 0   0% 6 0   17%
netbox/tables/columns.py ChoicesColumn   20% 10 8 0   0% 4 0   14%
netbox/tables/columns.py DistanceColumn   100% 1 0 0   100% 0 0   100%
netbox/tables/columns.py DictColumn   0% 2 2 0   100% 0 0   0%
netbox/tables/columns.py (no class)   100% 137 0 0   100% 0 0   100%
netbox/tables/tables.py BaseTable   0% 117 117 0   0% 88 0   0%
netbox/tables/tables.py BaseTable.Meta   100% 0 0 0   100% 0 0   100%
netbox/tables/tables.py NetBoxTable   0% 25 25 0   0% 10 0   0%
netbox/tables/tables.py NetBoxTable.Meta   100% 0 0 0   100% 0 0   100%
netbox/tables/tables.py PrimaryModelTable   100% 0 0 0   100% 0 0   100%
netbox/tables/tables.py OrganizationalModelTable   100% 0 0 0   100% 0 0   100%
netbox/tables/tables.py NestedGroupModelTable   100% 0 0 0   100% 0 0   100%
netbox/tables/tables.py SearchTable   0% 11 11 0   0% 2 0   0%
netbox/tables/tables.py SearchTable.Meta   100% 0 0 0   100% 0 0   100%
netbox/tables/tables.py (no class)   100% 92 0 0   100% 0 0   100%
netbox/tables/template_code.py (no class)   100% 1 0 0   100% 0 0   100%
netbox/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
netbox/ui/actions.py PanelAction   44% 9 5 0   0% 2 0   36%
netbox/ui/actions.py LinkAction   24% 17 13 0   0% 10 0   15%
netbox/ui/actions.py AddObject   70% 10 3 0   50% 2 1   67%
netbox/ui/actions.py CopyContent   80% 5 1 0   100% 0 0   80%
netbox/ui/actions.py (no class)   100% 24 0 0   100% 0 0   100%
netbox/ui/attrs.py MapURLMixin   0% 5 5 0   0% 4 0   0%
netbox/ui/attrs.py ObjectAttribute   30% 10 7 0   50% 4 0   36%
netbox/ui/attrs.py TextAttr   44% 9 5 0   0% 2 0   36%
netbox/ui/attrs.py ArrayAttr   0% 6 6 0   0% 4 0   0%
netbox/ui/attrs.py NumericAttr   60% 5 2 0   100% 0 0   60%
netbox/ui/attrs.py ChoiceAttr   0% 17 17 0   0% 8 0   0%
netbox/ui/attrs.py BooleanAttr   33% 6 4 0   0% 2 0   25%
netbox/ui/attrs.py ColorAttr   100% 0 0 0   100% 0 0   100%
netbox/ui/attrs.py ImageAttr   75% 8 2 0   50% 4 2   67%
netbox/ui/attrs.py RelatedObjectAttr   67% 6 2 0   100% 0 0   67%
netbox/ui/attrs.py RelatedObjectListAttr   18% 22 18 0   10% 10 1   16%
netbox/ui/attrs.py NestedObjectAttr   40% 10 6 0   0% 4 0   29%
netbox/ui/attrs.py GenericForeignKeyAttr   25% 16 12 0   0% 6 0   18%
netbox/ui/attrs.py AddressAttr   33% 6 4 0   0% 2 0   25%
netbox/ui/attrs.py GPSCoordinatesAttr   33% 12 8 0   0% 4 0   25%
netbox/ui/attrs.py DateTimeAttr   67% 3 1 0   100% 0 0   67%
netbox/ui/attrs.py TimezoneAttr   100% 0 0 0   100% 0 0   100%
netbox/ui/attrs.py DurationAttr   0% 2 2 0   100% 0 0   0%
netbox/ui/attrs.py TemplatedAttr   75% 4 1 0   100% 0 0   75%
netbox/ui/attrs.py UtilizationAttr   100% 0 0 0   100% 0 0   100%
netbox/ui/attrs.py WeightAttr   27% 11 8 0   0% 2 0   23%
netbox/ui/attrs.py DistanceAttr   27% 11 8 0   0% 2 0   23%
netbox/ui/attrs.py DiameterAttr   27% 11 8 0   0% 2 0   23%
netbox/ui/attrs.py FlowRateAttr   27% 11 8 0   0% 2 0   23%
netbox/ui/attrs.py (no class)   80% 148 29 0   0% 22 0   70%
netbox/ui/breadcrumbs.py Breadcrumb   12% 34 30 0   5% 22 1   9%
netbox/ui/breadcrumbs.py (no class)   69% 26 8 0   100% 0 0   69%
netbox/ui/layout.py Layout   67% 12 4 0   75% 8 2   70%
netbox/ui/layout.py Row   50% 6 3 0   75% 4 1   60%
netbox/ui/layout.py Column   42% 12 7 0   40% 10 2   41%
netbox/ui/layout.py SimpleLayout   100% 5 0 0   100% 0 0   100%
netbox/ui/layout.py (no class)   100% 17 0 0   100% 0 0   100%
netbox/ui/panels.py Panel   45% 11 6 0   67% 6 0   53%
netbox/ui/panels.py ObjectPanel   30% 10 7 0   33% 6 0   31%
netbox/ui/panels.py ObjectAttributesPanelMeta   100% 14 0 0   92% 12 1   96%
netbox/ui/panels.py ObjectAttributesPanel   27% 15 11 0   17% 6 1   24%
netbox/ui/panels.py OrganizationalObjectPanel   100% 0 0 0   100% 0 0   100%
netbox/ui/panels.py NestedGroupObjectPanel   100% 0 0 0   100% 0 0   100%
netbox/ui/panels.py CommentsPanel   50% 4 2 0   100% 0 0   50%
netbox/ui/panels.py JSONPanel   67% 6 2 0   50% 2 1   62%
netbox/ui/panels.py RelatedObjectsPanel   0% 1 1 0   100% 0 0   0%
netbox/ui/panels.py ObjectsTablePanel   24% 25 19 0   10% 10 1   20%
netbox/ui/panels.py TemplatePanel   67% 3 1 0   100% 0 0   67%
netbox/ui/panels.py TextCodePanel   60% 5 2 0   100% 0 0   60%
netbox/ui/panels.py PluginContentPanel   50% 4 2 0   100% 0 0   50%
netbox/ui/panels.py ContextTablePanel   29% 7 5 0   0% 2 0   22%
netbox/ui/panels.py (no class)   100% 76 0 0   100% 0 0   100%
netbox/ui/utils.py (no class)   33% 9 6 0   0% 2 0   27%
netbox/urls.py (no class)   85% 20 3 0   50% 4 2   79%
netbox/utils.py (no class)   91% 22 2 0   50% 4 2   85%
netbox/views/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
netbox/views/errors.py StaticMediaFailureView   0% 1 1 0   100% 0 0   0%
netbox/views/errors.py (no class)   85% 27 4 0   50% 2 1   83%
netbox/views/generic/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
netbox/views/generic/base.py BaseObjectView   0% 7 7 0   0% 2 0   0%
netbox/views/generic/base.py BaseMultiObjectView   0% 6 6 0   0% 2 0   0%
netbox/views/generic/base.py (no class)   100% 19 0 0   100% 0 0   100%
netbox/views/generic/bulk_views.py ObjectListView   0% 57 57 0   0% 22 0   0%
netbox/views/generic/bulk_views.py BulkCreateView   0% 78 78 0   0% 40 0   0%
netbox/views/generic/bulk_views.py BulkImportView   0% 141 141 0   0% 78 0   0%
netbox/views/generic/bulk_views.py BulkEditView   0% 118 118 0   0% 74 0   0%
netbox/views/generic/bulk_views.py BulkRenameView   0% 64 64 0   0% 30 0   0%
netbox/views/generic/bulk_views.py BulkDeleteView   0% 57 57 0   0% 26 0   0%
netbox/views/generic/bulk_views.py BulkComponentCreateView   0% 75 75 0   0% 40 0   0%
netbox/views/generic/bulk_views.py (no class)   94% 134 8 0   0% 4 0   91%
netbox/views/generic/feature_views.py ObjectChangeLogView   0% 8 8 0   0% 2 0   0%
netbox/views/generic/feature_views.py ObjectImageAttachmentsView   0% 3 3 0   100% 0 0   0%
netbox/views/generic/feature_views.py ObjectJournalView   0% 13 13 0   0% 4 0   0%
netbox/views/generic/feature_views.py ObjectJobsView   0% 9 9 0   100% 0 0   0%
netbox/views/generic/feature_views.py ObjectSyncDataView   0% 10 10 0   0% 4 0   0%
netbox/views/generic/feature_views.py BulkSyncDataView   0% 7 7 0   0% 2 0   0%
netbox/views/generic/feature_views.py ObjectContactsView   0% 4 4 0   100% 0 0   0%
netbox/views/generic/feature_views.py (no class)   100% 54 0 0   100% 0 0   100%
netbox/views/generic/mixins.py ActionsMixin   0% 7 7 0   0% 4 0   0%
netbox/views/generic/mixins.py TableMixin   0% 11 11 0   0% 6 0   0%
netbox/views/generic/mixins.py (no class)   100% 9 0 0   100% 0 0   100%
netbox/views/generic/object_views.py ObjectView   0% 8 8 0   0% 2 0   0%
netbox/views/generic/object_views.py ObjectChildrenView   0% 14 14 0   0% 4 0   0%
netbox/views/generic/object_views.py ObjectEditView   0% 71 71 0   0% 28 0   0%
netbox/views/generic/object_views.py ObjectDeleteView   0% 61 61 0   0% 18 0   0%
netbox/views/generic/object_views.py ComponentCreateView   0% 63 63 0   0% 36 0   0%
netbox/views/generic/object_views.py (no class)   100% 73 0 0   100% 0 0   100%
netbox/views/generic/utils.py (no class)   25% 8 6 0   0% 6 0   14%
netbox/views/htmx.py ObjectSelectorView   0% 26 26 0   0% 8 0   0%
netbox/views/htmx.py (no class)   100% 13 0 0   100% 0 0   100%
netbox/views/misc.py HomeView   0% 20 20 0   0% 8 0   0%
netbox/views/misc.py SearchView   0% 22 22 0   0% 10 0   0%
netbox/views/misc.py MediaView   0% 11 11 0   0% 8 0   0%
netbox/views/misc.py (no class)   100% 37 0 0   100% 0 0   100%
netbox/wsgi.py (no class)   100% 4 0 0   100% 0 0   100%
reports/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
scripts/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
tenancy/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
tenancy/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers.py (no class)   100% 2 0 0   100% 0 0   100%
tenancy/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactGroupSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactRoleSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactRoleSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactAssignmentSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py ContactAssignmentSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/contacts.py (no class)   100% 37 0 0   100% 0 0   100%
tenancy/api/serializers_/nested.py NestedContactGroupSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/nested.py NestedContactGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/nested.py NestedTenantGroupSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/nested.py NestedTenantGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/nested.py (no class)   100% 19 0 0   100% 0 0   100%
tenancy/api/serializers_/tenants.py TenantGroupSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/tenants.py TenantGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/tenants.py TenantSerializer   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/tenants.py TenantSerializer.Meta   100% 0 0 0   100% 0 0   100%
tenancy/api/serializers_/tenants.py (no class)   100% 29 0 0   100% 0 0   100%
tenancy/api/urls.py (no class)   100% 12 0 0   100% 0 0   100%
tenancy/api/views.py TenancyRootView   0% 1 1 0   100% 0 0   0%
tenancy/api/views.py TenantGroupViewSet   100% 0 0 0   100% 0 0   100%
tenancy/api/views.py TenantViewSet   100% 0 0 0   100% 0 0   100%
tenancy/api/views.py ContactGroupViewSet   100% 0 0 0   100% 0 0   100%
tenancy/api/views.py ContactRoleViewSet   100% 0 0 0   100% 0 0   100%
tenancy/api/views.py ContactViewSet   100% 0 0 0   100% 0 0   100%
tenancy/api/views.py ContactAssignmentViewSet   100% 0 0 0   100% 0 0   100%
tenancy/api/views.py (no class)   100% 31 0 0   100% 0 0   100%
tenancy/apps.py TenancyConfig   100% 3 0 0   100% 0 0   100%
tenancy/apps.py (no class)   100% 4 0 0   100% 0 0   100%
tenancy/choices.py ContactPriorityChoices   100% 0 0 0   100% 0 0   100%
tenancy/choices.py (no class)   100% 8 0 0   100% 0 0   100%
tenancy/filtersets.py ContactGroupFilterSet   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py ContactGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py ContactRoleFilterSet   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py ContactRoleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py ContactFilterSet   0% 3 3 0   0% 2 0   0%
tenancy/filtersets.py ContactFilterSet.Meta   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py ContactAssignmentFilterSet   0% 3 3 0   0% 2 0   0%
tenancy/filtersets.py ContactAssignmentFilterSet.Meta   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py ContactModelFilterSet   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py TenantGroupFilterSet   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py TenantGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py TenantFilterSet   0% 3 3 0   0% 2 0   0%
tenancy/filtersets.py TenantFilterSet.Meta   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py TenancyFilterSet   100% 0 0 0   100% 0 0   100%
tenancy/filtersets.py (no class)   100% 70 0 0   100% 0 0   100%
tenancy/forms/__init__.py (no class)   100% 5 0 0   100% 0 0   100%
tenancy/forms/bulk_edit.py TenantGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_edit.py TenantBulkEditForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_edit.py ContactGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_edit.py ContactRoleBulkEditForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_edit.py ContactBulkEditForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_edit.py ContactAssignmentBulkEditForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_edit.py (no class)   100% 45 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py TenantGroupImportForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py TenantGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py TenantImportForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py TenantImportForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactGroupImportForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactRoleImportForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactRoleImportForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactImportForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactImportForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactAssignmentImportForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py ContactAssignmentImportForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/bulk_import.py (no class)   100% 40 0 0   100% 0 0   100%
tenancy/forms/filtersets.py TenantGroupFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/filtersets.py TenantFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/filtersets.py ContactGroupFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/filtersets.py ContactRoleFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/filtersets.py ContactFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/filtersets.py ContactAssignmentFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/filtersets.py (no class)   100% 43 0 0   100% 0 0   100%
tenancy/forms/forms.py TenancyForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/forms.py TenancyFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/forms.py ContactModelFilterForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/forms.py (no class)   100% 15 0 0   100% 0 0   100%
tenancy/forms/model_forms.py TenantGroupForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py TenantGroupForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py TenantForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py TenantForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactGroupForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactGroupForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactRoleForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactRoleForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactAssignmentForm   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py ContactAssignmentForm.Meta   100% 0 0 0   100% 0 0   100%
tenancy/forms/model_forms.py (no class)   100% 51 0 0   100% 0 0   100%
tenancy/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
tenancy/graphql/enums.py (no class)   100% 4 0 0   100% 0 0   100%
tenancy/graphql/filter_mixins.py ContactFilterMixin   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filter_mixins.py TenancyFilterMixin   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filter_mixins.py (no class)   89% 18 2 0   50% 2 1   85%
tenancy/graphql/filters.py TenantFilter   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filters.py TenantGroupFilter   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filters.py ContactFilter   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filters.py ContactRoleFilter   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filters.py ContactGroupFilter   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filters.py ContactAssignmentFilter   100% 0 0 0   100% 0 0   100%
tenancy/graphql/filters.py (no class)   89% 84 9 0   50% 2 1   88%
tenancy/graphql/mixins.py ContactAssignmentsMixin   100% 0 0 0   100% 0 0   100%
tenancy/graphql/mixins.py (no class)   100% 5 0 0   100% 0 0   100%
tenancy/graphql/schema.py TenancyQuery   100% 0 0 0   100% 0 0   100%
tenancy/graphql/schema.py (no class)   100% 17 0 0   100% 0 0   100%
tenancy/graphql/types.py TenantType   100% 0 0 0   100% 0 0   100%
tenancy/graphql/types.py TenantGroupType   100% 0 0 0   100% 0 0   100%
tenancy/graphql/types.py ContactType   100% 0 0 0   100% 0 0   100%
tenancy/graphql/types.py ContactRoleType   100% 0 0 0   100% 0 0   100%
tenancy/graphql/types.py ContactGroupType   100% 0 0 0   100% 0 0   100%
tenancy/graphql/types.py ContactAssignmentType   100% 0 0 0   100% 0 0   100%
tenancy/graphql/types.py (no class)   76% 29 7 0   50% 2 1   74%
tenancy/models/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
tenancy/models/contacts.py ContactGroupManager   100% 1 0 0   100% 0 0   100%
tenancy/models/contacts.py ContactGroup   100% 0 0 0   100% 0 0   100%
tenancy/models/contacts.py ContactGroup.Meta   100% 0 0 0   100% 0 0   100%
tenancy/models/contacts.py ContactRole   100% 0 0 0   100% 0 0   100%
tenancy/models/contacts.py ContactRole.Meta   100% 0 0 0   100% 0 0   100%
tenancy/models/contacts.py Contact   100% 1 0 0   100% 0 0   100%
tenancy/models/contacts.py Contact.Meta   100% 0 0 0   100% 0 0   100%
tenancy/models/contacts.py ContactAssignment   0% 10 10 0   0% 4 0   0%
tenancy/models/contacts.py ContactAssignment.Meta   100% 0 0 0   100% 0 0   100%
tenancy/models/contacts.py (no class)   100% 59 0 0   100% 0 0   100%
tenancy/models/tenants.py TenantGroup   83% 6 1 0   50% 2 1   75%
tenancy/models/tenants.py TenantGroup.Meta   100% 0 0 0   100% 0 0   100%
tenancy/models/tenants.py Tenant   100% 1 0 0   100% 0 0   100%
tenancy/models/tenants.py Tenant.Meta   100% 0 0 0   100% 0 0   100%
tenancy/models/tenants.py (no class)   100% 27 0 0   100% 0 0   100%
tenancy/search.py ContactIndex   100% 0 0 0   100% 0 0   100%
tenancy/search.py ContactGroupIndex   100% 0 0 0   100% 0 0   100%
tenancy/search.py ContactRoleIndex   100% 0 0 0   100% 0 0   100%
tenancy/search.py TenantIndex   100% 0 0 0   100% 0 0   100%
tenancy/search.py TenantGroupIndex   100% 0 0 0   100% 0 0   100%
tenancy/search.py (no class)   100% 27 0 0   100% 0 0   100%
tenancy/tables/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
tenancy/tables/columns.py TenantColumn   50% 2 1 0   100% 0 0   50%
tenancy/tables/columns.py TenantGroupColumn   50% 4 2 0   50% 2 1   50%
tenancy/tables/columns.py TenancyColumnsMixin   100% 0 0 0   100% 0 0   100%
tenancy/tables/columns.py ContactsColumnMixin   100% 0 0 0   100% 0 0   100%
tenancy/tables/columns.py (no class)   100% 18 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactGroupTable   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactGroupTable.Meta   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactRoleTable   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactRoleTable.Meta   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactTable   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactTable.Meta   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactAssignmentTable   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py ContactAssignmentTable.Meta   100% 0 0 0   100% 0 0   100%
tenancy/tables/contacts.py (no class)   100% 49 0 0   100% 0 0   100%
tenancy/tables/template_code.py (no class)   100% 2 0 0   100% 0 0   100%
tenancy/tables/tenants.py TenantGroupTable   100% 0 0 0   100% 0 0   100%
tenancy/tables/tenants.py TenantGroupTable.Meta   100% 0 0 0   100% 0 0   100%
tenancy/tables/tenants.py TenantTable   100% 0 0 0   100% 0 0   100%
tenancy/tables/tenants.py TenantTable.Meta   100% 0 0 0   100% 0 0   100%
tenancy/tables/tenants.py (no class)   100% 21 0 0   100% 0 0   100%
tenancy/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
tenancy/ui/panels.py TenantPanel   100% 0 0 0   100% 0 0   100%
tenancy/ui/panels.py ContactPanel   100% 0 0 0   100% 0 0   100%
tenancy/ui/panels.py (no class)   100% 14 0 0   100% 0 0   100%
tenancy/urls.py (no class)   100% 5 0 0   100% 0 0   100%
tenancy/views.py TenantGroupListView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantGroupView   0% 2 2 0   100% 0 0   0%
tenancy/views.py TenantGroupEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantGroupDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantGroupBulkImportView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantGroupBulkEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantListView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantView   0% 1 1 0   100% 0 0   0%
tenancy/views.py TenantEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantBulkImportView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantBulkEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantBulkRenameView   100% 0 0 0   100% 0 0   100%
tenancy/views.py TenantBulkDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactGroupListView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactGroupView   0% 2 2 0   100% 0 0   0%
tenancy/views.py ContactGroupEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactGroupDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactGroupBulkImportView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactGroupBulkEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactRoleListView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactRoleView   0% 1 1 0   100% 0 0   0%
tenancy/views.py ContactRoleEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactRoleDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactRoleBulkImportView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactRoleBulkEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactRoleBulkRenameView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactRoleBulkDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactListView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactBulkImportView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactBulkEditView   0% 5 5 0   0% 4 0   0%
tenancy/views.py ContactBulkRenameView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactBulkDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactAssignmentListView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactAssignmentEditView   0% 5 5 0   0% 2 0   0%
tenancy/views.py ContactAssignmentBulkImportView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactAssignmentBulkEditView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactAssignmentBulkDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py ContactAssignmentDeleteView   100% 0 0 0   100% 0 0   100%
tenancy/views.py (no class)   100% 240 0 0   100% 0 0   100%
users/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
users/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
users/api/serializers.py (no class)   100% 4 0 0   100% 0 0   100%
users/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
users/api/serializers_/mixins.py OwnerMixin   100% 0 0 0   100% 0 0   100%
users/api/serializers_/mixins.py (no class)   100% 5 0 0   100% 0 0   100%
users/api/serializers_/nested.py NestedGroupSerializer   100% 0 0 0   100% 0 0   100%
users/api/serializers_/nested.py NestedGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/nested.py NestedUserSerializer   0% 3 3 0   0% 2 0   0%
users/api/serializers_/nested.py NestedUserSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/nested.py (no class)   100% 17 0 0   100% 0 0   100%
users/api/serializers_/owners.py OwnerGroupSerializer   100% 0 0 0   100% 0 0   100%
users/api/serializers_/owners.py OwnerGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/owners.py OwnerSerializer   100% 0 0 0   100% 0 0   100%
users/api/serializers_/owners.py OwnerSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/owners.py (no class)   100% 19 0 0   100% 0 0   100%
users/api/serializers_/permissions.py ObjectPermissionSerializer   100% 0 0 0   100% 0 0   100%
users/api/serializers_/permissions.py ObjectPermissionSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/permissions.py (no class)   100% 14 0 0   100% 0 0   100%
users/api/serializers_/tokens.py TokenSerializer   60% 20 8 0   42% 12 3   53%
users/api/serializers_/tokens.py TokenSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/tokens.py TokenProvisionSerializer   71% 7 2 0   50% 2 1   67%
users/api/serializers_/tokens.py TokenProvisionSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/tokens.py (no class)   100% 32 0 0   100% 0 0   100%
users/api/serializers_/users.py GroupSerializer   100% 0 0 0   100% 0 0   100%
users/api/serializers_/users.py GroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/users.py UserSerializer   33% 15 10 0   50% 6 1   38%
users/api/serializers_/users.py UserSerializer.Meta   100% 0 0 0   100% 0 0   100%
users/api/serializers_/users.py (no class)   100% 29 0 0   100% 0 0   100%
users/api/urls.py (no class)   100% 14 0 0   100% 0 0   100%
users/api/views.py UsersRootView   0% 1 1 0   100% 0 0   0%
users/api/views.py UserViewSet   100% 0 0 0   100% 0 0   100%
users/api/views.py GroupViewSet   100% 0 0 0   100% 0 0   100%
users/api/views.py TokenViewSet   100% 0 0 0   100% 0 0   100%
users/api/views.py TokenProvisionView   25% 8 6 0   100% 0 0   25%
users/api/views.py ObjectPermissionViewSet   100% 0 0 0   100% 0 0   100%
users/api/views.py OwnerGroupViewSet   100% 0 0 0   100% 0 0   100%
users/api/views.py OwnerViewSet   100% 0 0 0   100% 0 0   100%
users/api/views.py UserConfigViewSet   100% 7 0 0   100% 0 0   100%
users/api/views.py (no class)   100% 55 0 0   100% 0 0   100%
users/apps.py UsersConfig   100% 3 0 0   100% 0 0   100%
users/apps.py (no class)   100% 4 0 0   100% 0 0   100%
users/choices.py TokenVersionChoices   100% 0 0 0   100% 0 0   100%
users/choices.py (no class)   100% 7 0 0   100% 0 0   100%
users/constants.py (no class)   100% 9 0 0   100% 0 0   100%
users/filterset_mixins.py OwnerFilterMixin   100% 0 0 0   100% 0 0   100%
users/filterset_mixins.py (no class)   100% 9 0 0   100% 0 0   100%
users/filtersets.py GroupFilterSet   0% 3 3 0   0% 2 0   0%
users/filtersets.py GroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
users/filtersets.py UserFilterSet   0% 3 3 0   0% 2 0   0%
users/filtersets.py UserFilterSet.Meta   100% 0 0 0   100% 0 0   100%
users/filtersets.py TokenFilterSet   0% 3 3 0   0% 2 0   0%
users/filtersets.py TokenFilterSet.Meta   100% 0 0 0   100% 0 0   100%
users/filtersets.py ObjectPermissionFilterSet   0% 7 7 0   0% 4 0   0%
users/filtersets.py ObjectPermissionFilterSet.Meta   100% 0 0 0   100% 0 0   100%
users/filtersets.py OwnerGroupFilterSet   0% 3 3 0   0% 2 0   0%
users/filtersets.py OwnerGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
users/filtersets.py OwnerFilterSet   0% 3 3 0   0% 2 0   0%
users/filtersets.py OwnerFilterSet.Meta   100% 0 0 0   100% 0 0   100%
users/filtersets.py (no class)   100% 91 0 0   100% 0 0   100%
users/forms/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
users/forms/bulk_edit.py UserBulkEditForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_edit.py GroupBulkEditForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_edit.py ObjectPermissionBulkEditForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_edit.py TokenBulkEditForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_edit.py OwnerGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_edit.py OwnerBulkEditForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_edit.py (no class)   100% 56 0 0   100% 0 0   100%
users/forms/bulk_import.py GroupImportForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py GroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py UserImportForm   0% 2 2 0   100% 0 0   0%
users/forms/bulk_import.py UserImportForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py TokenImportForm   0% 3 3 0   0% 2 0   0%
users/forms/bulk_import.py TokenImportForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py OwnerGroupImportForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py OwnerGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py OwnerImportForm   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py OwnerImportForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/bulk_import.py (no class)   100% 33 0 0   100% 0 0   100%
users/forms/filtersets.py GroupFilterForm   100% 0 0 0   100% 0 0   100%
users/forms/filtersets.py UserFilterForm   100% 0 0 0   100% 0 0   100%
users/forms/filtersets.py ObjectPermissionFilterForm   100% 0 0 0   100% 0 0   100%
users/forms/filtersets.py TokenFilterForm   100% 0 0 0   100% 0 0   100%
users/forms/filtersets.py OwnerGroupFilterForm   100% 0 0 0   100% 0 0   100%
users/forms/filtersets.py OwnerFilterForm   100% 0 0 0   100% 0 0   100%
users/forms/filtersets.py (no class)   100% 49 0 0   100% 0 0   100%
users/forms/model_forms.py UserConfigFormMetaclass   91% 11 1 0   67% 6 2   82%
users/forms/model_forms.py UserConfigForm   0% 13 13 0   0% 8 0   0%
users/forms/model_forms.py UserConfigForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py UserTokenForm   0% 13 13 0   0% 8 0   0%
users/forms/model_forms.py UserTokenForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py TokenForm   0% 11 11 0   0% 8 0   0%
users/forms/model_forms.py TokenForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py UserForm   0% 13 13 0   0% 8 0   0%
users/forms/model_forms.py UserForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py GroupForm   0% 6 6 0   0% 2 0   0%
users/forms/model_forms.py GroupForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py ObjectPermissionForm   0% 77 77 0   0% 64 0   0%
users/forms/model_forms.py ObjectPermissionForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py OwnerGroupForm   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py OwnerGroupForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py OwnerForm   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py OwnerForm.Meta   100% 0 0 0   100% 0 0   100%
users/forms/model_forms.py (no class)   93% 113 8 0   0% 2 0   91%
users/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
users/graphql/filters.py GroupFilter   100% 0 0 0   100% 0 0   100%
users/graphql/filters.py UserFilter   100% 0 0 0   100% 0 0   100%
users/graphql/filters.py OwnerFilter   100% 0 0 0   100% 0 0   100%
users/graphql/filters.py OwnerGroupFilter   100% 0 0 0   100% 0 0   100%
users/graphql/filters.py (no class)   100% 33 0 0   100% 0 0   100%
users/graphql/mixins.py OwnerMixin   100% 0 0 0   100% 0 0   100%
users/graphql/mixins.py (no class)   86% 7 1 0   50% 2 1   78%
users/graphql/schema.py UsersQuery   100% 0 0 0   100% 0 0   100%
users/graphql/schema.py (no class)   100% 13 0 0   100% 0 0   100%
users/graphql/types.py GroupType   100% 0 0 0   100% 0 0   100%
users/graphql/types.py UserType   100% 0 0 0   100% 0 0   100%
users/graphql/types.py OwnerGroupType   100% 0 0 0   100% 0 0   100%
users/graphql/types.py OwnerType   100% 0 0 0   100% 0 0   100%
users/graphql/types.py (no class)   100% 14 0 0   100% 0 0   100%
users/models/__init__.py (no class)   100% 5 0 0   100% 0 0   100%
users/models/owners.py OwnerGroup   50% 2 1 0   100% 0 0   50%
users/models/owners.py OwnerGroup.Meta   100% 0 0 0   100% 0 0   100%
users/models/owners.py Owner   50% 2 1 0   100% 0 0   50%
users/models/owners.py Owner.Meta   100% 0 0 0   100% 0 0   100%
users/models/owners.py (no class)   100% 27 0 0   100% 0 0   100%
users/models/permissions.py ObjectPermission   0% 28 28 0   0% 12 0   0%
users/models/permissions.py ObjectPermission.Meta   100% 0 0 0   100% 0 0   100%
users/models/permissions.py (no class)   100% 37 0 0   100% 0 0   100%
users/models/preferences.py UserConfig   0% 46 46 0   0% 24 0   0%
users/models/preferences.py UserConfig.Meta   100% 0 0 0   100% 0 0   100%
users/models/preferences.py (no class)   100% 19 0 0   100% 0 0   100%
users/models/tokens.py Token   56% 64 28 0   42% 36 11   51%
users/models/tokens.py Token.Meta   100% 0 0 0   100% 0 0   100%
users/models/tokens.py (no class)   100% 69 0 0   100% 0 0   100%
users/models/users.py GroupManager   100% 0 0 0   100% 0 0   100%
users/models/users.py Group   33% 3 2 0   100% 0 0   33%
users/models/users.py Group.Meta   100% 0 0 0   100% 0 0   100%
users/models/users.py UserManager   25% 12 9 0   25% 4 1   25%
users/models/users.py User   60% 10 4 0   50% 2 1   58%
users/models/users.py User.Meta   100% 0 0 0   100% 0 0   100%
users/models/users.py (no class)   100% 59 0 0   100% 0 0   100%
users/preferences.py UserPreference   100% 6 0 0   100% 0 0   100%
users/preferences.py (no class)   100% 2 0 0   100% 0 0   100%
users/signals.py (no class)   80% 25 5 0   25% 8 2   67%
users/tables.py TokenTable   100% 0 0 0   100% 0 0   100%
users/tables.py TokenTable.Meta   100% 0 0 0   100% 0 0   100%
users/tables.py UserTable   100% 0 0 0   100% 0 0   100%
users/tables.py UserTable.Meta   100% 0 0 0   100% 0 0   100%
users/tables.py GroupTable   100% 0 0 0   100% 0 0   100%
users/tables.py GroupTable.Meta   100% 0 0 0   100% 0 0   100%
users/tables.py ObjectPermissionTable   100% 0 0 0   100% 0 0   100%
users/tables.py ObjectPermissionTable.Meta   100% 0 0 0   100% 0 0   100%
users/tables.py OwnerGroupTable   100% 0 0 0   100% 0 0   100%
users/tables.py OwnerGroupTable.Meta   100% 0 0 0   100% 0 0   100%
users/tables.py OwnerTable   100% 0 0 0   100% 0 0   100%
users/tables.py OwnerTable.Meta   100% 0 0 0   100% 0 0   100%
users/tables.py (no class)   100% 70 0 0   100% 0 0   100%
users/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
users/ui/panels.py TokenPanel   100% 0 0 0   100% 0 0   100%
users/ui/panels.py TokenExamplePanel   100% 0 0 0   100% 0 0   100%
users/ui/panels.py UserPanel   100% 0 0 0   100% 0 0   100%
users/ui/panels.py ObjectPermissionPanel   100% 0 0 0   100% 0 0   100%
users/ui/panels.py ObjectPermissionActionsPanel   0% 3 3 0   100% 0 0   0%
users/ui/panels.py OwnerPanel   100% 0 0 0   100% 0 0   100%
users/ui/panels.py (no class)   100% 38 0 0   100% 0 0   100%
users/urls.py (no class)   100% 5 0 0   100% 0 0   100%
users/utils.py (no class)   27% 37 27 0   6% 16 1   21%
users/views.py TokenListView   100% 0 0 0   100% 0 0   100%
users/views.py TokenView   0% 4 4 0   0% 2 0   0%
users/views.py TokenEditView   0% 2 2 0   100% 0 0   0%
users/views.py TokenDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py TokenBulkImportView   0% 4 4 0   0% 2 0   0%
users/views.py TokenBulkEditView   100% 0 0 0   100% 0 0   100%
users/views.py TokenBulkDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py UserListView   100% 0 0 0   100% 0 0   100%
users/views.py UserView   0% 5 5 0   100% 0 0   0%
users/views.py UserEditView   100% 0 0 0   100% 0 0   100%
users/views.py UserDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py UserBulkImportView   100% 0 0 0   100% 0 0   100%
users/views.py UserBulkEditView   100% 0 0 0   100% 0 0   100%
users/views.py UserBulkRenameView   100% 0 0 0   100% 0 0   100%
users/views.py UserBulkDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py GroupListView   100% 0 0 0   100% 0 0   100%
users/views.py GroupView   100% 0 0 0   100% 0 0   100%
users/views.py GroupEditView   100% 0 0 0   100% 0 0   100%
users/views.py GroupDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py GroupBulkImportView   100% 0 0 0   100% 0 0   100%
users/views.py GroupBulkEditView   100% 0 0 0   100% 0 0   100%
users/views.py GroupBulkRenameView   100% 0 0 0   100% 0 0   100%
users/views.py GroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py ObjectPermissionListView   100% 0 0 0   100% 0 0   100%
users/views.py ObjectPermissionView   100% 0 0 0   100% 0 0   100%
users/views.py ObjectPermissionEditView   100% 0 0 0   100% 0 0   100%
users/views.py ObjectPermissionDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py ObjectPermissionBulkEditView   100% 0 0 0   100% 0 0   100%
users/views.py ObjectPermissionBulkRenameView   100% 0 0 0   100% 0 0   100%
users/views.py ObjectPermissionBulkDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupListView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupEditView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupBulkImportView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupBulkEditView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerListView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerView   0% 1 1 0   100% 0 0   0%
users/views.py OwnerEditView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerBulkImportView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerBulkEditView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerBulkRenameView   100% 0 0 0   100% 0 0   100%
users/views.py OwnerBulkDeleteView   100% 0 0 0   100% 0 0   100%
users/views.py (no class)   100% 234 0 0   100% 0 0   100%
utilities/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
utilities/api.py IsSuperuser   100% 1 0 0   100% 0 0   100%
utilities/api.py (no class)   82% 140 25 0   75% 48 8   80%
utilities/apps.py (no class)   100% 10 0 0   100% 6 0   100%
utilities/choices.py Choice   88% 8 1 0   100% 0 0   88%
utilities/choices.py ChoiceSetMeta   85% 33 5 0   80% 20 4   83%
utilities/choices.py ChoiceSet   100% 5 0 0   100% 0 0   100%
utilities/choices.py (no class)   100% 31 0 0   100% 6 0   100%
utilities/constants.py (no class)   100% 15 0 0   100% 0 0   100%
utilities/conversion.py (no class)   42% 24 14 0   0% 4 0   36%
utilities/counters.py (no class)   89% 61 7 0   82% 28 5   87%
utilities/data.py (no class)   29% 133 95 0   8% 64 5   22%
utilities/datetime.py (no class)   88% 8 1 0   100% 0 0   88%
utilities/debug.py (no class)   0% 11 11 0   0% 6 0   0%
utilities/error_handlers.py (no class)   54% 35 16 0   10% 10 1   44%
utilities/exceptions.py AbortTransaction   100% 0 0 0   100% 0 0   100%
utilities/exceptions.py AbortRequest   0% 1 1 0   100% 0 0   0%
utilities/exceptions.py AbortScript   100% 0 0 0   100% 0 0   100%
utilities/exceptions.py PermissionsViolation   100% 0 0 0   100% 0 0   100%
utilities/exceptions.py PreconditionFailed   0% 2 2 0   100% 0 0   0%
utilities/exceptions.py RQWorkerNotRunningException   100% 0 0 0   100% 0 0   100%
utilities/exceptions.py (no class)   100% 20 0 0   100% 0 0   100%
utilities/export.py TableExport   0% 8 8 0   0% 4 0   0%
utilities/export.py _EchoBuffer   0% 1 1 0   100% 0 0   0%
utilities/export.py (no class)   47% 36 19 0   0% 8 0   39%
utilities/fields.py ColorField   100% 4 0 0   100% 0 0   100%
utilities/fields.py NaturalOrderingField   100% 10 0 0   100% 0 0   100%
utilities/fields.py RestrictedGenericForeignKeyDescriptor   0% 1 1 0   100% 0 0   0%
utilities/fields.py RestrictedGenericForeignKey   5% 44 42 0   0% 26 0   3%
utilities/fields.py CounterCacheField   85% 13 2 0   50% 4 2   76%
utilities/fields.py GenericArrayForeignKey   9% 66 60 0   0% 34 0   6%
utilities/fields.py (no class)   100% 45 0 0   100% 0 0   100%
utilities/filters.py multivalue_field_factory.NewField   100% 8 0 0   100% 6 0   100%
utilities/filters.py MultiValueCharFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py MultiValueDateFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py MultiValueDateTimeFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py MultiValueNumberFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py MultiValueBigNumberFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py MultiValueDecimalFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py MultiValueTimeFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py MultiValueArrayFilter   0% 4 4 0   0% 2 0   0%
utilities/filters.py MultiValueMACAddressFilter   100% 4 0 0   100% 0 0   100%
utilities/filters.py MultiValueWWNFilter   100% 0 0 0   100% 0 0   100%
utilities/filters.py TreeNodeMultipleChoiceFilter   40% 5 3 0   0% 2 0   29%
utilities/filters.py NullableCharFieldFilter   0% 4 4 0   0% 2 0   0%
utilities/filters.py NumericArrayFilter   67% 3 1 0   50% 2 1   60%
utilities/filters.py ContentTypeFilter   0% 8 8 0   0% 2 0   0%
utilities/filters.py MultiValueContentTypeFilter   82% 11 2 0   100% 4 0   87%
utilities/filters.py (no class)   100% 62 0 0   100% 0 0   100%
utilities/filtersets.py (no class)   100% 7 0 0   100% 0 0   100%
utilities/forms/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
utilities/forms/bulk_import.py BulkImportForm   0% 73 73 0   0% 36 0   0%
utilities/forms/bulk_import.py (no class)   100% 24 0 0   100% 0 0   100%
utilities/forms/constants.py (no class)   100% 5 0 0   100% 0 0   100%
utilities/forms/fields/__init__.py (no class)   100% 8 0 0   100% 0 0   100%
utilities/forms/fields/array.py NumericArrayField   0% 8 8 0   0% 6 0   0%
utilities/forms/fields/array.py NumericRangeArrayField   30% 10 7 0   17% 6 1   25%
utilities/forms/fields/array.py (no class)   100% 15 0 0   100% 0 0   100%
utilities/forms/fields/choices.py AttrChoiceMixin   83% 6 1 0   50% 2 1   75%
utilities/forms/fields/choices.py ChoiceField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/choices.py TypedChoiceField   100% 1 0 0   100% 0 0   100%
utilities/forms/fields/choices.py MultipleChoiceField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/choices.py (no class)   97% 36 1 0   92% 12 1   96%
utilities/forms/fields/content_types.py ContentTypeChoiceMixin   33% 6 4 0   100% 0 0   33%
utilities/forms/fields/content_types.py ContentTypeChoiceField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/content_types.py ContentTypeMultipleChoiceField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/content_types.py (no class)   100% 10 0 0   100% 0 0   100%
utilities/forms/fields/csv.py CSVSelectWidget   0% 4 4 0   0% 2 0   0%
utilities/forms/fields/csv.py CSVChoicesMixin   100% 2 0 0   100% 0 0   100%
utilities/forms/fields/csv.py CSVChoiceField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/csv.py CSVMultipleChoiceField   0% 5 5 0   0% 4 0   0%
utilities/forms/fields/csv.py CSVTypedChoiceField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/csv.py CSVModelChoiceField   0% 6 6 0   100% 0 0   0%
utilities/forms/fields/csv.py CSVModelMultipleChoiceField   0% 3 3 0   0% 2 0   0%
utilities/forms/fields/csv.py CSVContentTypeField   0% 11 11 0   0% 2 0   0%
utilities/forms/fields/csv.py CSVMultipleContentTypeField   0% 9 9 0   0% 6 0   0%
utilities/forms/fields/csv.py (no class)   100% 33 0 0   100% 0 0   100%
utilities/forms/fields/dynamic.py DynamicChoiceField   0% 6 6 0   0% 2 0   0%
utilities/forms/fields/dynamic.py DynamicMultipleChoiceField   0% 6 6 0   0% 2 0   0%
utilities/forms/fields/dynamic.py DynamicModelChoiceMixin   38% 53 33 0   25% 32 0   33%
utilities/forms/fields/dynamic.py DynamicModelChoiceField   0% 3 3 0   0% 2 0   0%
utilities/forms/fields/dynamic.py DynamicModelMultipleChoiceField   0% 5 5 0   0% 2 0   0%
utilities/forms/fields/dynamic.py (no class)   100% 23 0 0   100% 0 0   100%
utilities/forms/fields/expandable.py ExpandableNameField   38% 8 5 0   33% 6 0   36%
utilities/forms/fields/expandable.py ExpandableNumericField   100% 3 0 0   50% 2 1   80%
utilities/forms/fields/expandable.py ExpandableIPNetworkField   20% 15 12 0   12% 8 1   17%
utilities/forms/fields/expandable.py (no class)   100% 15 0 0   100% 0 0   100%
utilities/forms/fields/fields.py BigIntegerField   100% 3 0 0   100% 0 0   100%
utilities/forms/fields/fields.py PositiveBigIntegerField   100% 2 0 0   100% 0 0   100%
utilities/forms/fields/fields.py QueryField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/fields.py CommentField   100% 1 0 0   100% 0 0   100%
utilities/forms/fields/fields.py SlugField   29% 7 5 0   0% 4 0   18%
utilities/forms/fields/fields.py ColorField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/fields.py TagFilterField   50% 4 2 0   100% 0 0   50%
utilities/forms/fields/fields.py LaxURLField   100% 0 0 0   100% 0 0   100%
utilities/forms/fields/fields.py JSONField   33% 15 10 0   25% 8 0   30%
utilities/forms/fields/fields.py MACAddressField   0% 6 6 0   100% 0 0   0%
utilities/forms/fields/fields.py (no class)   100% 44 0 0   100% 0 0   100%
utilities/forms/fields/generic.py GenericObjectChoiceField   14% 110 95 0   5% 40 0   11%
utilities/forms/fields/generic.py (no class)   100% 31 0 0   100% 0 0   100%
utilities/forms/forms.py ConfirmationForm   100% 0 0 0   100% 0 0   100%
utilities/forms/forms.py DeleteForm   0% 3 3 0   0% 2 0   0%
utilities/forms/forms.py BulkEditForm   100% 0 0 0   100% 0 0   100%
utilities/forms/forms.py BulkRenameForm   0% 6 6 0   0% 2 0   0%
utilities/forms/forms.py BulkDeleteForm   0% 4 4 0   0% 2 0   0%
utilities/forms/forms.py CSVModelForm   0% 9 9 0   0% 8 0   0%
utilities/forms/forms.py FilterForm   100% 0 0 0   100% 0 0   100%
utilities/forms/forms.py TableConfigForm   0% 6 6 0   0% 2 0   0%
utilities/forms/forms.py (no class)   100% 36 0 0   100% 0 0   100%
utilities/forms/mixins.py BackgroundJobMixin   0% 4 4 0   0% 2 0   0%
utilities/forms/mixins.py CheckLastUpdatedMixin   0% 9 9 0   0% 8 0   0%
utilities/forms/mixins.py DistanceValidationMixin   100% 0 0 0   100% 0 0   100%
utilities/forms/mixins.py GenericObjectFormMixin   0% 27 27 0   0% 24 0   0%
utilities/forms/mixins.py FilterModifierMixin   0% 28 28 0   0% 20 0   0%
utilities/forms/mixins.py (no class)   100% 31 0 0   100% 0 0   100%
utilities/forms/rendering.py FieldSet   67% 6 2 0   25% 4 1   50%
utilities/forms/rendering.py InlineFields   100% 3 0 0   100% 0 0   100%
utilities/forms/rendering.py TabbedGroups   67% 6 2 0   75% 4 1   70%
utilities/forms/rendering.py M2MAddRemoveFields   100% 1 0 0   100% 0 0   100%
utilities/forms/rendering.py ObjectAttribute   100% 1 0 0   100% 0 0   100%
utilities/forms/rendering.py (no class)   100% 19 0 0   100% 0 0   100%
utilities/forms/utils.py (no class)   17% 154 128 0   2% 96 0   11%
utilities/forms/widgets/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
utilities/forms/widgets/apiselect.py APISelect   74% 58 15 0   80% 30 4   76%
utilities/forms/widgets/apiselect.py APISelectMultiple   100% 0 0 0   100% 0 0   100%
utilities/forms/widgets/apiselect.py (no class)   100% 20 0 0   100% 0 0   100%
utilities/forms/widgets/datetime.py DatePicker   100% 3 0 0   100% 0 0   100%
utilities/forms/widgets/datetime.py DateTimePicker   100% 3 0 0   100% 0 0   100%
utilities/forms/widgets/datetime.py TimePicker   0% 3 3 0   100% 0 0   0%
utilities/forms/widgets/datetime.py (no class)   100% 8 0 0   100% 0 0   100%
utilities/forms/widgets/generic.py GenericObjectSelect   20% 10 8 0   0% 8 0   11%
utilities/forms/widgets/generic.py (no class)   100% 9 0 0   100% 0 0   100%
utilities/forms/widgets/misc.py ClearableFileInput   100% 0 0 0   100% 0 0   100%
utilities/forms/widgets/misc.py MarkdownWidget   75% 4 1 0   50% 2 1   67%
utilities/forms/widgets/misc.py NumberWithOptions   40% 5 3 0   100% 0 0   40%
utilities/forms/widgets/misc.py SlugWidget   80% 5 1 0   50% 2 1   71%
utilities/forms/widgets/misc.py ArrayWidget   0% 3 3 0   0% 2 0   0%
utilities/forms/widgets/misc.py ChoicesWidget   0% 5 5 0   0% 4 0   0%
utilities/forms/widgets/misc.py (no class)   100% 18 0 0   100% 0 0   100%
utilities/forms/widgets/modifiers.py FilterModifierWidget   0% 56 56 0   0% 30 0   0%
utilities/forms/widgets/modifiers.py (no class)   100% 12 0 0   100% 0 0   100%
utilities/forms/widgets/select.py AttrSelectMixin   56% 9 4 0   0% 2 0   45%
utilities/forms/widgets/select.py Select   100% 0 0 0   100% 0 0   100%
utilities/forms/widgets/select.py SelectMultiple   100% 0 0 0   100% 0 0   100%
utilities/forms/widgets/select.py BulkEditNullBooleanSelect   100% 2 0 0   100% 0 0   100%
utilities/forms/widgets/select.py ClearableSelect   100% 3 0 0   50% 2 1   80%
utilities/forms/widgets/select.py ColorSelect   100% 3 0 0   100% 0 0   100%
utilities/forms/widgets/select.py HTMXSelect   90% 10 1 0   83% 6 1   88%
utilities/forms/widgets/select.py SelectWithPK   100% 0 0 0   100% 0 0   100%
utilities/forms/widgets/select.py SelectMultipleBase   0% 16 16 0   0% 8 0   0%
utilities/forms/widgets/select.py AvailableOptions   0% 3 3 0   100% 0 0   0%
utilities/forms/widgets/select.py SelectedOptions   100% 0 0 0   100% 0 0   100%
utilities/forms/widgets/select.py SplitMultiSelectWidget   38% 8 5 0   100% 0 0   38%
utilities/forms/widgets/select.py (no class)   100% 36 0 0   100% 0 0   100%
utilities/html.py (no class)   32% 38 26 0   0% 12 0   24%
utilities/htmx.py (no class)   33% 21 14 0   0% 6 0   26%
utilities/jinja2.py DataFileLoader   0% 14 14 0   0% 4 0   0%
utilities/jinja2.py (no class)   45% 55 30 0   0% 12 0   37%
utilities/jobs.py (no class)   50% 16 8 0   0% 2 0   44%
utilities/json.py CustomFieldJSONEncoder   0% 3 3 0   0% 2 0   0%
utilities/json.py ConfigJSONEncoder   0% 4 4 0   0% 2 0   0%
utilities/json.py JobLogDecoder   0% 8 8 0   0% 2 0   0%
utilities/json.py (no class)   100% 12 0 0   100% 0 0   100%
utilities/jsonschema.py PropertyTypeEnum   100% 0 0 0   100% 0 0   100%
utilities/jsonschema.py StringFormatEnum   100% 0 0 0   100% 0 0   100%
utilities/jsonschema.py JSONSchemaProperty   0% 46 46 0   0% 38 0   0%
utilities/jsonschema.py (no class)   95% 59 3 0   75% 4 1   94%
utilities/ltree.py InstallLtreeTriggers   45% 11 6 0   100% 2 0   54%
utilities/ltree.py ReinstallLtreeTriggers   0% 2 2 0   100% 0 0   0%
utilities/ltree.py (no class)   100% 28 0 0   100% 2 0   100%
utilities/management/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
utilities/management/commands/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
utilities/management/commands/calculate_cached_counts.py Command   0% 12 12 0   0% 8 0   0%
utilities/management/commands/calculate_cached_counts.py (no class)   0% 9 9 0   100% 0 0   0%
utilities/management/commands/rebuild_ltree_paths.py Command   0% 54 54 0   0% 28 0   0%
utilities/management/commands/rebuild_ltree_paths.py (no class)   0% 14 14 0   100% 0 0   0%
utilities/markdown.py StrikethroughExtension   0% 1 1 0   100% 0 0   0%
utilities/markdown.py (no class)   100% 6 0 0   100% 0 0   100%
utilities/migration.py InstallDenormalizationTrigger   88% 25 3 0   100% 2 0   89%
utilities/migration.py (no class)   100% 22 0 0   100% 2 0   100%
utilities/mptt.py TreeQuerySet   100% 0 0 0   100% 0 0   100%
utilities/mptt.py TreeManager   100% 0 0 0   100% 0 0   100%
utilities/mptt.py (no class)   100% 9 0 0   100% 0 0   100%
utilities/mptt_to_ltree.py (no class)   57% 21 9 0   50% 4 0   56%
utilities/object_types.py (no class)   29% 14 10 0   0% 2 0   25%
utilities/ordering.py (no class)   71% 35 10 0   55% 22 4   65%
utilities/paginator.py EnhancedPaginator   0% 15 15 0   0% 8 0   0%
utilities/paginator.py EnhancedPage   0% 9 9 0   0% 4 0   0%
utilities/paginator.py (no class)   42% 26 15 0   0% 6 0   34%
utilities/password_validation.py AlphanumericPasswordValidator   43% 7 4 0   33% 6 2   38%
utilities/password_validation.py (no class)   100% 5 0 0   100% 0 0   100%
utilities/permissions.py ModelAction   38% 8 5 0   33% 6 2   36%
utilities/permissions.py (no class)   56% 61 27 0   25% 20 3   48%
utilities/prefetch.py (no class)   35% 17 11 0   0% 10 0   22%
utilities/proxy.py DefaultProxyRouter   0% 6 6 0   0% 4 0   0%
utilities/proxy.py (no class)   60% 15 6 0   0% 4 0   47%
utilities/query.py (no class)   96% 27 1 0   90% 10 1   95%
utilities/query_functions.py CollateAsChar   100% 0 0 0   100% 0 0   100%
utilities/query_functions.py EmptyGroupByJSONBAgg   100% 0 0 0   100% 0 0   100%
utilities/query_functions.py (no class)   100% 8 0 0   100% 0 0   100%
utilities/querydict.py (no class)   30% 27 19 0   0% 12 0   21%
utilities/querysets.py RestrictedPrefetch   0% 7 7 0   0% 2 0   0%
utilities/querysets.py RestrictedQuerySet   27% 11 8 0   17% 6 1   24%
utilities/querysets.py (no class)   85% 39 6 0   43% 14 6   74%
utilities/relations.py (no class)   43% 7 4 0   0% 2 0   33%
utilities/release.py FeatureSet   100% 0 0 0   100% 0 0   100%
utilities/release.py ReleaseInfo   75% 8 2 0   50% 4 2   67%
utilities/release.py (no class)   80% 51 10 0   33% 12 4   71%
utilities/request.py NetBoxFakeRequest   0% 1 1 0   100% 0 0   0%
utilities/request.py (no class)   54% 56 26 0   28% 18 1   47%
utilities/rqworker.py NetBoxRQWorker   0% 9 9 0   0% 4 0   0%
utilities/rqworker.py (no class)   64% 36 13 0   12% 8 1   55%
utilities/secret_key.py (no class)   0% 6 6 0   100% 0 0   0%
utilities/security.py (no class)   64% 14 5 0   58% 12 5   62%
utilities/serialization.py (no class)   55% 38 17 0   56% 16 1   56%
utilities/serializers/json.py Serializer   100% 5 0 0   100% 4 0   100%
utilities/serializers/json.py (no class)   100% 7 0 0   100% 0 0   100%
utilities/socks.py ProxyHTTPConnection   0% 10 10 0   100% 0 0   0%
utilities/socks.py ProxyHTTPSConnection   100% 0 0 0   100% 0 0   100%
utilities/socks.py RdnsProxyHTTPConnection   100% 0 0 0   100% 0 0   100%
utilities/socks.py RdnsProxyHTTPSConnection   100% 0 0 0   100% 0 0   100%
utilities/socks.py ProxyHTTPConnectionPool   100% 0 0 0   100% 0 0   100%
utilities/socks.py ProxyHTTPSConnectionPool   100% 0 0 0   100% 0 0   100%
utilities/socks.py RdnsProxyHTTPConnectionPool   100% 0 0 0   100% 0 0   100%
utilities/socks.py RdnsProxyHTTPSConnectionPool   100% 0 0 0   100% 0 0   100%
utilities/socks.py ProxyPoolManager   0% 9 9 0   0% 4 0   0%
utilities/socks.py (no class)   100% 26 0 0   100% 0 0   100%
utilities/string.py (no class)   31% 36 25 0   0% 16 0   21%
utilities/tables.py (no class)   36% 33 21 0   0% 12 0   27%
utilities/templatetags/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
utilities/templatetags/builtins/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
utilities/templatetags/builtins/filters.py (no class)   47% 111 59 0   0% 24 0   39%
utilities/templatetags/builtins/tags.py (no class)   53% 79 37 0   20% 20 2   46%
utilities/templatetags/buttons.py (no class)   37% 97 61 0   0% 10 0   34%
utilities/templatetags/form_helpers.py FieldsetRow   100% 0 0 0   100% 0 0   100%
utilities/templatetags/form_helpers.py (no class)   30% 98 69 0   0% 50 0   20%
utilities/templatetags/helpers.py ActionURLNode   0% 17 17 0   0% 4 0   0%
utilities/templatetags/helpers.py (no class)   28% 241 173 0   0% 94 0   20%
utilities/templatetags/navigation.py (no class)   81% 26 5 0   75% 16 4   79%
utilities/templatetags/perms.py (no class)   65% 26 9 0   100% 0 0   65%
utilities/templatetags/plugins.py (no class)   64% 50 18 0   33% 6 2   61%
utilities/templatetags/tabs.py (no class)   29% 31 22 0   0% 8 0   23%
utilities/testing/__init__.py (no class)   0% 7 7 0   100% 0 0   0%
utilities/testing/api.py GraphQLFilterTest   100% 0 0 0   100% 0 0   100%
utilities/testing/api.py GraphQLQueryTest   100% 0 0 0   100% 0 0   100%
utilities/testing/api.py APITestCase   0% 9 9 0   100% 0 0   0%
utilities/testing/api.py APIViewTestCases   100% 0 0 0   100% 0 0   100%
utilities/testing/api.py APIViewTestCases.GetObjectViewTestCase   0% 25 25 0   0% 4 0   0%
utilities/testing/api.py APIViewTestCases.ListObjectsViewTestCase   0% 28 28 0   0% 2 0   0%
utilities/testing/api.py APIViewTestCases.CreateObjectViewTestCase   0% 59 59 0   0% 22 0   0%
utilities/testing/api.py APIViewTestCases.UpdateObjectViewTestCase   0% 168 168 0   0% 56 0   0%
utilities/testing/api.py APIViewTestCases.DeleteObjectViewTestCase   0% 97 97 0   0% 12 0   0%
utilities/testing/api.py APIViewTestCases.GraphQLTestCase   0% 438 438 0   0% 230 0   0%
utilities/testing/api.py APIViewTestCases.APIViewTestCase   100% 0 0 0   100% 0 0   100%
utilities/testing/api.py APIViewTestCases.GraphQLSchemaCoverageTestCase   0% 68 68 0   0% 28 0   0%
utilities/testing/api.py (no class)   0% 176 176 0   100% 0 0   0%
utilities/testing/base.py TestCase   0% 41 41 0   0% 16 0   0%
utilities/testing/base.py ModelTestCase   0% 48 48 0   0% 38 0   0%
utilities/testing/base.py (no class)   0% 37 37 0   100% 0 0   0%
utilities/testing/filtersets.py BaseFilterSetTestMixin   0% 44 44 0   0% 28 0   0%
utilities/testing/filtersets.py ChangeLoggedFilterSetTestMixin   0% 8 8 0   100% 0 0   0%
utilities/testing/filtersets.py (no class)   0% 25 25 0   100% 0 0   0%
utilities/testing/mixins.py RQQueueTestMixin   0% 9 9 0   0% 2 0   0%
utilities/testing/mixins.py (no class)   0% 13 13 0   100% 0 0   0%
utilities/testing/query_counts.py (no class)   0% 80 80 0   0% 18 0   0%
utilities/testing/tables.py ModelTableTestCase   0% 33 33 0   0% 20 0   0%
utilities/testing/tables.py TableTestCases   100% 0 0 0   100% 0 0   100%
utilities/testing/tables.py TableTestCases.StandardTableTestCase   0% 10 10 0   0% 6 0   0%
utilities/testing/tables.py (no class)   0% 25 25 0   100% 0 0   0%
utilities/testing/utils.py UnpinnedQuery   100% 0 0 0   100% 0 0   100%
utilities/testing/utils.py PinnedConnectionRouter   0% 3 3 0   0% 2 0   0%
utilities/testing/utils.py (no class)   0% 98 98 0   0% 22 0   0%
utilities/testing/views.py ModelViewTestCase   0% 5 5 0   0% 2 0   0%
utilities/testing/views.py ViewTestCases   100% 0 0 0   100% 0 0   100%
utilities/testing/views.py ViewTestCases.GetObjectViewTestCase   0% 24 24 0   0% 2 0   0%
utilities/testing/views.py ViewTestCases.GetObjectChangelogViewTestCase   0% 3 3 0   100% 0 0   0%
utilities/testing/views.py ViewTestCases.CreateObjectViewTestCase   0% 42 42 0   0% 8 0   0%
utilities/testing/views.py ViewTestCases.EditObjectViewTestCase   0% 38 38 0   0% 8 0   0%
utilities/testing/views.py ViewTestCases.DeleteObjectViewTestCase   0% 37 37 0   0% 4 0   0%
utilities/testing/views.py ViewTestCases.ListObjectsViewTestCase   0% 51 51 0   0% 6 0   0%
utilities/testing/views.py ViewTestCases.CreateMultipleObjectsViewTestCase   0% 44 44 0   0% 8 0   0%
utilities/testing/views.py ViewTestCases.BulkImportObjectsViewTestCase   0% 110 110 0   0% 42 0   0%
utilities/testing/views.py ViewTestCases.BulkEditObjectsViewTestCase   0% 43 43 0   0% 10 0   0%
utilities/testing/views.py ViewTestCases.BulkDeleteObjectsViewTestCase   0% 35 35 0   0% 6 0   0%
utilities/testing/views.py ViewTestCases.BulkRenameObjectsViewTestCase   0% 80 80 0   0% 16 0   0%
utilities/testing/views.py ViewTestCases.PrimaryObjectViewTestCase   100% 0 0 0   100% 0 0   100%
utilities/testing/views.py ViewTestCases.OrganizationalObjectViewTestCase   100% 0 0 0   100% 0 0   100%
utilities/testing/views.py ViewTestCases.AdminModelViewTestCase   100% 0 0 0   100% 0 0   100%
utilities/testing/views.py ViewTestCases.DeviceComponentTemplateViewTestCase   100% 0 0 0   100% 0 0   100%
utilities/testing/views.py ViewTestCases.DeviceComponentViewTestCase   100% 0 0 0   100% 0 0   100%
utilities/testing/views.py (no class)   0% 119 119 0   100% 0 0   0%
utilities/tracking.py Tracker   57% 7 3 0   50% 2 1   56%
utilities/tracking.py TrackingModelMixin   79% 19 4 0   64% 14 3   73%
utilities/tracking.py (no class)   100% 14 0 0   100% 0 0   100%
utilities/urls.py (no class)   90% 21 2 0   83% 6 1   89%
utilities/validators.py EnhancedURLValidator   0% 3 3 0   0% 2 0   0%
utilities/validators.py ExclusionValidator   100% 1 0 0   100% 0 0   100%
utilities/validators.py MultipleOfValidator   0% 4 4 0   0% 2 0   0%
utilities/validators.py (no class)   72% 32 9 0   100% 0 0   72%
utilities/views.py ConditionalLoginRequiredMixin   67% 3 1 0   50% 2 1   60%
utilities/views.py TokenConditionalLoginRequiredMixin   0% 9 9 0   0% 4 0   0%
utilities/views.py ContentTypePermissionRequiredMixin   0% 9 9 0   0% 4 0   0%
utilities/views.py ObjectPermissionRequiredMixin   0% 13 13 0   0% 6 0   0%
utilities/views.py GetReturnURLMixin   0% 13 13 0   0% 8 0   0%
utilities/views.py GetRelatedModelsMixin   0% 7 7 0   0% 2 0   0%
utilities/views.py GetRelatedModelsMixin.RelatedObjectCount   0% 1 1 0   100% 0 0   0%
utilities/views.py ViewTab   35% 17 11 0   0% 8 0   24%
utilities/views.py (no class)   86% 90 13 0   71% 14 4   84%
virtualization/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
virtualization/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers.py (no class)   100% 2 0 0   100% 0 0   100%
virtualization/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/clusters.py ClusterTypeSerializer   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/clusters.py ClusterTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/clusters.py ClusterGroupSerializer   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/clusters.py ClusterGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/clusters.py ClusterSerializer   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/clusters.py ClusterSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/clusters.py (no class)   100% 39 0 0   100% 0 0   100%
virtualization/api/serializers_/nested.py NestedVirtualMachineSerializer   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/nested.py NestedVirtualMachineSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/nested.py NestedVMInterfaceSerializer   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/nested.py NestedVMInterfaceSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/nested.py (no class)   100% 12 0 0   100% 0 0   100%
virtualization/api/serializers_/virtualmachines.py VirtualMachineTypeSerializer   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/virtualmachines.py VirtualMachineTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/virtualmachines.py VirtualMachineSerializer   0% 1 1 0   100% 0 0   0%
virtualization/api/serializers_/virtualmachines.py VirtualMachineSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/virtualmachines.py VMInterfaceSerializer   0% 25 25 0   0% 16 0   0%
virtualization/api/serializers_/virtualmachines.py VMInterfaceSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/virtualmachines.py VirtualDiskSerializer   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/virtualmachines.py VirtualDiskSerializer.Meta   100% 0 0 0   100% 0 0   100%
virtualization/api/serializers_/virtualmachines.py (no class)   100% 82 0 0   100% 0 0   100%
virtualization/api/urls.py (no class)   100% 13 0 0   100% 0 0   100%
virtualization/api/views.py VirtualizationRootView   0% 1 1 0   100% 0 0   0%
virtualization/api/views.py ClusterTypeViewSet   100% 0 0 0   100% 0 0   100%
virtualization/api/views.py ClusterGroupViewSet   100% 0 0 0   100% 0 0   100%
virtualization/api/views.py ClusterViewSet   100% 0 0 0   100% 0 0   100%
virtualization/api/views.py VirtualMachineTypeViewSet   100% 0 0 0   100% 0 0   100%
virtualization/api/views.py VirtualMachineViewSet   100% 0 0 0   100% 0 0   100%
virtualization/api/views.py VMInterfaceViewSet   100% 1 0 0   100% 0 0   100%
virtualization/api/views.py VirtualDiskViewSet   100% 0 0 0   100% 0 0   100%
virtualization/api/views.py (no class)   100% 39 0 0   100% 0 0   100%
virtualization/apps.py VirtualizationConfig   100% 6 0 0   100% 0 0   100%
virtualization/apps.py (no class)   100% 4 0 0   100% 0 0   100%
virtualization/choices.py ClusterStatusChoices   100% 0 0 0   100% 0 0   100%
virtualization/choices.py VirtualMachineStatusChoices   100% 0 0 0   100% 0 0   100%
virtualization/choices.py VirtualMachineStartOnBootChoices   100% 0 0 0   100% 0 0   100%
virtualization/choices.py (no class)   100% 26 0 0   100% 0 0   100%
virtualization/filtersets.py ClusterTypeFilterSet   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py ClusterTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py ClusterGroupFilterSet   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py ClusterGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py ClusterFilterSet   0% 3 3 0   0% 2 0   0%
virtualization/filtersets.py ClusterFilterSet.Meta   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py VirtualMachineTypeFilterSet   0% 3 3 0   0% 2 0   0%
virtualization/filtersets.py VirtualMachineTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py VirtualMachineFilterSet   0% 16 16 0   0% 8 0   0%
virtualization/filtersets.py VirtualMachineFilterSet.Meta   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py VMInterfaceFilterSet   0% 3 3 0   0% 2 0   0%
virtualization/filtersets.py VMInterfaceFilterSet.Meta   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py VirtualDiskFilterSet   0% 3 3 0   0% 2 0   0%
virtualization/filtersets.py VirtualDiskFilterSet.Meta   100% 0 0 0   100% 0 0   100%
virtualization/filtersets.py (no class)   100% 104 0 0   100% 0 0   100%
virtualization/forms/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
virtualization/forms/bulk_create.py VirtualMachineBulkAddComponentForm   0% 1 1 0   100% 0 0   0%
virtualization/forms/bulk_create.py VMInterfaceBulkCreateForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_create.py VirtualDiskBulkCreateForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_create.py (no class)   100% 15 0 0   100% 0 0   100%
virtualization/forms/bulk_edit.py ClusterTypeBulkEditForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_edit.py ClusterGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_edit.py ClusterBulkEditForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_edit.py VirtualMachineTypeBulkEditForm   0% 2 2 0   100% 0 0   0%
virtualization/forms/bulk_edit.py VirtualMachineBulkEditForm   0% 4 4 0   100% 0 0   0%
virtualization/forms/bulk_edit.py VMInterfaceBulkEditForm   0% 25 25 0   0% 12 0   0%
virtualization/forms/bulk_edit.py VirtualDiskBulkEditForm   0% 2 2 0   100% 0 0   0%
virtualization/forms/bulk_edit.py (no class)   100% 87 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py ClusterTypeImportForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py ClusterTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py ClusterGroupImportForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py ClusterGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py ClusterImportForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py ClusterImportForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py VirtualMachineTypeImportForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py VirtualMachineTypeImportForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py VirtualMachineImportForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py VirtualMachineImportForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py VMInterfaceImportForm   0% 14 14 0   0% 8 0   0%
virtualization/forms/bulk_import.py VMInterfaceImportForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py VirtualDiskImportForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py VirtualDiskImportForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/bulk_import.py (no class)   100% 71 0 0   100% 0 0   100%
virtualization/forms/filtersets.py ClusterTypeFilterForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/filtersets.py ClusterGroupFilterForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/filtersets.py ClusterFilterForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/filtersets.py VirtualMachineTypeFilterForm   0% 2 2 0   100% 0 0   0%
virtualization/forms/filtersets.py VirtualMachineFilterForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/filtersets.py VMInterfaceFilterForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/filtersets.py VirtualDiskFilterForm   0% 2 2 0   100% 0 0   0%
virtualization/forms/filtersets.py (no class)   100% 89 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterTypeForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterTypeForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterGroupForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterGroupForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterAddDevicesForm   0% 10 10 0   0% 8 0   0%
virtualization/forms/model_forms.py ClusterAddDevicesForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py ClusterRemoveDevicesForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py VirtualMachineTypeForm   0% 2 2 0   100% 0 0   0%
virtualization/forms/model_forms.py VirtualMachineTypeForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py VirtualMachineForm   0% 34 34 0   0% 20 0   0%
virtualization/forms/model_forms.py VirtualMachineForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py VMComponentForm   0% 3 3 0   0% 2 0   0%
virtualization/forms/model_forms.py VMInterfaceForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py VMInterfaceForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py VirtualDiskForm   0% 2 2 0   100% 0 0   0%
virtualization/forms/model_forms.py VirtualDiskForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/model_forms.py (no class)   100% 103 0 0   100% 0 0   100%
virtualization/forms/object_create.py VMInterfaceCreateForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/object_create.py VMInterfaceCreateForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/object_create.py VirtualDiskCreateForm   100% 0 0 0   100% 0 0   100%
virtualization/forms/object_create.py VirtualDiskCreateForm.Meta   100% 0 0 0   100% 0 0   100%
virtualization/forms/object_create.py (no class)   100% 14 0 0   100% 0 0   100%
virtualization/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
virtualization/graphql/enums.py (no class)   100% 6 0 0   100% 0 0   100%
virtualization/graphql/filter_mixins.py VMComponentFilterMixin   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filter_mixins.py (no class)   93% 15 1 0   50% 2 1   88%
virtualization/graphql/filters.py ClusterFilter   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filters.py ClusterGroupFilter   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filters.py ClusterTypeFilter   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filters.py VirtualMachineTypeFilter   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filters.py VirtualMachineFilter   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filters.py VMInterfaceFilter   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filters.py VirtualDiskFilter   100% 0 0 0   100% 0 0   100%
virtualization/graphql/filters.py (no class)   94% 85 5 0   50% 2 1   93%
virtualization/graphql/schema.py VirtualizationQuery   100% 0 0 0   100% 0 0   100%
virtualization/graphql/schema.py (no class)   100% 19 0 0   100% 0 0   100%
virtualization/graphql/types.py ComponentType   100% 0 0 0   100% 0 0   100%
virtualization/graphql/types.py ClusterType   0% 1 1 0   100% 0 0   0%
virtualization/graphql/types.py ClusterGroupType   100% 0 0 0   100% 0 0   100%
virtualization/graphql/types.py ClusterTypeType   100% 0 0 0   100% 0 0   100%
virtualization/graphql/types.py VirtualMachineTypeType   100% 0 0 0   100% 0 0   100%
virtualization/graphql/types.py VirtualMachineType   100% 0 0 0   100% 0 0   100%
virtualization/graphql/types.py VMInterfaceType   100% 0 0 0   100% 0 0   100%
virtualization/graphql/types.py VirtualDiskType   100% 0 0 0   100% 0 0   100%
virtualization/graphql/types.py (no class)   89% 37 4 0   50% 2 1   87%
virtualization/models/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
virtualization/models/clusters.py ClusterType   100% 0 0 0   100% 0 0   100%
virtualization/models/clusters.py ClusterType.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/clusters.py ClusterGroup   100% 0 0 0   100% 0 0   100%
virtualization/models/clusters.py ClusterGroup.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/clusters.py Cluster   0% 18 18 0   0% 16 0   0%
virtualization/models/clusters.py Cluster.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/clusters.py (no class)   100% 41 0 0   100% 0 0   100%
virtualization/models/virtualmachines.py VirtualMachineType   0% 1 1 0   100% 0 0   0%
virtualization/models/virtualmachines.py VirtualMachineType.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/virtualmachines.py VirtualMachine   5% 55 52 0   2% 48 1   4%
virtualization/models/virtualmachines.py VirtualMachine.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/virtualmachines.py ComponentModel   0% 5 5 0   100% 0 0   0%
virtualization/models/virtualmachines.py ComponentModel.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/virtualmachines.py VMInterface   0% 12 12 0   0% 10 0   0%
virtualization/models/virtualmachines.py VMInterface.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/virtualmachines.py VirtualDisk   100% 0 0 0   100% 0 0   100%
virtualization/models/virtualmachines.py VirtualDisk.Meta   100% 0 0 0   100% 0 0   100%
virtualization/models/virtualmachines.py (no class)   100% 108 0 0   100% 0 0   100%
virtualization/object_actions.py BulkAddComponents   0% 1 1 0   100% 0 0   0%
virtualization/object_actions.py (no class)   100% 10 0 0   100% 0 0   100%
virtualization/search.py ClusterIndex   100% 0 0 0   100% 0 0   100%
virtualization/search.py ClusterGroupIndex   100% 0 0 0   100% 0 0   100%
virtualization/search.py ClusterTypeIndex   100% 0 0 0   100% 0 0   100%
virtualization/search.py VirtualMachineTypeIndex   100% 0 0 0   100% 0 0   100%
virtualization/search.py VirtualMachineIndex   100% 0 0 0   100% 0 0   100%
virtualization/search.py VMInterfaceIndex   100% 0 0 0   100% 0 0   100%
virtualization/search.py VirtualDiskIndex   100% 0 0 0   100% 0 0   100%
virtualization/search.py (no class)   100% 37 0 0   100% 0 0   100%
virtualization/signals.py (no class)   69% 13 4 0   0% 2 0   60%
virtualization/tables/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
virtualization/tables/clusters.py ClusterTypeTable   100% 0 0 0   100% 0 0   100%
virtualization/tables/clusters.py ClusterTypeTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/clusters.py ClusterGroupTable   100% 0 0 0   100% 0 0   100%
virtualization/tables/clusters.py ClusterGroupTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/clusters.py ClusterTable   100% 0 0 0   100% 0 0   100%
virtualization/tables/clusters.py ClusterTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/clusters.py (no class)   100% 36 0 0   100% 0 0   100%
virtualization/tables/template_code.py (no class)   100% 1 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VirtualMachineTypeTable   0% 1 1 0   100% 0 0   0%
virtualization/tables/virtualmachines.py VirtualMachineTypeTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VirtualMachineTable   0% 2 2 0   100% 0 0   0%
virtualization/tables/virtualmachines.py VirtualMachineTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VMInterfaceTable   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VMInterfaceTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VirtualMachineVMInterfaceTable   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VirtualMachineVMInterfaceTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VirtualDiskTable   0% 1 1 0   100% 0 0   0%
virtualization/tables/virtualmachines.py VirtualDiskTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VirtualMachineVirtualDiskTable   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py VirtualMachineVirtualDiskTable.Meta   100% 0 0 0   100% 0 0   100%
virtualization/tables/virtualmachines.py (no class)   100% 77 0 0   100% 0 0   100%
virtualization/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py ClusterPanel   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py VirtualMachineTypePanel   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py VirtualMachinePanel   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py VirtualMachinePlacementPanel   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py VirtualDiskPanel   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py VMInterfacePanel   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py VMInterfaceAddressingPanel   100% 0 0 0   100% 0 0   100%
virtualization/ui/panels.py (no class)   100% 56 0 0   100% 0 0   100%
virtualization/urls.py (no class)   100% 5 0 0   100% 0 0   100%
virtualization/views.py ClusterTypeListView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterTypeView   0% 1 1 0   100% 0 0   0%
virtualization/views.py ClusterTypeEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterTypeDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterTypeBulkImportView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterTypeBulkEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterTypeBulkRenameView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterGroupListView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterGroupView   0% 1 1 0   100% 0 0   0%
virtualization/views.py ClusterGroupEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterGroupDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterGroupBulkImportView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterGroupBulkEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterListView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterView   0% 1 1 0   100% 0 0   0%
virtualization/views.py ClusterVirtualMachinesView   0% 1 1 0   100% 0 0   0%
virtualization/views.py ClusterDevicesView   0% 1 1 0   100% 0 0   0%
virtualization/views.py ClusterEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterBulkImportView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterBulkEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterBulkRenameView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterBulkDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py ClusterAddDevicesView   0% 15 15 0   0% 4 0   0%
virtualization/views.py VirtualMachineTypeListView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineTypeView   0% 1 1 0   100% 0 0   0%
virtualization/views.py VirtualMachineTypeEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineTypeDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineTypeBulkImportView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineTypeBulkEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineTypeBulkRenameView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineTypeBulkDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineListView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineInterfacesView   0% 1 1 0   100% 0 0   0%
virtualization/views.py VirtualMachineVirtualDisksView   0% 1 1 0   100% 0 0   0%
virtualization/views.py VirtualMachineConfigContextView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineRenderConfigView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineBulkImportView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineBulkEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineBulkRenameView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineBulkDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceListView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceView   0% 8 8 0   0% 2 0   0%
virtualization/views.py VMInterfaceCreateView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceBulkImportView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceBulkEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceBulkRenameView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VMInterfaceBulkDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskListView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskCreateView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskBulkImportView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskBulkEditView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskBulkRenameView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualDiskBulkDeleteView   100% 0 0 0   100% 0 0   100%
virtualization/views.py VirtualMachineBulkAddInterfaceView   0% 1 1 0   100% 0 0   0%
virtualization/views.py VirtualMachineBulkAddVirtualDiskView   0% 1 1 0   100% 0 0   0%
virtualization/views.py (no class)   100% 382 0 0   100% 0 0   100%
vpn/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
vpn/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
vpn/api/serializers.py (no class)   100% 3 0 0   100% 0 0   100%
vpn/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IKEProposalSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IKEProposalSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IKEPolicySerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IKEPolicySerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IPSecProposalSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IPSecProposalSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IPSecPolicySerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IPSecPolicySerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IPSecProfileSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py IPSecProfileSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/crypto.py (no class)   100% 44 0 0   100% 0 0   100%
vpn/api/serializers_/l2vpn.py L2VPNSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/l2vpn.py L2VPNSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/l2vpn.py L2VPNTerminationSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/l2vpn.py L2VPNTerminationSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/l2vpn.py (no class)   100% 28 0 0   100% 0 0   100%
vpn/api/serializers_/tunnels.py TunnelGroupSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/tunnels.py TunnelGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/tunnels.py TunnelSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/tunnels.py TunnelSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/tunnels.py TunnelTerminationSerializer   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/tunnels.py TunnelTerminationSerializer.Meta   100% 0 0 0   100% 0 0   100%
vpn/api/serializers_/tunnels.py (no class)   100% 37 0 0   100% 0 0   100%
vpn/api/urls.py (no class)   100% 16 0 0   100% 0 0   100%
vpn/api/views.py VPNRootView   0% 1 1 0   100% 0 0   0%
vpn/api/views.py TunnelGroupViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py TunnelViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py TunnelTerminationViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py IKEProposalViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py IKEPolicyViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py IPSecProposalViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py IPSecPolicyViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py IPSecProfileViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py L2VPNViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py L2VPNTerminationViewSet   100% 0 0 0   100% 0 0   100%
vpn/api/views.py (no class)   100% 48 0 0   100% 0 0   100%
vpn/apps.py VPNConfig   100% 3 0 0   100% 0 0   100%
vpn/apps.py (no class)   100% 5 0 0   100% 0 0   100%
vpn/choices.py TunnelStatusChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py TunnelEncapsulationChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py TunnelTerminationTypeChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py TunnelTerminationRoleChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py IKEVersionChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py IKEModeChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py AuthenticationMethodChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py IPSecModeChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py EncryptionAlgorithmChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py AuthenticationAlgorithmChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py DHGroupChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py L2VPNTypeChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py L2VPNStatusChoices   100% 0 0 0   100% 0 0   100%
vpn/choices.py (no class)   100% 111 0 0   100% 0 0   100%
vpn/constants.py (no class)   100% 2 0 0   100% 0 0   100%
vpn/filtersets.py TunnelGroupFilterSet   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py TunnelGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py TunnelFilterSet   0% 3 3 0   0% 2 0   0%
vpn/filtersets.py TunnelFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py TunnelTerminationFilterSet   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py TunnelTerminationFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py IKEProposalFilterSet   0% 3 3 0   0% 2 0   0%
vpn/filtersets.py IKEProposalFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py IKEPolicyFilterSet   0% 3 3 0   0% 2 0   0%
vpn/filtersets.py IKEPolicyFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py IPSecProposalFilterSet   0% 3 3 0   0% 2 0   0%
vpn/filtersets.py IPSecProposalFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py IPSecPolicyFilterSet   0% 3 3 0   0% 2 0   0%
vpn/filtersets.py IPSecPolicyFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py IPSecProfileFilterSet   0% 3 3 0   0% 2 0   0%
vpn/filtersets.py IPSecProfileFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py L2VPNFilterSet   0% 8 8 0   0% 2 0   0%
vpn/filtersets.py L2VPNFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py L2VPNTerminationFilterSet   20% 10 8 0   0% 2 0   17%
vpn/filtersets.py L2VPNTerminationFilterSet.Meta   100% 0 0 0   100% 0 0   100%
vpn/filtersets.py (no class)   100% 137 0 0   100% 0 0   100%
vpn/forms/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py TunnelGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py TunnelBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py TunnelTerminationBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py IKEProposalBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py IKEPolicyBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py IPSecProposalBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py IPSecPolicyBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py IPSecProfileBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py L2VPNBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py L2VPNTerminationBulkEditForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_edit.py (no class)   100% 71 0 0   100% 0 0   100%
vpn/forms/bulk_import.py TunnelGroupImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py TunnelGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py TunnelImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py TunnelImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py TunnelTerminationImportForm   0% 9 9 0   0% 8 0   0%
vpn/forms/bulk_import.py TunnelTerminationImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IKEProposalImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IKEProposalImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IKEPolicyImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IKEPolicyImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IPSecProposalImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IPSecProposalImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IPSecPolicyImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IPSecPolicyImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IPSecProfileImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py IPSecProfileImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py L2VPNImportForm   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py L2VPNImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py L2VPNTerminationImportForm   0% 15 15 0   0% 14 0   0%
vpn/forms/bulk_import.py L2VPNTerminationImportForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/bulk_import.py (no class)   100% 88 0 0   100% 0 0   100%
vpn/forms/filtersets.py TunnelGroupFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py TunnelFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py TunnelTerminationFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py IKEProposalFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py IKEPolicyFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py IPSecProposalFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py IPSecPolicyFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py IPSecProfileFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py L2VPNFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py L2VPNTerminationFilterForm   100% 0 0 0   100% 0 0   100%
vpn/forms/filtersets.py (no class)   100% 87 0 0   100% 0 0   100%
vpn/forms/model_forms.py TunnelGroupForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py TunnelGroupForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py TunnelForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py TunnelForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py TunnelCreateForm   0% 27 27 0   0% 16 0   0%
vpn/forms/model_forms.py TunnelTerminationForm   0% 15 15 0   0% 6 0   0%
vpn/forms/model_forms.py TunnelTerminationForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IKEProposalForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IKEProposalForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IKEPolicyForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IKEPolicyForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IPSecProposalForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IPSecProposalForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IPSecPolicyForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IPSecPolicyForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IPSecProfileForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py IPSecProfileForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py L2VPNForm   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py L2VPNForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py L2VPNTerminationForm   0% 20 20 0   0% 12 0   0%
vpn/forms/model_forms.py L2VPNTerminationForm.Meta   100% 0 0 0   100% 0 0   100%
vpn/forms/model_forms.py (no class)   100% 114 0 0   100% 0 0   100%
vpn/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
vpn/graphql/enums.py (no class)   100% 16 0 0   100% 0 0   100%
vpn/graphql/filters.py TunnelGroupFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py TunnelTerminationFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py TunnelFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py IKEProposalFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py IKEPolicyFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py IPSecProposalFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py IPSecPolicyFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py IPSecProfileFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py L2VPNFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py L2VPNTerminationFilter   100% 0 0 0   100% 0 0   100%
vpn/graphql/filters.py (no class)   96% 91 4 0   50% 2 1   95%
vpn/graphql/schema.py VPNQuery   100% 0 0 0   100% 0 0   100%
vpn/graphql/schema.py (no class)   100% 25 0 0   100% 0 0   100%
vpn/graphql/types.py TunnelGroupType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py TunnelTerminationType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py TunnelType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py IKEProposalType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py IKEPolicyType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py IPSecProposalType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py IPSecPolicyType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py IPSecProfileType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py L2VPNType   100% 0 0 0   100% 0 0   100%
vpn/graphql/types.py L2VPNTerminationType   0% 1 1 0   100% 0 0   0%
vpn/graphql/types.py (no class)   88% 40 5 0   50% 2 1   86%
vpn/models/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
vpn/models/crypto.py IKEProposal   0% 1 1 0   100% 0 0   0%
vpn/models/crypto.py IKEProposal.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/crypto.py IKEPolicy   0% 6 6 0   0% 4 0   0%
vpn/models/crypto.py IKEPolicy.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/crypto.py IPSecProposal   75% 4 1 0   50% 2 1   67%
vpn/models/crypto.py IPSecProposal.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/crypto.py IPSecPolicy   100% 1 0 0   100% 0 0   100%
vpn/models/crypto.py IPSecPolicy.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/crypto.py IPSecProfile   0% 1 1 0   100% 0 0   0%
vpn/models/crypto.py IPSecProfile.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/crypto.py (no class)   100% 69 0 0   100% 0 0   100%
vpn/models/l2vpn.py L2VPN   43% 7 4 0   50% 4 0   45%
vpn/models/l2vpn.py L2VPN.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/l2vpn.py L2VPNTermination   0% 23 23 0   0% 16 0   0%
vpn/models/l2vpn.py L2VPNTermination.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/l2vpn.py (no class)   100% 46 0 0   100% 0 0   100%
vpn/models/tunnels.py TunnelGroup   100% 0 0 0   100% 0 0   100%
vpn/models/tunnels.py TunnelGroup.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/tunnels.py Tunnel   0% 2 2 0   100% 0 0   0%
vpn/models/tunnels.py Tunnel.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/tunnels.py TunnelTermination   0% 9 9 0   0% 2 0   0%
vpn/models/tunnels.py TunnelTermination.Meta   100% 0 0 0   100% 0 0   100%
vpn/models/tunnels.py (no class)   100% 48 0 0   100% 0 0   100%
vpn/search.py TunnelIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py TunnelGroupIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py IKEProposalIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py IKEPolicyIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py IPSecProposalIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py IPSecPolicyIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py IPSecProfileIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py L2VPNIndex   100% 0 0 0   100% 0 0   100%
vpn/search.py (no class)   100% 42 0 0   100% 0 0   100%
vpn/tables/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
vpn/tables/crypto.py IKEProposalTable   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IKEProposalTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IKEPolicyTable   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IKEPolicyTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IPSecProposalTable   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IPSecProposalTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IPSecPolicyTable   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IPSecPolicyTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IPSecProfileTable   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py IPSecProfileTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/crypto.py (no class)   100% 58 0 0   100% 0 0   100%
vpn/tables/l2vpn.py L2VPNTable   100% 0 0 0   100% 0 0   100%
vpn/tables/l2vpn.py L2VPNTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/l2vpn.py L2VPNTerminationTable   100% 0 0 0   100% 0 0   100%
vpn/tables/l2vpn.py L2VPNTerminationTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/l2vpn.py (no class)   100% 30 0 0   100% 0 0   100%
vpn/tables/tunnels.py TunnelGroupTable   100% 0 0 0   100% 0 0   100%
vpn/tables/tunnels.py TunnelGroupTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/tunnels.py TunnelTable   100% 0 0 0   100% 0 0   100%
vpn/tables/tunnels.py TunnelTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/tunnels.py TunnelTerminationTable   100% 0 0 0   100% 0 0   100%
vpn/tables/tunnels.py TunnelTerminationTable.Meta   100% 0 0 0   100% 0 0   100%
vpn/tables/tunnels.py (no class)   100% 38 0 0   100% 0 0   100%
vpn/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py TunnelGroupPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py TunnelPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py TunnelTerminationPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py IKEProposalPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py IKEPolicyPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py IPSecProposalPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py IPSecPolicyPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py IPSecProfilePanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py IPSecProfileIKEPolicyPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py IPSecProfileIPSecPolicyPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py L2VPNPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py L2VPNTerminationPanel   100% 0 0 0   100% 0 0   100%
vpn/ui/panels.py (no class)   100% 71 0 0   100% 0 0   100%
vpn/urls.py (no class)   100% 5 0 0   100% 0 0   100%
vpn/views.py TunnelGroupListView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelGroupView   0% 1 1 0   100% 0 0   0%
vpn/views.py TunnelGroupEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelGroupDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelGroupBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelGroupBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelListView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelEditView   0% 3 3 0   0% 2 0   0%
vpn/views.py TunnelDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelTerminationListView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelTerminationView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelTerminationEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelTerminationDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelTerminationBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelTerminationBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py TunnelTerminationBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalListView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEProposalBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEPolicyListView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEPolicyView   0% 1 1 0   100% 0 0   0%
vpn/views.py IKEPolicyEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEPolicyDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEPolicyBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEPolicyBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEPolicyBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py IKEPolicyBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalListView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProposalBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecPolicyListView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecPolicyView   0% 1 1 0   100% 0 0   0%
vpn/views.py IPSecPolicyEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecPolicyDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecPolicyBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecPolicyBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecPolicyBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecPolicyBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileListView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py IPSecProfileBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNListView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNView   0% 5 5 0   100% 0 0   0%
vpn/views.py L2VPNEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNBulkRenameView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNTerminationListView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNTerminationView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNTerminationEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNTerminationDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNTerminationBulkImportView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNTerminationBulkEditView   100% 0 0 0   100% 0 0   100%
vpn/views.py L2VPNTerminationBulkDeleteView   100% 0 0 0   100% 0 0   100%
vpn/views.py (no class)   100% 388 0 0   100% 0 0   100%
wireless/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
wireless/api/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
wireless/api/serializers.py (no class)   100% 2 0 0   100% 0 0   100%
wireless/api/serializers_/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/nested.py NestedWirelessLANGroupSerializer   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/nested.py NestedWirelessLANGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/nested.py NestedWirelessLinkSerializer   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/nested.py NestedWirelessLinkSerializer.Meta   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/nested.py (no class)   100% 16 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslans.py WirelessLANGroupSerializer   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslans.py WirelessLANGroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslans.py WirelessLANSerializer   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslans.py WirelessLANSerializer.Meta   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslans.py (no class)   100% 33 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslinks.py WirelessLinkSerializer   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslinks.py WirelessLinkSerializer.Meta   100% 0 0 0   100% 0 0   100%
wireless/api/serializers_/wirelesslinks.py (no class)   100% 21 0 0   100% 0 0   100%
wireless/api/urls.py (no class)   100% 9 0 0   100% 0 0   100%
wireless/api/views.py WirelessRootView   0% 1 1 0   100% 0 0   0%
wireless/api/views.py WirelessLANGroupViewSet   100% 0 0 0   100% 0 0   100%
wireless/api/views.py WirelessLANViewSet   100% 0 0 0   100% 0 0   100%
wireless/api/views.py WirelessLinkViewSet   100% 0 0 0   100% 0 0   100%
wireless/api/views.py (no class)   100% 19 0 0   100% 0 0   100%
wireless/apps.py WirelessConfig   100% 3 0 0   100% 0 0   100%
wireless/apps.py (no class)   100% 4 0 0   100% 0 0   100%
wireless/choices.py WirelessRoleChoices   100% 0 0 0   100% 0 0   100%
wireless/choices.py WirelessLANStatusChoices   100% 0 0 0   100% 0 0   100%
wireless/choices.py WirelessChannelChoices   100% 0 0 0   100% 0 0   100%
wireless/choices.py WirelessAuthTypeChoices   100% 0 0 0   100% 0 0   100%
wireless/choices.py WirelessAuthCipherChoices   100% 0 0 0   100% 0 0   100%
wireless/choices.py (no class)   100% 223 0 0   100% 0 0   100%
wireless/constants.py (no class)   100% 2 0 0   100% 0 0   100%
wireless/filtersets.py WirelessLANGroupFilterSet   100% 0 0 0   100% 0 0   100%
wireless/filtersets.py WirelessLANGroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
wireless/filtersets.py WirelessLANFilterSet   0% 4 4 0   0% 2 0   0%
wireless/filtersets.py WirelessLANFilterSet.Meta   100% 0 0 0   100% 0 0   100%
wireless/filtersets.py WirelessLinkFilterSet   0% 4 4 0   0% 2 0   0%
wireless/filtersets.py WirelessLinkFilterSet.Meta   100% 0 0 0   100% 0 0   100%
wireless/filtersets.py (no class)   100% 46 0 0   100% 0 0   100%
wireless/forms/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
wireless/forms/bulk_edit.py WirelessLANGroupBulkEditForm   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_edit.py WirelessLANBulkEditForm   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_edit.py WirelessLinkBulkEditForm   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_edit.py (no class)   100% 44 0 0   100% 0 0   100%
wireless/forms/bulk_import.py WirelessLANGroupImportForm   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_import.py WirelessLANGroupImportForm.Meta   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_import.py WirelessLANImportForm   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_import.py WirelessLANImportForm.Meta   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_import.py WirelessLinkImportForm   0% 14 14 0   0% 6 0   0%
wireless/forms/bulk_import.py WirelessLinkImportForm.Meta   100% 0 0 0   100% 0 0   100%
wireless/forms/bulk_import.py (no class)   100% 44 0 0   100% 0 0   100%
wireless/forms/filtersets.py WirelessLANGroupFilterForm   100% 0 0 0   100% 0 0   100%
wireless/forms/filtersets.py WirelessLANFilterForm   100% 0 0 0   100% 0 0   100%
wireless/forms/filtersets.py WirelessLinkFilterForm   100% 0 0 0   100% 0 0   100%
wireless/forms/filtersets.py (no class)   100% 43 0 0   100% 0 0   100%
wireless/forms/model_forms.py WirelessLANGroupForm   100% 0 0 0   100% 0 0   100%
wireless/forms/model_forms.py WirelessLANGroupForm.Meta   100% 0 0 0   100% 0 0   100%
wireless/forms/model_forms.py WirelessLANForm   100% 0 0 0   100% 0 0   100%
wireless/forms/model_forms.py WirelessLANForm.Meta   100% 0 0 0   100% 0 0   100%
wireless/forms/model_forms.py WirelessLinkForm   100% 0 0 0   100% 0 0   100%
wireless/forms/model_forms.py WirelessLinkForm.Meta   100% 0 0 0   100% 0 0   100%
wireless/forms/model_forms.py (no class)   100% 51 0 0   100% 0 0   100%
wireless/graphql/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
wireless/graphql/enums.py (no class)   100% 8 0 0   100% 0 0   100%
wireless/graphql/filter_mixins.py WirelessAuthenticationFilterMixin   100% 0 0 0   100% 0 0   100%
wireless/graphql/filter_mixins.py (no class)   92% 13 1 0   50% 2 1   87%
wireless/graphql/filters.py WirelessLANGroupFilter   100% 0 0 0   100% 0 0   100%
wireless/graphql/filters.py WirelessLANFilter   100% 0 0 0   100% 0 0   100%
wireless/graphql/filters.py WirelessLinkFilter   100% 0 0 0   100% 0 0   100%
wireless/graphql/filters.py (no class)   91% 35 3 0   50% 2 1   89%
wireless/graphql/schema.py WirelessQuery   100% 0 0 0   100% 0 0   100%
wireless/graphql/schema.py (no class)   100% 11 0 0   100% 0 0   100%
wireless/graphql/types.py WirelessLANGroupType   100% 0 0 0   100% 0 0   100%
wireless/graphql/types.py WirelessLANType   0% 1 1 0   100% 0 0   0%
wireless/graphql/types.py WirelessLinkType   100% 0 0 0   100% 0 0   100%
wireless/graphql/types.py (no class)   86% 21 3 0   50% 2 1   83%
wireless/models.py WirelessAuthenticationBase   100% 0 0 0   100% 0 0   100%
wireless/models.py WirelessAuthenticationBase.Meta   100% 0 0 0   100% 0 0   100%
wireless/models.py WirelessLANGroup   100% 0 0 0   100% 0 0   100%
wireless/models.py WirelessLANGroup.Meta   100% 0 0 0   100% 0 0   100%
wireless/models.py WirelessLAN   50% 2 1 0   100% 0 0   50%
wireless/models.py WirelessLAN.Meta   100% 0 0 0   100% 0 0   100%
wireless/models.py WirelessLink   0% 10 10 0   0% 4 0   0%
wireless/models.py WirelessLink.Meta   100% 0 0 0   100% 0 0   100%
wireless/models.py (no class)   100% 58 0 0   100% 0 0   100%
wireless/search.py WirelessLANIndex   100% 0 0 0   100% 0 0   100%
wireless/search.py WirelessLANGroupIndex   100% 0 0 0   100% 0 0   100%
wireless/search.py WirelessLinkIndex   100% 0 0 0   100% 0 0   100%
wireless/search.py (no class)   100% 17 0 0   100% 0 0   100%
wireless/signals.py (no class)   31% 39 27 0   0% 16 0   22%
wireless/tables/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
wireless/tables/wirelesslan.py WirelessLANGroupTable   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslan.py WirelessLANGroupTable.Meta   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslan.py WirelessLANTable   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslan.py WirelessLANTable.Meta   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslan.py WirelessLANInterfacesTable   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslan.py WirelessLANInterfacesTable.Meta   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslan.py (no class)   100% 33 0 0   100% 0 0   100%
wireless/tables/wirelesslink.py WirelessLinkTable   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslink.py WirelessLinkTable.Meta   100% 0 0 0   100% 0 0   100%
wireless/tables/wirelesslink.py (no class)   100% 19 0 0   100% 0 0   100%
wireless/ui/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
wireless/ui/panels.py WirelessLANGroupPanel   100% 0 0 0   100% 0 0   100%
wireless/ui/panels.py WirelessLANPanel   100% 0 0 0   100% 0 0   100%
wireless/ui/panels.py WirelessAuthenticationPanel   100% 0 0 0   100% 0 0   100%
wireless/ui/panels.py WirelessLinkInterfacePanel   60% 5 2 0   100% 0 0   60%
wireless/ui/panels.py WirelessLinkPropertiesPanel   100% 0 0 0   100% 0 0   100%
wireless/ui/panels.py (no class)   100% 28 0 0   100% 0 0   100%
wireless/urls.py (no class)   100% 5 0 0   100% 0 0   100%
wireless/utils.py (no class)   42% 12 7 0   0% 4 0   31%
wireless/views.py WirelessLANGroupListView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANGroupView   0% 2 2 0   100% 0 0   0%
wireless/views.py WirelessLANGroupEditView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANGroupDeleteView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANGroupBulkImportView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANGroupBulkEditView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANGroupBulkRenameView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANGroupBulkDeleteView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANListView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANEditView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANDeleteView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANBulkImportView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANBulkEditView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANBulkRenameView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLANBulkDeleteView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkListView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkEditView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkDeleteView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkBulkImportView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkBulkEditView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkBulkRenameView   100% 0 0 0   100% 0 0   100%
wireless/views.py WirelessLinkBulkDeleteView   100% 0 0 0   100% 0 0   100%
wireless/views.py (no class)   100% 128 0 0   100% 0 0   100%
Total     67% 59785 19920 0   15% 11042 750   59%

No items found using the specified filter.