Coverage report: 98%

Files Functions Classes

coverage.py v7.16.0, created at 2026-09-09 20:50 +0000

File function   statements missing excluded   coverage
netbox_data_import/__init__.py NetBoxDataImportConfig.validate   7 0 0   100%
netbox_data_import/__init__.py NetBoxDataImportConfig.ready   2 0 0   100%
netbox_data_import/__init__.py (no function)   18 0 0   100%
netbox_data_import/adapter_config.py _flat_workbook_config   1 0 0   100%
netbox_data_import/adapter_config.py _trace_workbook_config   2 0 0   100%
netbox_data_import/adapter_config.py interpreter_config_for   4 1 0   75%
netbox_data_import/adapter_config.py (no function)   7 0 0   100%
netbox_data_import/adapter_forms.py AdapterConfigForm.defaults   1 0 0   100%
netbox_data_import/adapter_forms.py AdapterConfigForm.validate_config   14 0 0   100%
netbox_data_import/adapter_forms.py AdapterConfigForm.normalize   1 0 0   100%
netbox_data_import/adapter_forms.py AdapterConfigForm.to_config   1 0 0   100%
netbox_data_import/adapter_forms.py _ContactRoleNameField.__init__   5 0 0   100%
netbox_data_import/adapter_forms.py FlatWorkbookConfigForm.normalize   4 0 0   100%
netbox_data_import/adapter_forms.py (no function)   28 0 0   100%
netbox_data_import/adapters.py SourceAdapter.config_form_class   1 0 0   100%
netbox_data_import/adapters.py SourceAdapter.interpret   1 0 0   100%
netbox_data_import/adapters.py FlatWorkbookAdapter.config_form_class   2 0 0   100%
netbox_data_import/adapters.py FlatWorkbookAdapter.interpret   3 0 0   100%
netbox_data_import/adapters.py TraceWorkbookAdapter.config_form_class   2 0 0   100%
netbox_data_import/adapters.py TraceWorkbookAdapter.interpret   3 0 0   100%
netbox_data_import/adapters.py get_adapter   1 0 0   100%
netbox_data_import/adapters.py adapter_choices   1 0 0   100%
netbox_data_import/adapters.py selectable_adapter_choices   1 0 0   100%
netbox_data_import/adapters.py output_kinds_for   2 0 0   100%
netbox_data_import/adapters.py (no function)   49 0 2   100%
netbox_data_import/api/__init__.py (no function)   0 0 0   100%
netbox_data_import/api/serializers.py _validate_candidate_values   2 1 0   50%
netbox_data_import/api/serializers.py PolicySectionApplicabilityMixin.validate_policy_section   5 0 0   100%
netbox_data_import/api/serializers.py PolicySectionSerializer.validate   5 0 0   100%
netbox_data_import/api/serializers.py PolicySectionSerializer.validate_policy_row   0 0 0   100%
netbox_data_import/api/serializers.py _validate_target_keys   8 1 0   88%
netbox_data_import/api/serializers.py ImportProfileSerializer.__init__   3 0 0   100%
netbox_data_import/api/serializers.py ImportProfileSerializer.validate   18 3 0   83%
netbox_data_import/api/serializers.py ColumnMappingSerializer.validate_policy_row   1 1 0   0%
netbox_data_import/api/serializers.py _RackTypeSlugField.get_queryset   2 0 0   100%
netbox_data_import/api/serializers.py ColumnTransformRuleSerializer.validate_policy_row   1 0 0   100%
netbox_data_import/api/serializers.py SourceResolutionSerializer.validate_profile   3 0 0   100%
netbox_data_import/api/serializers.py SourceResolutionSerializer.validate_policy_row   15 1 0   93%
netbox_data_import/api/serializers.py (no function)   58 0 0   100%
netbox_data_import/api/urls.py (no function)   13 0 0   100%
netbox_data_import/api/views.py ColumnMappingViewSet.get_queryset   5 0 0   100%
netbox_data_import/api/views.py ClassRoleMappingViewSet.get_queryset   5 0 0   100%
netbox_data_import/api/views.py DeviceTypeMappingViewSet.get_queryset   5 0 0   100%
netbox_data_import/api/views.py IgnoredDeviceViewSet.get_queryset   5 0 0   100%
netbox_data_import/api/views.py ColumnTransformRuleViewSet.get_queryset   5 0 0   100%
netbox_data_import/api/views.py _revalidate_against_the_stored_row   2 0 0   100%
netbox_data_import/api/views.py SourceResolutionViewSet.perform_create   5 1 0   80%
netbox_data_import/api/views.py SourceResolutionViewSet.perform_update   6 0 0   100%
netbox_data_import/api/views.py SourceResolutionViewSet.perform_destroy   5 1 0   80%
netbox_data_import/api/views.py SourceResolutionViewSet.get_queryset   5 0 0   100%
netbox_data_import/api/views.py ImportExecutionViewSet.get_queryset   5 0 0   100%
netbox_data_import/api/views.py (no function)   46 0 0   100%
netbox_data_import/cable_target.py _object_type_label   1 0 0   100%
netbox_data_import/cable_target.py _model_for_label   3 0 0   100%
netbox_data_import/cable_target.py _object_identity   1 0 0   100%
netbox_data_import/cable_target.py _Termination.key   1 0 0   100%
netbox_data_import/cable_target.py _Termination.identity   1 0 0   100%
netbox_data_import/cable_target.py _Termination.as_json   1 0 0   100%
netbox_data_import/cable_target.py _DesiredSegment.key   2 0 0   100%
netbox_data_import/cable_target.py _DesiredSegment.change_identity   1 0 0   100%
netbox_data_import/cable_target.py _DesiredSegment.terminations   1 0 0   100%
netbox_data_import/cable_target.py _DesiredSegment.as_json   1 0 0   100%
netbox_data_import/cable_target.py _ExistingCable.multi_termination   1 0 0   100%
netbox_data_import/cable_target.py _ExistingCable.terminations   1 0 0   100%
netbox_data_import/cable_target.py _ExistingCable.satisfies   1 0 0   100%
netbox_data_import/cable_target.py _ExistingCable.connects   1 0 0   100%
netbox_data_import/cable_target.py _delete_identity   1 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.stopped   1 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.pending   1 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.deleted_logical_cable   1 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.delete_identity   2 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.error   1 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.note   1 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.block   2 0 0   100%
netbox_data_import/cable_target.py _TraceAnalysis.refuse   2 0 0   100%
netbox_data_import/cable_target.py _endpoint_label   2 0 0   100%
netbox_data_import/cable_target.py _reference_display   1 0 0   100%
netbox_data_import/cable_target.py _field_key   1 0 0   100%
netbox_data_import/cable_target.py _source_record   2 0 0   100%
netbox_data_import/cable_target.py _visible_devices   16 0 0   100%
netbox_data_import/cable_target.py eligible_terminations   33 1 0   97%
netbox_data_import/cable_target.py _CableBatch.__init__   27 0 0   100%
netbox_data_import/cable_target.py _CableBatch.units   1 0 0   100%
netbox_data_import/cable_target.py _CableBatch._new_analysis   7 0 0   100%
netbox_data_import/cable_target.py _CableBatch._references   5 0 0   100%
netbox_data_import/cable_target.py _CableBatch._stored_resolutions   13 0 0   100%
netbox_data_import/cable_target.py _CableBatch._load_devices   2 0 0   100%
netbox_data_import/cable_target.py _CableBatch._components_for   7 0 0   100%
netbox_data_import/cable_target.py _CableBatch._resolve_terminations   11 0 0   100%
netbox_data_import/cable_target.py _CableBatch._resolve_one   21 0 0   100%
netbox_data_import/cable_target.py _CableBatch._record_resolution   7 0 0   100%
netbox_data_import/cable_target.py _CableBatch._stored_termination   15 0 0   100%
netbox_data_import/cable_target.py _CableBatch._termination   3 0 0   100%
netbox_data_import/cable_target.py _CableBatch._load_mappings   12 0 0   100%
netbox_data_import/cable_target.py _CableBatch._peers_of   5 1 0   80%
netbox_data_import/cable_target.py _CableBatch._peer_termination   5 1 0   80%
netbox_data_import/cable_target.py _CableBatch._mapped_peers   9 0 0   100%
netbox_data_import/cable_target.py _CableBatch._build_segments   10 1 0   90%
netbox_data_import/cable_target.py _CableBatch._build_one   22 2 0   91%
netbox_data_import/cable_target.py _CableBatch._continue_path   15 0 0   100%
netbox_data_import/cable_target.py _CableBatch._substituted   2 0 0   100%
netbox_data_import/cable_target.py _CableBatch._chosen_peer   10 0 0   100%
netbox_data_import/cable_target.py _CableBatch._verified_pass_through   14 3 0   79%
netbox_data_import/cable_target.py _CableBatch._load_existing_cables   21 0 0   100%
netbox_data_import/cable_target.py _CableBatch._lock_segment_terminations   14 0 0   100%
netbox_data_import/cable_target.py _CableBatch._analysis_terminations   4 0 0   100%
netbox_data_import/cable_target.py _CableBatch._cable_diagnostic_disclosure   4 0 0   100%
netbox_data_import/cable_target.py _CableBatch._classify   15 0 0   100%
netbox_data_import/cable_target.py _CableBatch._logical_cable   5 0 0   100%
netbox_data_import/cable_target.py _CableBatch._classify_endpoint_evidence   6 0 0   100%
netbox_data_import/cable_target.py _CableBatch._note_reuse   6 0 0   100%
netbox_data_import/cable_target.py _CableBatch._attribute_drift   11 0 0   100%
netbox_data_import/cable_target.py _CableBatch._report_conflicts   12 0 0   100%
netbox_data_import/cable_target.py _CableBatch._cable_class_mapping   5 0 0   100%
netbox_data_import/cable_target.py _CableBatch._decide   8 0 0   100%
netbox_data_import/cable_target.py _CableBatch._cable_policy   12 0 0   100%
netbox_data_import/cable_target.py _CableBatch._check_permissions   9 1 0   89%
netbox_data_import/cable_target.py _CableBatch._block_planned_termination_conflicts   10 0 0   100%
netbox_data_import/cable_target.py _CableBatch._refuse_conflicting_creations   14 0 0   100%
netbox_data_import/cable_target.py _CableBatch._shared_deletes   6 0 0   100%
netbox_data_import/cable_target.py _CableBatch._shared_sources   7 0 0   100%
netbox_data_import/cable_target.py _CableBatch._writing   1 0 0   100%
netbox_data_import/cable_target.py _CableBatch._unit   9 0 0   100%
netbox_data_import/cable_target.py _CableBatch._workspace   13 0 0   100%
netbox_data_import/cable_target.py _CableBatch._entered_through_claim   1 0 0   100%
netbox_data_import/cable_target.py _CableBatch._segment_status   7 0 0   100%
netbox_data_import/cable_target.py _CableBatch._logical_cable_display   7 0 0   100%
netbox_data_import/cable_target.py _CableBatch._changes   7 0 0   100%
netbox_data_import/cable_target.py _CableBatch._delete_change   1 0 0   100%
netbox_data_import/cable_target.py _CableBatch._create_change   1 0 0   100%
netbox_data_import/cable_target.py _CableBatch._detail   8 0 0   100%
netbox_data_import/cable_target.py CableModule.plan   4 1 0   75%
netbox_data_import/cable_target.py CableModule.apply   5 0 0   100%
netbox_data_import/cable_target.py CableModule._delete   12 0 0   100%
netbox_data_import/cable_target.py CableModule._create   9 0 0   100%
netbox_data_import/cable_target.py CableModule._free_termination   8 1 0   88%
netbox_data_import/cable_target.py CableModule._store_provenance   3 0 0   100%
netbox_data_import/cable_target.py _cable_terminations   2 0 0   100%
netbox_data_import/cable_target.py (no function)   173 0 0   100%
netbox_data_import/catalog.py TargetField.target_modules   1 0 0   100%
netbox_data_import/catalog.py KeyFamily.matches   1 0 0   100%
netbox_data_import/catalog.py KeyFamily.name_of   1 0 0   100%
netbox_data_import/catalog.py KeyFamily.is_valid   1 0 0   100%
netbox_data_import/catalog.py KeyFamily.display   1 0 0   100%
netbox_data_import/catalog.py KeyFamily.target_modules   1 0 0   100%
netbox_data_import/catalog.py TargetFieldCatalog.__post_init__   1 0 0   100%
netbox_data_import/catalog.py TargetFieldCatalog.entry   1 0 0   100%
netbox_data_import/catalog.py TargetFieldCatalog.family   4 0 0   100%
netbox_data_import/catalog.py TargetFieldCatalog.is_valid   9 0 0   100%
netbox_data_import/catalog.py TargetFieldCatalog.display   7 0 0   100%
netbox_data_import/catalog.py TargetFieldCatalog.choices   1 0 0   100%
netbox_data_import/catalog.py TargetFieldCatalog.invalid_key_message   2 0 0   100%
netbox_data_import/catalog.py PolicySection.applies_to   1 0 0   100%
netbox_data_import/catalog.py target_module   1 0 0   100%
netbox_data_import/catalog.py policy_section   1 0 0   100%
netbox_data_import/catalog.py declared_modules   2 0 0   100%
netbox_data_import/catalog.py declared_modules_override   4 0 0   100%
netbox_data_import/catalog.py consuming_modules   1 0 0   100%
netbox_data_import/catalog.py has_implemented_module   1 0 0   100%
netbox_data_import/catalog.py (no function)   85 0 0   100%
netbox_data_import/contact_resolution.py _text   3 0 0   100%
netbox_data_import/contact_resolution.py _looks_like_email   5 0 0   100%
netbox_data_import/contact_resolution.py _looks_like_phone   1 0 0   100%
netbox_data_import/contact_resolution.py _header_hints_at   2 0 0   100%
netbox_data_import/contact_resolution.py suggest_contact_roles   11 0 0   100%
netbox_data_import/contact_resolution.py ContactResolutionRequired.__init__   3 0 0   100%
netbox_data_import/contact_resolution.py contact_identity   1 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver.candidate_source_columns   5 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver._candidate_values   7 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver.selection_for_resolution   7 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver._selection   8 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver.review   26 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver._suggestion_from_plan   3 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver._unique_contact   13 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver.suggest   9 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver._plan_assignment   26 1 0   96%
netbox_data_import/contact_resolution.py PrimaryContactResolver._contact_for_values   19 2 0   89%
netbox_data_import/contact_resolution.py PrimaryContactResolver._reject_moved_lookup   3 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver.create_contact   17 1 0   94%
netbox_data_import/contact_resolution.py PrimaryContactResolver._plan   24 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver.apply   44 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver._remove_legacy_json   7 0 0   100%
netbox_data_import/contact_resolution.py PrimaryContactResolver.lock_imports   2 0 0   100%
netbox_data_import/contact_resolution.py (no function)   68 0 0   100%
netbox_data_import/device_field_review.py _text   3 0 0   100%
netbox_data_import/device_field_review.py _number   9 0 0   100%
netbox_data_import/device_field_review.py _identity   4 0 0   100%
netbox_data_import/device_field_review.py _related_display   3 0 0   100%
netbox_data_import/device_field_review.py _device_rack_name   1 0 0   100%
netbox_data_import/device_field_review.py _device_rack_display   6 0 0   100%
netbox_data_import/device_field_review.py _device_rack_location_id   1 0 0   100%
netbox_data_import/device_field_review.py _scope_rack_canonical   2 0 0   100%
netbox_data_import/device_field_review.py _device_type_value   3 0 0   100%
netbox_data_import/device_field_review.py _device_type_display   3 0 0   100%
netbox_data_import/device_field_review.py _device_type_normalize   3 0 0   100%
netbox_data_import/device_field_review.py _device_role_value   1 0 0   100%
netbox_data_import/device_field_review.py _device_ip_value   2 0 0   100%
netbox_data_import/device_field_review.py _device_ip_value.read   2 0 0   100%
netbox_data_import/device_field_review.py _ip_normalize   8 0 0   100%
netbox_data_import/device_field_review.py FieldDefinition.snapshot   1 0 0   100%
netbox_data_import/device_field_review.py _provided_nonempty   1 0 0   100%
netbox_data_import/device_field_review.py _provided_optional   1 0 0   100%
netbox_data_import/device_field_review.py _provided_not_none   1 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.__init__   6 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.for_profile   3 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.definition   1 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.reviewable_fields   1 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.non_writable_fields   1 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.current_snapshot   8 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.review_device_ids   1 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.field_differences   2 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.field_diff   4 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer.review   14 0 0   100%
netbox_data_import/device_field_review.py DeviceFieldReviewer._compare   25 0 0   100%
netbox_data_import/device_field_review.py (no function)   60 0 0   100%
netbox_data_import/device_identity.py normalize_mapping_text   2 0 0   100%
netbox_data_import/device_identity.py default_identity_slugs   3 0 0   100%
netbox_data_import/device_identity.py DeviceTypeIdentityResolver.__init__   12 0 0   100%
netbox_data_import/device_identity.py DeviceTypeIdentityResolver.for_profile   1 0 0   100%
netbox_data_import/device_identity.py DeviceTypeIdentityResolver.resolve   11 0 0   100%
netbox_data_import/device_identity.py (no function)   11 0 0   100%
netbox_data_import/field_keys.py same_device_and_cards   1 0 0   100%
netbox_data_import/field_keys.py claimed_termination_kind   4 0 0   100%
netbox_data_import/field_keys.py termination_field_key   5 1 0   80%
netbox_data_import/field_keys.py _validate_termination_field_data   4 1 0   75%
netbox_data_import/field_keys.py parse_termination_field_key   9 1 0   89%
netbox_data_import/field_keys.py (no function)   21 0 0   100%
netbox_data_import/filters.py ImportProfileFilterSet.search   1 0 0   100%
netbox_data_import/filters.py (no function)   9 0 0   100%
netbox_data_import/flat_workbook.py _compile_transform_rules   8 0 0   100%
netbox_data_import/flat_workbook.py _text   1 0 0   100%
netbox_data_import/flat_workbook.py _header_index_map   7 0 0   100%
netbox_data_import/flat_workbook.py _cell   1 0 0   100%
netbox_data_import/flat_workbook.py _merge_row_values   20 0 0   100%
netbox_data_import/flat_workbook.py promote_extra_json_fields   4 0 0   100%
netbox_data_import/flat_workbook.py _apply_transform_rules   12 1 0   92%
netbox_data_import/flat_workbook.py _collect_unmapped_values   13 0 0   100%
netbox_data_import/flat_workbook.py _open_sheet   8 0 0   100%
netbox_data_import/flat_workbook.py interpret   21 0 0   100%
netbox_data_import/flat_workbook.py (no function)   40 0 0   100%
netbox_data_import/forms.py _RuntimeCableChoiceField.validate   1 0 0   100%
netbox_data_import/forms.py _decision_choices   3 1 0   67%
netbox_data_import/forms.py _with_stored_decision   3 0 0   100%
netbox_data_import/forms.py _decision_initial   3 0 0   100%
netbox_data_import/forms.py _decode_decision   5 0 0   100%
netbox_data_import/forms.py _profile_output_kinds   11 3 0   73%
netbox_data_import/forms.py _with_stored_target   5 0 0   100%
netbox_data_import/forms.py ImportProfileForm.__init__   14 1 0   93%
netbox_data_import/forms.py ImportProfileForm._selected_adapter_key   5 0 0   100%
netbox_data_import/forms.py ImportProfileForm.clean   6 0 0   100%
netbox_data_import/forms.py ColumnMappingForm.__init__   4 0 0   100%
netbox_data_import/forms.py ClassRoleMappingForm.clean   7 0 0   100%
netbox_data_import/forms.py CableClassMappingForm.__init__   5 0 0   100%
netbox_data_import/forms.py CableClassMappingForm.clean   10 0 0   100%
netbox_data_import/forms.py ColumnTransformRuleForm.__init__   7 0 0   100%
netbox_data_import/forms.py ImportSetupForm.__init__   7 0 0   100%
netbox_data_import/forms.py ImportSetupForm.clean_profile   3 0 0   100%
netbox_data_import/forms.py ImportSetupForm.clean_excel_file   5 0 0   100%
netbox_data_import/forms.py (no function)   78 0 0   100%
netbox_data_import/graphql/__init__.py (no function)   0 0 0   100%
netbox_data_import/graphql/filters.py (no function)   6 0 13   100%
netbox_data_import/graphql/schema.py (no function)   9 0 0   100%
netbox_data_import/graphql/types.py (no function)   8 0 2   100%
netbox_data_import/import_engine.py _resolution_section   4 0 0   100%
netbox_data_import/import_engine.py operator_failure_message   3 0 0   100%
netbox_data_import/import_engine.py _ExecutionFailed.__init__   6 0 0   100%
netbox_data_import/import_engine.py ImportEngine.plan   20 0 0   100%
netbox_data_import/import_engine.py ImportEngine.execute   23 0 0   100%
netbox_data_import/import_engine.py ImportEngine._write_selection   27 0 0   100%
netbox_data_import/import_engine.py ImportEngine._result_counts   5 0 0   100%
netbox_data_import/import_engine.py ImportEngine._failure_reason   15 0 0   100%
netbox_data_import/import_engine.py ImportEngine._selected_units   16 0 0   100%
netbox_data_import/import_engine.py ImportEngine._selected_change_identities   9 0 0   100%
netbox_data_import/import_engine.py ImportEngine._mark_failed   2 0 0   100%
netbox_data_import/import_engine.py ImportEngine._stored_source   6 0 0   100%
netbox_data_import/import_engine.py ImportEngine._source_diagnostic   4 0 0   100%
netbox_data_import/import_engine.py ImportEngine._unused_column_diagnostic   1 0 0   100%
netbox_data_import/import_engine.py (no function)   45 0 0   100%
netbox_data_import/inference_adapter.py RateLimited.__init__   2 0 0   100%
netbox_data_import/inference_adapter.py _retry_after   5 2 0   60%
netbox_data_import/inference_adapter.py OpenAICompatibleAdapter.__init__   8 0 0   100%
netbox_data_import/inference_adapter.py OpenAICompatibleAdapter._check_response_mode   4 0 0   100%
netbox_data_import/inference_adapter.py OpenAICompatibleAdapter._body   4 0 0   100%
netbox_data_import/inference_adapter.py OpenAICompatibleAdapter._check_destination   5 0 0   100%
netbox_data_import/inference_adapter.py OpenAICompatibleAdapter.complete   12 0 0   100%
netbox_data_import/inference_adapter.py OpenAICompatibleAdapter._read   13 0 0   100%
netbox_data_import/inference_adapter.py OpenAICompatibleAdapter._completion   20 3 0   85%
netbox_data_import/inference_adapter.py encode_payload   1 1 0   0%
netbox_data_import/inference_adapter.py (no function)   47 0 0   100%
netbox_data_import/inference_backend.py plugin_settings   2 0 0   100%
netbox_data_import/inference_backend.py origin_allowlist   1 0 0   100%
netbox_data_import/inference_backend.py validate_backend_fields   8 0 0   100%
netbox_data_import/inference_backend.py ResolvedInferenceBackend.metadata   1 0 0   100%
netbox_data_import/inference_backend.py _from_row   2 0 0   100%
netbox_data_import/inference_backend.py _from_file_fallback   2 0 0   100%
netbox_data_import/inference_backend.py resolve_backend_by_id   5 0 0   100%
netbox_data_import/inference_backend.py resolve_active_backend   8 0 0   100%
netbox_data_import/inference_backend.py (no function)   32 0 0   100%
netbox_data_import/inference_connection_test.py ConnectionTestResult.as_dict   1 0 0   100%
netbox_data_import/inference_connection_test.py run_connection_test   15 1 0   93%
netbox_data_import/inference_connection_test.py (no function)   14 0 0   100%
netbox_data_import/inference_credentials.py _QuietDuringVaultRead.filter   1 0 0   100%
netbox_data_import/inference_credentials.py _quiet_transport_logging   4 0 0   100%
netbox_data_import/inference_credentials.py CredentialReference.from_mapping   5 0 0   100%
netbox_data_import/inference_credentials.py CredentialBackend.close   0 0 1   100%
netbox_data_import/inference_credentials.py CredentialBackend.__enter__   0 0 1   100%
netbox_data_import/inference_credentials.py CredentialBackend.__exit__   0 0 1   100%
netbox_data_import/inference_credentials.py CredentialBackend.resolve   0 0 1   100%
netbox_data_import/inference_credentials.py VaultKvV2CredentialBackend.__init__   6 2 0   67%
netbox_data_import/inference_credentials.py VaultKvV2CredentialBackend.close   2 0 0   100%
netbox_data_import/inference_credentials.py VaultKvV2CredentialBackend.__enter__   1 0 0   100%
netbox_data_import/inference_credentials.py VaultKvV2CredentialBackend.__exit__   1 0 0   100%
netbox_data_import/inference_credentials.py VaultKvV2CredentialBackend._headers   10 0 0   100%
netbox_data_import/inference_credentials.py VaultKvV2CredentialBackend._read   10 0 0   100%
netbox_data_import/inference_credentials.py VaultKvV2CredentialBackend.resolve   26 1 0   96%
netbox_data_import/inference_credentials.py credential_backend_for   3 1 0   67%
netbox_data_import/inference_credentials.py (no function)   57 0 10   100%
netbox_data_import/inference_settings.py _require_mapping   3 0 0   100%
netbox_data_import/inference_settings.py validate_origin_allowlist   3 0 0   100%
netbox_data_import/inference_settings.py validate_vault_settings   23 1 0   96%
netbox_data_import/inference_settings.py _validate_vault_address   9 0 0   100%
netbox_data_import/inference_settings.py _require_text   3 0 0   100%
netbox_data_import/inference_settings.py _validate_vault_path   8 0 0   100%
netbox_data_import/inference_settings.py validate_credential_reference   13 0 0   100%
netbox_data_import/inference_settings.py _validate_choice   3 0 0   100%
netbox_data_import/inference_settings.py _validate_text   6 0 0   100%
netbox_data_import/inference_settings.py _validate_timeout   3 0 0   100%
netbox_data_import/inference_settings.py _validate_fallback_fields   8 0 0   100%
netbox_data_import/inference_settings.py validate_file_fallback   11 0 0   100%
netbox_data_import/inference_settings.py validate_plugin_settings   5 0 0   100%
netbox_data_import/inference_settings.py (no function)   36 0 0   100%
netbox_data_import/inference_trust.py split_url   19 1 0   95%
netbox_data_import/inference_trust.py origin_of   14 0 0   100%
netbox_data_import/inference_trust.py validate_origin   4 0 0   100%
netbox_data_import/inference_trust.py _allowlist_entry_for   4 0 0   100%
netbox_data_import/inference_trust.py is_local_endpoint   8 1 0   88%
netbox_data_import/inference_trust.py _assert_origin_approved   7 0 0   100%
netbox_data_import/inference_trust.py validate_api_root   8 0 0   100%
netbox_data_import/inference_trust.py assert_resolved_address_allowed   14 0 0   100%
netbox_data_import/inference_trust.py resolve_addresses   7 0 0   100%
netbox_data_import/inference_trust.py (no function)   19 0 0   100%
netbox_data_import/ip_assignment.py IPTarget.interface_name   1 0 0   100%
netbox_data_import/ip_assignment.py IPTarget.held   3 0 0   100%
netbox_data_import/ip_assignment.py IPTarget.summary   3 0 0   100%
netbox_data_import/ip_assignment.py IPTarget.placement   5 0 0   100%
netbox_data_import/ip_assignment.py _normalized_ip   7 0 0   100%
netbox_data_import/ip_assignment.py parse_address   16 0 0   100%
netbox_data_import/ip_assignment.py normalized_address   8 0 0   100%
netbox_data_import/ip_assignment.py already_assigned   10 0 0   100%
netbox_data_import/ip_assignment.py _host   1 0 0   100%
netbox_data_import/ip_assignment.py held_by_device   8 0 0   100%
netbox_data_import/ip_assignment.py interface_for   10 0 0   100%
netbox_data_import/ip_assignment.py resolve   11 0 0   100%
netbox_data_import/ip_assignment.py apply   11 0 0   100%
netbox_data_import/ip_assignment.py (no function)   31 0 0   100%
netbox_data_import/jobs.py ImportJobRunner._save_data   2 0 0   100%
netbox_data_import/jobs.py ImportJobRunner._fail   6 0 0   100%
netbox_data_import/jobs.py ImportJobRunner._publish_progress   7 0 0   100%
netbox_data_import/jobs.py ImportJobRunner.run   29 2 0   93%
netbox_data_import/jobs.py ImportJobRunner.run.publish_progress   2 0 0   100%
netbox_data_import/jobs.py SourceDocumentRetentionJob.purge   1 0 0   100%
netbox_data_import/jobs.py SourceDocumentRetentionJob.run   1 0 0   100%
netbox_data_import/jobs.py InferenceBackendConnectionTestJob.run   5 0 0   100%
netbox_data_import/jobs.py (no function)   37 0 0   100%
netbox_data_import/models.py _invalid_contact_resolution_key_message   2 0 0   100%
netbox_data_import/models.py validate_adapter_target_module   2 0 0   100%
netbox_data_import/models.py validate_registered_adapter   2 0 0   100%
netbox_data_import/models.py validate_section_applicability   5 0 0   100%
netbox_data_import/models.py _validated_contact_id   11 0 0   100%
netbox_data_import/models.py validate_contact_candidate_resolution   31 0 0   100%
netbox_data_import/models.py validate_source_resolution_fields   16 1 0   94%
netbox_data_import/models.py locked_profile_policy   8 0 0   100%
netbox_data_import/models.py locked_resolution_policy   8 0 0   100%
netbox_data_import/models.py ImportProfile.__str__   1 0 0   100%
netbox_data_import/models.py ImportProfile.get_absolute_url   1 0 0   100%
netbox_data_import/models.py ImportProfile._validate_source_adapter_immutability   4 0 0   100%
netbox_data_import/models.py ImportProfile.save   10 0 0   100%
netbox_data_import/models.py ImportProfile.delete   2 0 0   100%
netbox_data_import/models.py ImportProfile.adapter   1 0 0   100%
netbox_data_import/models.py ImportProfile.output_kinds   1 0 0   100%
netbox_data_import/models.py ImportProfile.adapter_settings   7 0 0   100%
netbox_data_import/models.py ImportProfile.adapter_config_display   13 0 0   100%
netbox_data_import/models.py ImportProfile.grouped_column_map   4 0 0   100%
netbox_data_import/models.py ImportProfile.planning_fingerprint   10 0 0   100%
netbox_data_import/models.py ImportProfile.resolved_primary_contact_role   10 0 0   100%
netbox_data_import/models.py ImportProfile.clean   8 0 0   100%
netbox_data_import/models.py _require_adapter_config_mapping   3 0 0   100%
netbox_data_import/models.py AdapterSettings.__init__   3 0 0   100%
netbox_data_import/models.py AdapterSettings.get   2 0 0   100%
netbox_data_import/models.py AdapterSettings.__getattr__   14 0 0   100%
netbox_data_import/models.py PolicySectionModel.clean   2 0 0   100%
netbox_data_import/models.py ColumnMapping.clean   9 0 0   100%
netbox_data_import/models.py ColumnMapping.get_target_field_display   1 0 0   100%
netbox_data_import/models.py ColumnMapping.__str__   1 0 0   100%
netbox_data_import/models.py ColumnMapping.get_absolute_url   1 0 0   100%
netbox_data_import/models.py ClassRoleMapping.__str__   4 0 0   100%
netbox_data_import/models.py ClassRoleMapping.get_absolute_url   1 0 0   100%
netbox_data_import/models.py _flatten_choice_groups   6 1 0   83%
netbox_data_import/models.py cable_type_choices   2 0 0   100%
netbox_data_import/models.py cable_profile_choices   2 0 0   100%
netbox_data_import/models.py cable_profile_accepts_one_termination_per_side   3 0 0   100%
netbox_data_import/models.py compatible_cable_profile_choices   1 0 0   100%
netbox_data_import/models.py cable_class_mapping_choice_errors   10 0 0   100%
netbox_data_import/models.py CableClassMapping.clean   10 2 0   80%
netbox_data_import/models.py CableClassMapping.cable_type_display   5 0 0   100%
netbox_data_import/models.py CableClassMapping.cable_profile_display   5 1 0   80%
netbox_data_import/models.py CableClassMapping.__str__   1 0 0   100%
netbox_data_import/models.py CableClassMapping.get_absolute_url   1 0 0   100%
netbox_data_import/models.py index_digest   1 0 0   100%
netbox_data_import/models.py _canonical_termination_field_key   5 0 0   100%
netbox_data_import/models.py TerminationResolution.clean   6 0 0   100%
netbox_data_import/models.py TerminationResolution.save   5 0 0   100%
netbox_data_import/models.py TerminationResolution.__str__   1 1 0   0%
netbox_data_import/models.py SourceDocument.__str__   1 0 0   100%
netbox_data_import/models.py SourceDocument.fingerprint   1 0 0   100%
netbox_data_import/models.py SourceDocument.store   1 0 0   100%
netbox_data_import/models.py SourceDocument.purge_unreferenced   6 0 0   100%
netbox_data_import/models.py ImportExecution.__str__   1 0 0   100%
netbox_data_import/models.py ImportExecution.get_absolute_url   3 0 0   100%
netbox_data_import/models.py ImportExecution.reserve   20 1 0   95%
netbox_data_import/models.py ImportExecution.link_job   4 0 0   100%
netbox_data_import/models.py ImportExecution.for_idempotency   4 0 0   100%
netbox_data_import/models.py ImportExecution.reconcile_pending   11 0 0   100%
netbox_data_import/models.py ImportExecution._finish   7 0 0   100%
netbox_data_import/models.py ImportExecution.mark_succeeded   1 0 0   100%
netbox_data_import/models.py ImportExecution.mark_failed   1 0 0   100%
netbox_data_import/models.py DeviceTypeMapping.__str__   1 0 0   100%
netbox_data_import/models.py DeviceTypeMapping.get_absolute_url   1 0 0   100%
netbox_data_import/models.py ManufacturerMapping.__str__   1 0 0   100%
netbox_data_import/models.py InferenceBackend.__str__   1 0 0   100%
netbox_data_import/models.py InferenceBackend.get_absolute_url   1 0 0   100%
netbox_data_import/models.py InferenceBackend.clean   7 0 0   100%
netbox_data_import/models.py IgnoredDevice.__str__   1 0 0   100%
netbox_data_import/models.py ColumnTransformRule.clean   39 0 0   100%
netbox_data_import/models.py ColumnTransformRule._column_mapping_target_errors   2 0 0   100%
netbox_data_import/models.py ColumnTransformRule.__str__   1 0 0   100%
netbox_data_import/models.py ColumnTransformRule.get_absolute_url   1 0 0   100%
netbox_data_import/models.py SourceResolution.clean   2 0 0   100%
netbox_data_import/models.py SourceResolution.__str__   1 0 0   100%
netbox_data_import/models.py DeviceExistingMatch.__str__   2 0 0   100%
netbox_data_import/models.py IgnoredFieldDifference.__str__   1 0 0   100%
netbox_data_import/models.py DeviceImportSource.__str__   1 0 0   100%
netbox_data_import/models.py CableImportSource.clean   2 0 0   100%
netbox_data_import/models.py CableImportSource.save   5 1 0   80%
netbox_data_import/models.py CableImportSource.__str__   1 1 0   0%
netbox_data_import/models.py stored_import_source   4 0 0   100%
netbox_data_import/models.py (no function)   368 0 0   100%
netbox_data_import/navigation.py (no function)   2 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.__init__   4 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.for_target   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.for_planning_context   9 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader._required   4 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader._optional   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.site   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.location   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.tenant   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.for_actor   3 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.unrestricted   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.for_optional_actor   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.actor   1 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader._scoped   3 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.devices   2 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.racks   2 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.interfaces   2 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.front_ports   2 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.rear_ports   2 0 0   100%
netbox_data_import/netbox_reader.py NetBoxReader.port_mappings   2 0 0   100%
netbox_data_import/netbox_reader.py (no function)   30 0 0   100%
netbox_data_import/object_permissions.py enforce_saved_object_permission   5 0 0   100%
netbox_data_import/object_permissions.py reject_overlong_fields   5 0 0   100%
netbox_data_import/object_permissions.py save_or_refetch   9 0 0   100%
netbox_data_import/object_permissions.py _policy_profile_id   8 1 0   88%
netbox_data_import/object_permissions.py save_permission_scoped_object   6 0 0   100%
netbox_data_import/object_permissions.py _scoped_write   25 0 0   100%
netbox_data_import/object_permissions.py delete_permission_scoped_objects   7 0 0   100%
netbox_data_import/object_permissions.py (no function)   17 0 0   100%
netbox_data_import/plan.py canonical_json   1 0 0   100%
netbox_data_import/plan.py fingerprint_of   1 0 0   100%
netbox_data_import/plan.py FrozenDict._immutable   1 0 0   100%
netbox_data_import/plan.py _freeze_json   5 0 0   100%
netbox_data_import/plan.py _thaw_json   5 0 0   100%
netbox_data_import/plan.py _frozen_json   4 0 0   100%
netbox_data_import/plan.py _plan_mapping   4 0 0   100%
netbox_data_import/plan.py _plan_text   3 0 0   100%
netbox_data_import/plan.py _plan_int   3 0 0   100%
netbox_data_import/plan.py _elements   6 0 0   100%
netbox_data_import/plan.py _identities   6 0 0   100%
netbox_data_import/plan.py Diagnostic.__post_init__   6 0 0   100%
netbox_data_import/plan.py Diagnostic.__hash__   1 0 0   100%
netbox_data_import/plan.py Diagnostic.fingerprint_data   1 0 0   100%
netbox_data_import/plan.py Diagnostic.to_dict   1 0 0   100%
netbox_data_import/plan.py Diagnostic.from_dict   1 0 0   100%
netbox_data_import/plan.py PlannedChange.__post_init__   9 0 0   100%
netbox_data_import/plan.py PlannedChange.__hash__   1 0 0   100%
netbox_data_import/plan.py PlannedChange.fingerprint_data   1 0 0   100%
netbox_data_import/plan.py PlannedChange.to_dict   1 0 0   100%
netbox_data_import/plan.py PlannedChange.from_dict   1 0 0   100%
netbox_data_import/plan.py SynchronizationUnit.__post_init__   7 0 0   100%
netbox_data_import/plan.py SynchronizationUnit.__hash__   1 0 0   100%
netbox_data_import/plan.py SynchronizationUnit.fingerprint_data   1 0 0   100%
netbox_data_import/plan.py SynchronizationUnit.to_dict   1 0 0   100%
netbox_data_import/plan.py SynchronizationUnit.from_dict   1 0 0   100%
netbox_data_import/plan.py ImportPlan.__post_init__   11 0 0   100%
netbox_data_import/plan.py ImportPlan.__hash__   1 0 0   100%
netbox_data_import/plan.py ImportPlan._selection_context_data   1 0 0   100%
netbox_data_import/plan.py ImportPlan.fingerprint_data   1 0 0   100%
netbox_data_import/plan.py ImportPlan.fingerprint   1 0 0   100%
netbox_data_import/plan.py ImportPlan.unit   5 0 0   100%
netbox_data_import/plan.py ImportPlan.unit_fingerprint   4 0 0   100%
netbox_data_import/plan.py ImportPlan.to_dict   1 0 0   100%
netbox_data_import/plan.py ImportPlan.from_dict   9 0 0   100%
netbox_data_import/plan.py executable_units   1 0 0   100%
netbox_data_import/plan.py merge_changes   16 0 0   100%
netbox_data_import/plan.py _topological_order   7 0 0   100%
netbox_data_import/plan.py _topological_order.visit   10 0 0   100%
netbox_data_import/plan.py (no function)   115 0 0   100%
netbox_data_import/preview_row_actions.py current_preview_revision   5 0 0   100%
netbox_data_import/preview_row_actions.py retained_sync_block_reason   10 2 0   80%
netbox_data_import/preview_row_actions.py assert_preview_may_move   2 0 0   100%
netbox_data_import/preview_row_actions.py _store_preview   5 0 0   100%
netbox_data_import/preview_row_actions.py record_recalculated_preview   2 0 0   100%
netbox_data_import/preview_row_actions.py start_new_preview   1 0 0   100%
netbox_data_import/preview_row_actions.py restore_preview_plan   1 0 0   100%
netbox_data_import/preview_row_actions.py clear_preview_state   1 0 0   100%
netbox_data_import/preview_row_actions.py retire_preview_revision   3 0 0   100%
netbox_data_import/preview_row_actions.py load_cached_preview   20 1 0   95%
netbox_data_import/preview_row_actions.py mark_preview_dirty   1 0 0   100%
netbox_data_import/preview_row_actions.py pending_preview_payload   4 0 0   100%
netbox_data_import/preview_row_actions.py (no function)   20 0 0   100%
netbox_data_import/review_workspace.py save_termination_resolution_and_replan   8 0 0   100%
netbox_data_import/review_workspace.py _offered_actions   11 0 0   100%
netbox_data_import/review_workspace.py _operation   7 0 0   100%
netbox_data_import/review_workspace.py _object_type   3 0 0   100%
netbox_data_import/review_workspace.py _blocking   1 0 0   100%
netbox_data_import/review_workspace.py _states_a_trace   1 0 0   100%
netbox_data_import/review_workspace.py _diagnostic_message   1 0 0   100%
netbox_data_import/review_workspace.py _detail   7 0 0   100%
netbox_data_import/review_workspace.py WorkspaceUnit.from_unit   45 0 0   100%
netbox_data_import/review_workspace.py AutoMatchSummary.message   14 0 0   100%
netbox_data_import/review_workspace.py _resolve_strong_identity   13 0 0   100%
netbox_data_import/review_workspace.py _match_existing_device   13 1 0   92%
netbox_data_import/review_workspace.py _device_placement_differs   3 0 0   100%
netbox_data_import/review_workspace.py TraceWorkspaceUnit.from_unit   4 0 0   100%
netbox_data_import/review_workspace.py TraceWorkspaceUnit._actions   6 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.__init__   2 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.from_dict   1 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.counts   13 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.has_errors   1 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.has_traces   1 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.traces   1 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.sync_selection   18 1 0   94%
netbox_data_import/review_workspace.py ReviewWorkspace.trace_summary   9 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.rack_groups   12 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.rack_groups.placement_sort_key   2 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.source_rows   5 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.unused_columns   3 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.auto_match_devices   72 3 0   96%
netbox_data_import/review_workspace.py ReviewWorkspace.with_units   4 0 0   100%
netbox_data_import/review_workspace.py ReviewWorkspace.replace_unit   1 0 0   100%
netbox_data_import/review_workspace.py (no function)   105 0 0   100%
netbox_data_import/signals.py (no function)   0 0 0   100%
netbox_data_import/source_resolution.py _build_source_to_targets_map   4 0 0   100%
netbox_data_import/source_resolution.py _clear_resolved_conflicts   4 0 0   100%
netbox_data_import/source_resolution.py _apply_one_resolution   18 0 0   100%
netbox_data_import/source_resolution.py derive_effective_rows   18 0 0   100%
netbox_data_import/source_resolution.py (no function)   11 0 0   100%
netbox_data_import/tables.py _mapping_actions_column   1 0 0   100%
netbox_data_import/tables.py ImportExecutionTable.render_profile   3 0 0   100%
netbox_data_import/tables.py ImportExecutionTable.render_racks_created   4 0 0   100%
netbox_data_import/tables.py ImportExecutionTable.render_devices_created   4 0 0   100%
netbox_data_import/tables.py (no function)   82 0 0   100%
netbox_data_import/target_modules.py _text   1 0 0   100%
netbox_data_import/target_modules.py _source_text   1 0 0   100%
netbox_data_import/target_modules.py _database_upper_values   8 0 0   100%
netbox_data_import/target_modules.py _duplicate_value_detail   2 0 0   100%
netbox_data_import/target_modules.py _display_value   15 0 0   100%
netbox_data_import/target_modules.py _unit_display   2 0 0   100%
netbox_data_import/target_modules.py _class_mapping_display   8 1 0   88%
netbox_data_import/target_modules.py _ignored_source_ids   1 0 0   100%
netbox_data_import/target_modules.py _repeated   9 0 0   100%
netbox_data_import/target_modules.py _translate   7 0 0   100%
netbox_data_import/target_modules.py _coerce_rack_height   4 0 0   100%
netbox_data_import/target_modules.py rack_row_name   1 0 0   100%
netbox_data_import/target_modules.py rack_unit_identity   4 0 0   100%
netbox_data_import/target_modules.py rack_duplicate_keys   1 0 0   100%
netbox_data_import/target_modules.py rack_row_rejection   11 0 0   100%
netbox_data_import/target_modules.py _racks_by_comparison_name   7 0 0   100%
netbox_data_import/target_modules.py RackModule.plan   9 0 0   100%
netbox_data_import/target_modules.py RackModule._rack_rows   2 0 0   100%
netbox_data_import/target_modules.py RackModule.unit_identity   1 0 0   100%
netbox_data_import/target_modules.py RackModule._unit   44 2 0   95%
netbox_data_import/target_modules.py RackModule.apply   34 2 0   94%
netbox_data_import/target_modules.py RackModule._differs   9 0 0   100%
netbox_data_import/target_modules.py RackModule._change   3 0 0   100%
netbox_data_import/target_modules.py RackModule._precondition_state   1 0 0   100%
netbox_data_import/target_modules.py RackModule._validated_candidate   16 0 0   100%
netbox_data_import/target_modules.py _occupied_units   5 0 0   100%
netbox_data_import/target_modules.py _refused   1 0 0   100%
netbox_data_import/target_modules.py _with_issues   2 0 0   100%
netbox_data_import/target_modules.py _reviewed_payload   13 0 0   100%
netbox_data_import/target_modules.py _assign_ips   18 0 0   100%
netbox_data_import/target_modules.py _apply_contact   3 0 0   100%
netbox_data_import/target_modules.py _provenance_is_current   9 0 0   100%
netbox_data_import/target_modules.py _bind_source   9 0 0   100%
netbox_data_import/target_modules.py _store_provenance   11 0 0   100%
netbox_data_import/target_modules.py _contact_payload   3 0 0   100%
netbox_data_import/target_modules.py _contact_writes_nothing   4 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.__init__   33 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.placement_reference   3 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._lock_placement_references   15 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._placement_candidate_devices   5 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._named_rack_matches   7 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._load_dependency_objects   11 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._load_identity_objects   20 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._load_identity_objects.index   4 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._is_identity_writing_row   4 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._rows_by_value   7 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._effective_identity_values   17 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._rows_by_effective   7 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch._planned_racks_by_name   12 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.clash   8 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.dependencies   32 1 0   97%
netbox_data_import/target_modules.py _DeviceBatch._role_change   1 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.placement   13 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.prepare_claim   15 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.commit_claim   1 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.match   35 2 0   94%
netbox_data_import/target_modules.py _DeviceBatch._visible_match   2 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.binding_conflict   8 1 0   88%
netbox_data_import/target_modules.py _DeviceBatch.commit_device_claim   1 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.suggest_name   17 3 0   82%
netbox_data_import/target_modules.py _DeviceBatch.review   6 0 0   100%
netbox_data_import/target_modules.py _DeviceBatch.contact_review   1 0 0   100%
netbox_data_import/target_modules.py DeviceModule.plan   7 0 0   100%
netbox_data_import/target_modules.py DeviceModule._device_rows   2 0 0   100%
netbox_data_import/target_modules.py DeviceModule.unit_identity   4 0 0   100%
netbox_data_import/target_modules.py DeviceModule._unit   153 9 0   94%
netbox_data_import/target_modules.py DeviceModule._unit.problem   1 0 0   100%
netbox_data_import/target_modules.py DeviceModule._placement_differs   1 0 0   100%
netbox_data_import/target_modules.py DeviceModule._device_is_unplaced   1 0 0   100%
netbox_data_import/target_modules.py DeviceModule._validation_error   25 1 0   96%
netbox_data_import/target_modules.py DeviceModule._review_display   2 0 0   100%
netbox_data_import/target_modules.py DeviceModule.apply   61 0 0   100%
netbox_data_import/target_modules.py DeviceModule._ip_fields   14 0 0   100%
netbox_data_import/target_modules.py DeviceModule._payload   1 0 0   100%
netbox_data_import/target_modules.py DeviceModule._differs   22 1 0   95%
netbox_data_import/target_modules.py DeviceModule._change   7 0 0   100%
netbox_data_import/target_modules.py DeviceModule._precondition_state   11 0 0   100%
netbox_data_import/target_modules.py DeviceModule._create_identity_conflict   16 0 0   100%
netbox_data_import/target_modules.py runtime_for   1 0 0   100%
netbox_data_import/target_modules.py (no function)   161 0 0   100%
netbox_data_import/target_runtime.py DeletedObject.to_dict   1 0 0   100%
netbox_data_import/target_runtime.py TargetModuleRuntime.plan   0 0 1   100%
netbox_data_import/target_runtime.py TargetModuleRuntime.apply   0 0 1   100%
netbox_data_import/target_runtime.py (no function)   24 0 3   100%
netbox_data_import/template_content.py DeviceImportDataExtension.left_page   9 0 0   100%
netbox_data_import/template_content.py (no function)   7 0 0   100%
netbox_data_import/trace_schema.py (no function)   1 0 0   100%
netbox_data_import/trace_workbook.py TerminationReference.identity_key   1 0 0   100%
netbox_data_import/trace_workbook.py SourceTrace.valid   1 0 0   100%
netbox_data_import/trace_workbook.py SourceTrace.ends_at_rear_port   1 0 0   100%
netbox_data_import/trace_workbook.py _Block.pair_key   1 0 0   100%
netbox_data_import/trace_workbook.py parse_endpoint_line   14 3 0   79%
netbox_data_import/trace_workbook.py canonical_trace_identity   2 0 0   100%
netbox_data_import/trace_workbook.py canonical_orientation   3 0 0   100%
netbox_data_import/trace_workbook.py content_fingerprint   6 0 0   100%
netbox_data_import/trace_workbook.py _cell_text   1 0 0   100%
netbox_data_import/trace_workbook.py _normalized_header   1 0 0   100%
netbox_data_import/trace_workbook.py _row_has_data   1 0 0   100%
netbox_data_import/trace_workbook.py _row_values   1 0 0   100%
netbox_data_import/trace_workbook.py _last_data_row   4 1 0   75%
netbox_data_import/trace_workbook.py _extract_blocks   25 0 0   100%
netbox_data_import/trace_workbook.py _location   1 0 0   100%
netbox_data_import/trace_workbook.py _error   1 0 0   100%
netbox_data_import/trace_workbook.py _metadata_errors   5 0 0   100%
netbox_data_import/trace_workbook.py _endpoint_summary   11 3 0   73%
netbox_data_import/trace_workbook.py _termination_from_path   4 0 0   100%
netbox_data_import/trace_workbook.py _parse_segments   17 2 0   88%
netbox_data_import/trace_workbook.py _parse_visits   14 4 0   71%
netbox_data_import/trace_workbook.py _unknown_port_class_error   4 0 0   100%
netbox_data_import/trace_workbook.py _linearity_error   26 3 0   88%
netbox_data_import/trace_workbook.py _pass_through_claims   6 0 0   100%
netbox_data_import/trace_workbook.py _pass_through_error   6 1 0   83%
netbox_data_import/trace_workbook.py _group_consecutive_visits   7 0 0   100%
netbox_data_import/trace_workbook.py _expected_visits   6 1 0   83%
netbox_data_import/trace_workbook.py _corroboration_error   13 0 0   100%
netbox_data_import/trace_workbook.py _enrich_termination   5 0 0   100%
netbox_data_import/trace_workbook.py _enrich_summary   2 0 0   100%
netbox_data_import/trace_workbook.py _provenance   2 0 0   100%
netbox_data_import/trace_workbook.py _deduplicate_errors   1 0 0   100%
netbox_data_import/trace_workbook.py _path_trace   39 0 0   100%
netbox_data_import/trace_workbook.py _fallback_trace   16 1 0   94%
netbox_data_import/trace_workbook.py _trace_selection_key   3 0 0   100%
netbox_data_import/trace_workbook.py _collapse_duplicates   15 0 0   100%
netbox_data_import/trace_workbook.py _first_of_each_code   9 0 0   100%
netbox_data_import/trace_workbook.py _location_from_provenance   1 0 0   100%
netbox_data_import/trace_workbook.py _cross_trace_conflicts   38 0 0   100%
netbox_data_import/trace_workbook.py interpret   38 0 0   100%
netbox_data_import/trace_workbook.py (no function)   137 0 0   100%
netbox_data_import/transform_regex.py TransformPattern.compile   9 0 0   100%
netbox_data_import/transform_regex.py TransformPattern.group_count   1 0 0   100%
netbox_data_import/transform_regex.py TransformPattern.capture_groups   4 0 0   100%
netbox_data_import/transform_regex.py (no function)   13 0 0   100%
netbox_data_import/urls.py (no function)   4 0 0   100%
netbox_data_import/utils.py (no function)   0 0 0   100%
netbox_data_import/values.py source_text   4 0 0   100%
netbox_data_import/values.py identity_text   1 0 0   100%
netbox_data_import/values.py source_position   12 0 0   100%
netbox_data_import/values.py effective_device_name   1 0 0   100%
netbox_data_import/values.py has_below_rack_position   2 0 0   100%
netbox_data_import/values.py normalize_for_compare   9 0 0   100%
netbox_data_import/values.py comparison_key   3 0 0   100%
netbox_data_import/values.py status_map   2 0 0   100%
netbox_data_import/values.py translation_maps   4 0 0   100%
netbox_data_import/values.py (no function)   15 0 0   100%
netbox_data_import/views.py _safe_next_url   4 0 0   100%
netbox_data_import/views.py _navigation_response   5 0 0   100%
netbox_data_import/views.py _name_resolution_response   8 1 0   88%
netbox_data_import/views.py _parse_posted_profile_id   4 0 0   100%
netbox_data_import/views.py _candidate_values   4 0 0   100%
netbox_data_import/views.py _contact_candidate_context   14 3 0   79%
netbox_data_import/views.py _store_contact_for_unmatched_row   6 0 0   100%
netbox_data_import/views.py _planned_device_id   3 0 0   100%
netbox_data_import/views.py _assign_contact_to_matched_device   11 1 0   91%
netbox_data_import/views.py _persist_contact_decision   11 0 0   100%
netbox_data_import/views.py _saved_resolution_report   5 0 0   100%
netbox_data_import/views.py _ensure_field_review_device_match   13 1 0   92%
netbox_data_import/views.py _fuzzy_match_netbox_field   7 0 0   100%
netbox_data_import/views.py ImportProfileView.get_extra_context   7 0 0   100%
netbox_data_import/views.py InferenceBackendConnectionTestView.post   5 0 0   100%
netbox_data_import/views.py _validate_model_instance   8 0 0   100%
netbox_data_import/views.py _legacy_adapter_config   16 0 0   100%
netbox_data_import/views.py _profile_defaults_from_yaml   15 0 0   100%
netbox_data_import/views.py _get_or_init   1 0 0   100%
netbox_data_import/views.py _set_if_present   3 0 0   100%
netbox_data_import/views.py _save_or_refetch   2 0 0   100%
netbox_data_import/views.py _iter_yaml_section   12 0 0   100%
netbox_data_import/views.py _delete_stale_device_type_mappings   8 0 0   100%
netbox_data_import/views.py _import_class_role_mappings   18 0 0   100%
netbox_data_import/views.py _import_cable_class_mappings   10 0 0   100%
netbox_data_import/views.py _release_replaced_column_policy_rows   13 0 0   100%
netbox_data_import/views.py _apply_profile_yaml_data   65 0 0   100%
netbox_data_import/views.py ImportProfileBulkImportView.post   30 0 0   100%
netbox_data_import/views.py _profile_pk_for_policy_write   6 1 0   83%
netbox_data_import/views.py _ProfileChildEditView.get_required_permission   2 0 0   100%
netbox_data_import/views.py _ProfileChildEditView.get_object   3 0 0   100%
netbox_data_import/views.py _ProfileChildEditView.alter_object   3 0 0   100%
netbox_data_import/views.py _ProfileChildEditView.get_return_url   3 1 0   67%
netbox_data_import/views.py _ProfileChildEditView.get_extra_context   6 1 0   83%
netbox_data_import/views.py _ProfileChildEditView.post   5 1 0   80%
netbox_data_import/views.py _ProfileChildDeleteView.get_return_url   3 1 0   67%
netbox_data_import/views.py _ProfileChildDeleteView.post   5 1 0   80%
netbox_data_import/views.py ImportSetupView.get   5 0 0   100%
netbox_data_import/views.py ImportSetupView.post   28 0 0   100%
netbox_data_import/views.py _other_conflict_row_identities   10 1 0   90%
netbox_data_import/views.py _conflict_comparison_row   8 1 0   88%
netbox_data_import/views.py _preview_rows_with_conflict_comparisons   19 0 0   100%
netbox_data_import/views.py ImportPreviewView.get   2 0 0   100%
netbox_data_import/views.py ImportPreviewView._replanned_preview   12 0 0   100%
netbox_data_import/views.py ImportPreviewView.render_preview   81 1 0   99%
netbox_data_import/views.py _user_import_jobs   2 0 0   100%
netbox_data_import/views.py _import_setup_context   5 0 0   100%
netbox_data_import/views.py _discard_import_preview   6 0 0   100%
netbox_data_import/views.py _clear_restored_import_job   1 0 0   100%
netbox_data_import/views.py _resume_import_job   5 1 0   80%
netbox_data_import/views.py _import_source_rows_available   2 0 0   100%
netbox_data_import/views.py _import_job_progress   16 0 0   100%
netbox_data_import/views.py _restore_import_session   20 0 0   100%
netbox_data_import/views.py _queue_accepted_plan   25 0 0   100%
netbox_data_import/views.py ImportRunView.post   43 3 0   93%
netbox_data_import/views.py ImportProgressView.get   4 0 0   100%
netbox_data_import/views.py ImportProgressStatusView.get   8 0 0   100%
netbox_data_import/views.py ImportResultsView.get   15 0 0   100%
netbox_data_import/views.py ImportExecutionListView.get_required_permission   1 1 0   0%
netbox_data_import/views.py _PermissionScopedWriteMixin.dispatch   7 0 0   100%
netbox_data_import/views.py _PermissionScopedWriteMixin._refusal   4 0 0   100%
netbox_data_import/views.py IgnoreDeviceView.post   20 0 0   100%
netbox_data_import/views.py UnignoreDeviceView.post   14 0 0   100%
netbox_data_import/views.py _wants_json   1 0 0   100%
netbox_data_import/views.py _session_holds_a_preview   1 0 0   100%
netbox_data_import/views.py _preview_is_active   1 0 0   100%
netbox_data_import/views.py _preview_accepts_decisions   1 0 0   100%
netbox_data_import/views.py _preview_action_error   4 0 0   100%
netbox_data_import/views.py _saved_preview_action_response   5 0 0   100%
netbox_data_import/views.py _resolved_import_target   11 0 0   100%
netbox_data_import/views.py _stale_preview_reason   7 0 0   100%
netbox_data_import/views.py _preview_row_decision   26 0 0   100%
netbox_data_import/views.py _field_review_row   15 3 0   80%
netbox_data_import/views.py _preview_device_action   17 4 0   76%
netbox_data_import/views.py _offered_difference   1 0 0   100%
netbox_data_import/views.py _preview_field_intent   15 0 0   100%
netbox_data_import/views.py _placement_matches_preview   4 1 0   75%
netbox_data_import/views.py _locked_placement_device   2 0 0   100%
netbox_data_import/views.py _placement_action_intent   14 0 0   100%
netbox_data_import/views.py IgnoreFieldDifferenceView.post   38 2 0   95%
netbox_data_import/views.py UnignoreFieldDifferenceView.post   31 5 0   84%
netbox_data_import/views.py RemoveExtraIpView.post   20 0 0   100%
netbox_data_import/views.py RemoveExtraIpView.post._safe_return   6 0 0   100%
netbox_data_import/views.py _AjaxPermissionView.dispatch   6 0 0   100%
netbox_data_import/views.py ContactLookupView.get   8 0 0   100%
netbox_data_import/views.py ContactSuggestionView.get   17 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView.post   29 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._writer_safe_text   5 1 0   80%
netbox_data_import/views.py SyncDeviceFieldView._apply_field   6 1 0   83%
netbox_data_import/views.py SyncDeviceFieldView._apply_device_name   6 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._apply_u_position   10 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._apply_status   7 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._apply_serial   3 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._apply_asset_tag   3 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._apply_face   12 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._apply_airflow   10 0 0   100%
netbox_data_import/views.py SyncDeviceFieldView._apply_ip_field   19 4 0   79%
netbox_data_import/views.py SyncDeviceFieldView._reject_invalid_placement   4 0 0   100%
netbox_data_import/views.py _lookup_rack_for_device   18 0 0   100%
netbox_data_import/views.py _validate_device_placement   9 1 0   89%
netbox_data_import/views.py _placement_error_text   3 1 0   67%
netbox_data_import/views.py _zero_u_device_type   4 0 0   100%
netbox_data_import/views.py _set_rack_placement   27 0 0   100%
netbox_data_import/views.py SyncPlacementView.post   51 5 0   90%
netbox_data_import/views.py _device_name_already_claimed   9 0 0   100%
netbox_data_import/views.py ResolveDuplicateNameView.post   40 2 0   95%
netbox_data_import/views.py _duplicate_serial_shown   4 0 0   100%
netbox_data_import/views.py IgnoreDuplicateSerialView.post   47 3 0   94%
netbox_data_import/views.py SaveResolutionView.post   53 4 0   92%
netbox_data_import/views.py DeviceTypeAnalysisView.get   12 0 0   100%
netbox_data_import/views.py BulkYamlImportView.get   2 0 0   100%
netbox_data_import/views.py BulkYamlImportView._import_class_role_rows   29 0 0   100%
netbox_data_import/views.py BulkYamlImportView._import_device_type_rows   13 3 0   77%
netbox_data_import/views.py BulkYamlImportView.post   30 0 0   100%
netbox_data_import/views.py ExportProfileYamlView.get   8 0 0   100%
netbox_data_import/views.py ImportProfileYamlView.get   1 0 0   100%
netbox_data_import/views.py ImportProfileYamlView.post   18 0 0   100%
netbox_data_import/views.py CheckDeviceNameView.get   14 0 3   100%
netbox_data_import/views.py SourceResolutionListView.get   3 0 0   100%
netbox_data_import/views.py SourceResolutionDeleteView.post   6 0 0   100%
netbox_data_import/views.py _trace_sync_block_reason   3 0 0   100%
netbox_data_import/views.py _retained_sync_block_reason   1 0 0   100%
netbox_data_import/views.py _with_blocked_sync   2 0 0   100%
netbox_data_import/views.py _workspace_field_keys   1 0 0   100%
netbox_data_import/views.py _object_type_label   1 0 0   100%
netbox_data_import/views.py _TraceWorkspaceMixin.reviewed_preview   10 1 0   90%
netbox_data_import/views.py _TraceWorkspaceMixin.discard_unavailable_target   3 0 0   100%
netbox_data_import/views.py _TraceWorkspaceMixin.refuse_unregistered_adapter   8 0 0   100%
netbox_data_import/views.py _TraceWorkspaceMixin.live_plan   4 0 0   100%
netbox_data_import/views.py TraceReviewWorkspaceView.get   23 1 0   96%
netbox_data_import/views.py TraceReviewWorkspaceView._preview_state   3 0 0   100%
netbox_data_import/views.py TraceWorkspaceRereadView.post   26 7 0   73%
netbox_data_import/views.py TraceSyncView.post   32 4 0   88%
netbox_data_import/views.py TraceTerminationCandidatesView.get   15 4 0   73%
netbox_data_import/views.py TraceTerminationCandidatesView._eligible   2 0 0   100%
netbox_data_import/views.py TraceResolveTerminationView.post   41 9 0   78%
netbox_data_import/views.py QuickResolveManufacturerView.post   21 1 0   95%
netbox_data_import/views.py QuickResolveDeviceTypeView.post   34 1 0   97%
netbox_data_import/views.py QuickAddClassRoleMappingView.post   44 2 0   95%
netbox_data_import/views.py QuickAddColumnMappingView.post   30 1 0   97%
netbox_data_import/views.py MatchExistingDeviceView.post   48 2 0   96%
netbox_data_import/views.py _device_name_filter   10 0 0   100%
netbox_data_import/views.py SearchNetBoxObjectsView.get   31 0 2   100%
netbox_data_import/views.py SearchNetBoxObjectsView._search_devices   12 1 0   92%
netbox_data_import/views.py QuickCreateDeviceRoleView.post   33 0 0   100%
netbox_data_import/views.py AutoMatchDevicesView.post   17 0 0   100%
netbox_data_import/views.py _refused_row_write_response   3 0 0   100%
netbox_data_import/views.py SyncSingleRowView.post   48 1 0   98%
netbox_data_import/views.py UnlinkDeviceView.post   21 0 0   100%
netbox_data_import/views.py (no function)   403 0 0   100%
Total     9036 206 41   98%

No items found using the specified filter.