nautobot 2.4.0b1__py3-none-any.whl → 2.4.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -8
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/events.py +3 -3
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +2 -2
- nautobot/apps/utils.py +7 -7
- nautobot/apps/views.py +7 -7
- nautobot/circuits/api/serializers.py +1 -0
- nautobot/circuits/api/views.py +4 -8
- nautobot/circuits/tables.py +2 -1
- nautobot/circuits/templates/circuits/circuit_create.html +1 -7
- nautobot/circuits/tests/integration/test_circuits_bulk_operations.py +43 -0
- nautobot/circuits/tests/integration/test_relationships.py +1 -1
- nautobot/circuits/views.py +3 -3
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/models.py +1 -1
- nautobot/cloud/views.py +0 -16
- nautobot/core/api/constants.py +11 -0
- nautobot/core/api/fields.py +5 -5
- nautobot/core/api/filter_backends.py +3 -9
- nautobot/core/api/schema.py +13 -2
- nautobot/core/api/serializers.py +40 -34
- nautobot/core/api/views.py +56 -4
- nautobot/core/apps/__init__.py +0 -5
- nautobot/core/celery/log.py +4 -4
- nautobot/core/celery/schedulers.py +2 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/events/__init__.py +3 -3
- nautobot/core/filters.py +67 -35
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +14 -11
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +28 -7
- nautobot/core/jobs/bulk_actions.py +285 -0
- nautobot/core/jobs/cleanup.py +48 -12
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/models/__init__.py +3 -1
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +6 -3
- nautobot/core/settings.py +29 -2
- nautobot/core/settings.yaml +21 -0
- nautobot/core/tables.py +79 -61
- nautobot/core/templates/about.html +67 -0
- nautobot/core/templates/generic/object_bulk_destroy.html +1 -1
- nautobot/core/templates/inc/media.html +3 -0
- nautobot/core/templates/inc/nav_menu.html +1 -0
- nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
- nautobot/core/templates/inc/tenant_table_row.html +11 -0
- nautobot/core/templates/nautobot_config.py.j2 +13 -0
- nautobot/core/templates/search.html +7 -0
- nautobot/core/templates/utilities/render_jinja2.html +1 -1
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +7 -0
- nautobot/core/templatetags/helpers.py +11 -2
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +170 -15
- nautobot/core/testing/filters.py +45 -10
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/integration.py +514 -5
- nautobot/core/testing/mixins.py +7 -2
- nautobot/core/testing/views.py +44 -29
- nautobot/core/tests/integration/test_app_home.py +0 -1
- nautobot/core/tests/integration/test_app_navbar.py +0 -1
- nautobot/core/tests/integration/test_filters.py +0 -2
- nautobot/core/tests/integration/test_home.py +0 -1
- nautobot/core/tests/integration/test_navbar.py +0 -1
- nautobot/core/tests/integration/test_view_authentication.py +1 -0
- nautobot/core/tests/runner.py +1 -1
- nautobot/core/tests/test_api.py +98 -1
- nautobot/core/tests/test_csv.py +25 -3
- nautobot/core/tests/test_filters.py +209 -246
- nautobot/core/tests/test_forms.py +1 -0
- nautobot/core/tests/test_jobs.py +492 -1
- nautobot/core/tests/test_models.py +9 -0
- nautobot/core/tests/test_settings_schema.py +7 -0
- nautobot/core/tests/test_tables.py +100 -0
- nautobot/core/tests/test_utils.py +63 -1
- nautobot/core/tests/test_views.py +30 -3
- nautobot/core/ui/nav.py +1 -0
- nautobot/core/ui/object_detail.py +15 -1
- nautobot/core/urls.py +11 -0
- nautobot/core/utils/git.py +7 -2
- nautobot/core/utils/lookup.py +11 -8
- nautobot/core/utils/querysets.py +64 -0
- nautobot/core/utils/requests.py +24 -9
- nautobot/core/views/__init__.py +42 -0
- nautobot/core/views/generic.py +131 -197
- nautobot/core/views/mixins.py +136 -41
- nautobot/core/views/renderers.py +6 -6
- nautobot/core/views/utils.py +2 -2
- nautobot/dcim/api/serializers.py +56 -64
- nautobot/dcim/api/views.py +47 -113
- nautobot/dcim/constants.py +6 -13
- nautobot/dcim/factory.py +6 -1
- nautobot/dcim/filters/__init__.py +31 -2
- nautobot/dcim/forms.py +48 -17
- nautobot/dcim/graphql/types.py +2 -2
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
- nautobot/dcim/models/__init__.py +1 -1
- nautobot/dcim/models/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +22 -20
- nautobot/dcim/models/devices.py +10 -1
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +6 -5
- nautobot/dcim/models/racks.py +4 -4
- nautobot/dcim/tables/__init__.py +3 -3
- nautobot/dcim/tables/devices.py +9 -6
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/cable.html +1 -1
- nautobot/dcim/templates/dcim/controller_create.html +1 -7
- nautobot/dcim/templates/dcim/controller_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +2 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +5 -0
- nautobot/dcim/templates/dcim/device/base.html +1 -1
- nautobot/dcim/templates/dcim/device.html +3 -11
- nautobot/dcim/templates/dcim/device_component.html +1 -1
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/devicetype.html +1 -1
- nautobot/dcim/templates/dcim/location.html +2 -10
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/locationtype.html +1 -1
- nautobot/dcim/templates/dcim/locationtype_retrieve.html +1 -1
- nautobot/dcim/templates/dcim/manufacturer.html +1 -1
- nautobot/dcim/templates/dcim/platform.html +1 -1
- nautobot/dcim/templates/dcim/powerfeed.html +1 -1
- nautobot/dcim/templates/dcim/powerpanel.html +1 -1
- nautobot/dcim/templates/dcim/rack.html +2 -10
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackgroup.html +1 -1
- nautobot/dcim/templates/dcim/rackreservation.html +3 -11
- nautobot/dcim/templates/dcim/virtualchassis.html +1 -1
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +1 -7
- nautobot/dcim/tests/integration/test_controller.py +62 -0
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
- nautobot/dcim/tests/integration/test_device_bulk_operations.py +30 -0
- nautobot/dcim/tests/integration/test_location_bulk_operations.py +43 -0
- nautobot/dcim/tests/test_api.py +16 -5
- nautobot/dcim/tests/test_filters.py +33 -0
- nautobot/dcim/tests/test_forms.py +51 -2
- nautobot/dcim/tests/test_graphql.py +52 -0
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +52 -9
- nautobot/dcim/tests/test_views.py +30 -84
- nautobot/dcim/views.py +13 -28
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +123 -85
- nautobot/extras/api/views.py +33 -30
- nautobot/extras/constants.py +3 -0
- nautobot/extras/datasources/git.py +125 -0
- nautobot/extras/filters/__init__.py +8 -6
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +139 -31
- nautobot/extras/forms/mixins.py +14 -6
- nautobot/extras/group_sync.py +3 -3
- nautobot/extras/health_checks.py +1 -2
- nautobot/extras/jobs.py +85 -18
- nautobot/extras/managers.py +3 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
- nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
- nautobot/extras/migrations/0122_add_graphqlquery_owner_content_type.py +34 -0
- nautobot/extras/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +41 -23
- nautobot/extras/models/datasources.py +85 -0
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +23 -4
- nautobot/extras/models/models.py +17 -2
- nautobot/extras/models/relationships.py +17 -5
- nautobot/extras/plugins/__init__.py +13 -2
- nautobot/extras/plugins/marketplace_manifest.yml +84 -79
- nautobot/extras/plugins/tables.py +16 -14
- nautobot/extras/plugins/views.py +65 -69
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/signals.py +15 -1
- nautobot/extras/tables.py +7 -5
- nautobot/extras/templates/extras/computedfield.html +1 -1
- nautobot/extras/templates/extras/configcontext.html +1 -1
- nautobot/extras/templates/extras/configcontextschema.html +1 -1
- nautobot/extras/templates/extras/customfield.html +1 -1
- nautobot/extras/templates/extras/customlink.html +1 -1
- nautobot/extras/templates/extras/dynamicgroup.html +2 -10
- nautobot/extras/templates/extras/exporttemplate.html +1 -1
- nautobot/extras/templates/extras/gitrepository.html +1 -1
- nautobot/extras/templates/extras/graphqlquery.html +1 -1
- nautobot/extras/templates/extras/job_detail.html +17 -1
- nautobot/extras/templates/extras/job_edit.html +1 -0
- nautobot/extras/templates/extras/jobbutton_retrieve.html +1 -1
- nautobot/extras/templates/extras/jobhook.html +1 -1
- nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
- nautobot/extras/templates/extras/jobresult.html +1 -1
- nautobot/extras/templates/extras/marketplace.html +29 -11
- nautobot/extras/templates/extras/objectchange.html +1 -1
- nautobot/extras/templates/extras/plugin_detail.html +33 -16
- nautobot/extras/templates/extras/plugins_tiles.html +21 -10
- nautobot/extras/templates/extras/relationship.html +1 -63
- nautobot/extras/templates/extras/role_retrieve.html +1 -1
- nautobot/extras/templates/extras/scheduledjob.html +1 -1
- nautobot/extras/templates/extras/secret.html +1 -1
- nautobot/extras/templates/extras/secretsgroup.html +1 -1
- nautobot/extras/templates/extras/status.html +1 -1
- nautobot/extras/templates/extras/tag.html +1 -1
- nautobot/extras/templates/extras/webhook.html +1 -1
- nautobot/extras/templatetags/job_buttons.py +4 -4
- nautobot/extras/test_jobs/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_interfaces.gql +8 -0
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_names.gql +5 -0
- nautobot/extras/tests/git_data/02-invalid-files/graphql_queries/bad_device_names.gql +5 -0
- nautobot/extras/tests/git_helper.py +9 -1
- nautobot/extras/tests/integration/__init__.py +29 -16
- nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +19 -13
- nautobot/extras/tests/test_customfields.py +50 -52
- nautobot/extras/tests/test_datasources.py +29 -1
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +6 -6
- nautobot/extras/tests/test_forms.py +33 -1
- nautobot/extras/tests/test_jobs.py +178 -32
- nautobot/extras/tests/test_models.py +299 -10
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +120 -9
- nautobot/extras/tests/test_utils.py +22 -1
- nautobot/extras/tests/test_views.py +56 -194
- nautobot/extras/utils.py +20 -10
- nautobot/extras/views.py +85 -110
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +41 -33
- nautobot/ipam/api/views.py +68 -117
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +3 -2
- nautobot/ipam/lookups.py +101 -62
- nautobot/ipam/models.py +74 -18
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +25 -9
- nautobot/ipam/templates/ipam/ipaddress.html +2 -10
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
- nautobot/ipam/templates/ipam/prefix.html +2 -10
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/rir.html +1 -1
- nautobot/ipam/templates/ipam/routetarget.html +1 -1
- nautobot/ipam/templates/ipam/service.html +1 -1
- nautobot/ipam/templates/ipam/vlan.html +2 -10
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- nautobot/ipam/templates/ipam/vlangroup.html +1 -1
- nautobot/ipam/templates/ipam/vrf.html +1 -1
- nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
- nautobot/ipam/tests/test_api.py +436 -3
- nautobot/ipam/tests/test_forms.py +49 -47
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +119 -34
- nautobot/ipam/tests/test_querysets.py +63 -1
- nautobot/ipam/tests/test_utils.py +41 -2
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/utils/__init__.py +54 -17
- nautobot/ipam/views.py +61 -87
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/docs/404.html +131 -14
- nautobot/project-static/docs/apps/index.html +131 -14
- nautobot/project-static/docs/apps/nautobot-apps.html +132 -16
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.60a45f97.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.60a45f97.min.js.map} +2 -2
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js → search.f8cc74c7.min.js} +1 -1
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js.map → search.f8cc74c7.min.js.map} +1 -1
- nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css → main.a40c8224.min.css} +1 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +147 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +459 -132
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +175 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +180 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +138 -16
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +137 -15
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +164 -27
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +187 -38
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +193 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +216 -48
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +324 -75
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +666 -175
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +194 -46
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +538 -177
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +578 -221
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +145 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +156 -25
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +492 -65
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +705 -215
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +943 -422
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +619 -200
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +474 -159
- nautobot/project-static/docs/development/apps/api/configuration-view.html +131 -14
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/global-search.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/graphql.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +153 -17
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +131 -14
- nautobot/project-static/docs/development/apps/api/prometheus.html +131 -14
- nautobot/project-static/docs/development/apps/api/setup.html +131 -14
- nautobot/project-static/docs/development/apps/api/testing.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/base-template.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/notes.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +137 -16
- nautobot/project-static/docs/development/apps/api/views/urls.html +131 -14
- nautobot/project-static/docs/development/apps/index.html +131 -14
- nautobot/project-static/docs/development/apps/migration/code-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/from-v1.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +135 -18
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +297 -25
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +131 -14
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +131 -14
- nautobot/project-static/docs/development/core/application-registry.html +131 -14
- nautobot/project-static/docs/development/core/best-practices.html +131 -14
- nautobot/project-static/docs/development/core/bootstrap-ui.html +131 -14
- nautobot/project-static/docs/development/core/caching.html +131 -14
- nautobot/project-static/docs/development/core/controllers.html +131 -14
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +158 -84
- nautobot/project-static/docs/development/core/generic-views.html +131 -14
- nautobot/project-static/docs/development/core/getting-started.html +334 -234
- nautobot/project-static/docs/development/core/homepage.html +134 -17
- nautobot/project-static/docs/development/core/index.html +131 -14
- nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9829 -0
- nautobot/project-static/docs/development/core/model-checklist.html +141 -22
- nautobot/project-static/docs/development/core/model-features.html +131 -14
- nautobot/project-static/docs/development/core/natural-keys.html +131 -14
- nautobot/project-static/docs/development/core/navigation-menu.html +131 -14
- nautobot/project-static/docs/development/core/release-checklist.html +134 -17
- nautobot/project-static/docs/development/core/role-internals.html +131 -14
- nautobot/project-static/docs/development/core/settings.html +131 -14
- nautobot/project-static/docs/development/core/style-guide.html +134 -17
- nautobot/project-static/docs/development/core/templates.html +132 -15
- nautobot/project-static/docs/development/core/testing.html +131 -14
- nautobot/project-static/docs/development/core/ui-component-framework.html +454 -283
- nautobot/project-static/docs/development/core/user-preferences.html +131 -14
- nautobot/project-static/docs/development/index.html +131 -14
- nautobot/project-static/docs/development/jobs/index.html +301 -132
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +131 -14
- nautobot/project-static/docs/index.html +139 -33
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +132 -17
- nautobot/project-static/docs/overview/design_philosophy.html +131 -14
- nautobot/project-static/docs/release-notes/index.html +137 -22
- nautobot/project-static/docs/release-notes/version-1.0.html +319 -203
- nautobot/project-static/docs/release-notes/version-1.1.html +316 -200
- nautobot/project-static/docs/release-notes/version-1.2.html +391 -275
- nautobot/project-static/docs/release-notes/version-1.3.html +417 -301
- nautobot/project-static/docs/release-notes/version-1.4.html +502 -387
- nautobot/project-static/docs/release-notes/version-1.5.html +690 -576
- nautobot/project-static/docs/release-notes/version-1.6.html +989 -457
- nautobot/project-static/docs/release-notes/version-2.0.html +613 -499
- nautobot/project-static/docs/release-notes/version-2.1.html +448 -334
- nautobot/project-static/docs/release-notes/version-2.2.html +441 -327
- nautobot/project-static/docs/release-notes/version-2.3.html +1171 -451
- nautobot/project-static/docs/release-notes/version-2.4.html +800 -111
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +303 -287
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +133 -16
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +195 -18
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +134 -17
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +133 -16
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +151 -18
- nautobot/project-static/docs/user-guide/administration/installation/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +132 -15
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/services.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +131 -14
- nautobot/project-static/docs/user-guide/administration/security/index.html +9420 -0
- nautobot/project-static/docs/user-guide/administration/security/notices.html +9843 -0
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +131 -14
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +134 -18
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +135 -22
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +134 -17
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +134 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +236 -34
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +134 -17
- nautobot/project-static/docs/{development/core/local-k8s.html → user-guide/feature-guides/wireless-networks-and-controllers.html} +632 -566
- nautobot/project-static/docs/user-guide/index.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +135 -18
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +451 -16
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +135 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +134 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9797 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +132 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +179 -35
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +159 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +131 -14
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +9 -13
- nautobot/tenancy/templates/tenancy/tenant.html +1 -2
- nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
- nautobot/tenancy/views.py +4 -2
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +5 -4
- nautobot/users/api/views.py +3 -3
- nautobot/virtualization/api/serializers.py +4 -4
- nautobot/virtualization/api/views.py +5 -24
- nautobot/virtualization/filters.py +20 -3
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster.html +1 -1
- nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/clustergroup.html +1 -1
- nautobot/virtualization/templates/virtualization/clustertype.html +1 -1
- nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -10
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- nautobot/virtualization/templates/virtualization/vminterface.html +1 -1
- nautobot/virtualization/tests/test_filters.py +17 -0
- nautobot/wireless/filters.py +2 -2
- nautobot/wireless/forms.py +1 -1
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +1 -9
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
- nautobot/wireless/tests/test_filters.py +29 -1
- nautobot/wireless/tests/test_views.py +22 -1
- nautobot/wireless/views.py +0 -10
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/METADATA +9 -9
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/RECORD +667 -610
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- /nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css.map → main.a40c8224.min.css.map} +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.50">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
<link rel="stylesheet" href="../../../assets/stylesheets/main.
|
|
29
|
+
<link rel="stylesheet" href="../../../assets/stylesheets/main.a40c8224.min.css">
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
41
|
+
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1"/></svg>');}</style>
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
218
218
|
<div class="md-source__icon md-icon">
|
|
219
219
|
|
|
220
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
220
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
221
221
|
</div>
|
|
222
222
|
<div class="md-source__repository">
|
|
223
223
|
GitHub
|
|
@@ -377,7 +377,7 @@
|
|
|
377
377
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
378
378
|
<div class="md-source__icon md-icon">
|
|
379
379
|
|
|
380
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
380
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
381
381
|
</div>
|
|
382
382
|
<div class="md-source__repository">
|
|
383
383
|
GitHub
|
|
@@ -1697,6 +1697,81 @@
|
|
|
1697
1697
|
|
|
1698
1698
|
|
|
1699
1699
|
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
|
|
1717
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_7" >
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
|
|
1721
|
+
<div class="md-nav__link md-nav__container">
|
|
1722
|
+
<a href="../../../user-guide/administration/security/index.html" class="md-nav__link ">
|
|
1723
|
+
|
|
1724
|
+
|
|
1725
|
+
<span class="md-ellipsis">
|
|
1726
|
+
Security
|
|
1727
|
+
</span>
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
</a>
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
<label class="md-nav__link " for="__nav_2_1_7" id="__nav_2_1_7_label" tabindex="0">
|
|
1734
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1735
|
+
</label>
|
|
1736
|
+
|
|
1737
|
+
</div>
|
|
1738
|
+
|
|
1739
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_7_label" aria-expanded="false">
|
|
1740
|
+
<label class="md-nav__title" for="__nav_2_1_7">
|
|
1741
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1742
|
+
Security
|
|
1743
|
+
</label>
|
|
1744
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
|
|
1751
|
+
|
|
1752
|
+
<li class="md-nav__item">
|
|
1753
|
+
<a href="../../../user-guide/administration/security/notices.html" class="md-nav__link">
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
<span class="md-ellipsis">
|
|
1757
|
+
Notices
|
|
1758
|
+
</span>
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
</a>
|
|
1762
|
+
</li>
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
</ul>
|
|
1768
|
+
</nav>
|
|
1769
|
+
|
|
1770
|
+
</li>
|
|
1771
|
+
|
|
1772
|
+
|
|
1773
|
+
|
|
1774
|
+
|
|
1700
1775
|
</ul>
|
|
1701
1776
|
</nav>
|
|
1702
1777
|
|
|
@@ -2112,6 +2187,27 @@
|
|
|
2112
2187
|
|
|
2113
2188
|
|
|
2114
2189
|
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
|
|
2196
|
+
<li class="md-nav__item">
|
|
2197
|
+
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
<span class="md-ellipsis">
|
|
2201
|
+
Wireless Networks and Controllers
|
|
2202
|
+
</span>
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
</a>
|
|
2206
|
+
</li>
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
|
|
2115
2211
|
</ul>
|
|
2116
2212
|
</nav>
|
|
2117
2213
|
|
|
@@ -5131,6 +5227,27 @@
|
|
|
5131
5227
|
|
|
5132
5228
|
|
|
5133
5229
|
|
|
5230
|
+
<li class="md-nav__item">
|
|
5231
|
+
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5232
|
+
|
|
5233
|
+
|
|
5234
|
+
<span class="md-ellipsis">
|
|
5235
|
+
Kubernetes Job Support
|
|
5236
|
+
</span>
|
|
5237
|
+
|
|
5238
|
+
|
|
5239
|
+
</a>
|
|
5240
|
+
</li>
|
|
5241
|
+
|
|
5242
|
+
|
|
5243
|
+
|
|
5244
|
+
|
|
5245
|
+
|
|
5246
|
+
|
|
5247
|
+
|
|
5248
|
+
|
|
5249
|
+
|
|
5250
|
+
|
|
5134
5251
|
<li class="md-nav__item">
|
|
5135
5252
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5136
5253
|
|
|
@@ -7326,6 +7443,15 @@
|
|
|
7326
7443
|
</span>
|
|
7327
7444
|
</a>
|
|
7328
7445
|
|
|
7446
|
+
</li>
|
|
7447
|
+
|
|
7448
|
+
<li class="md-nav__item">
|
|
7449
|
+
<a href="#nautobot.apps.testing.APITestCase.get_m2m_fields" class="md-nav__link">
|
|
7450
|
+
<span class="md-ellipsis">
|
|
7451
|
+
get_m2m_fields
|
|
7452
|
+
</span>
|
|
7453
|
+
</a>
|
|
7454
|
+
|
|
7329
7455
|
</li>
|
|
7330
7456
|
|
|
7331
7457
|
<li class="md-nav__item">
|
|
@@ -7828,6 +7954,15 @@
|
|
|
7828
7954
|
</span>
|
|
7829
7955
|
</a>
|
|
7830
7956
|
|
|
7957
|
+
</li>
|
|
7958
|
+
|
|
7959
|
+
<li class="md-nav__item">
|
|
7960
|
+
<a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="md-nav__link">
|
|
7961
|
+
<span class="md-ellipsis">
|
|
7962
|
+
test_id
|
|
7963
|
+
</span>
|
|
7964
|
+
</a>
|
|
7965
|
+
|
|
7831
7966
|
</li>
|
|
7832
7967
|
|
|
7833
7968
|
<li class="md-nav__item">
|
|
@@ -8334,6 +8469,15 @@
|
|
|
8334
8469
|
</span>
|
|
8335
8470
|
</a>
|
|
8336
8471
|
|
|
8472
|
+
</li>
|
|
8473
|
+
|
|
8474
|
+
<li class="md-nav__item">
|
|
8475
|
+
<a href="#nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="md-nav__link">
|
|
8476
|
+
<span class="md-ellipsis">
|
|
8477
|
+
fill_filters_select2_field
|
|
8478
|
+
</span>
|
|
8479
|
+
</a>
|
|
8480
|
+
|
|
8337
8481
|
</li>
|
|
8338
8482
|
|
|
8339
8483
|
<li class="md-nav__item">
|
|
@@ -9547,11 +9691,11 @@
|
|
|
9547
9691
|
|
|
9548
9692
|
|
|
9549
9693
|
<li class="md-nav__item">
|
|
9550
|
-
<a href="../../../development/core/
|
|
9694
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
9551
9695
|
|
|
9552
9696
|
|
|
9553
9697
|
<span class="md-ellipsis">
|
|
9554
|
-
|
|
9698
|
+
Minikube Dev Environment for K8s Jobs
|
|
9555
9699
|
</span>
|
|
9556
9700
|
|
|
9557
9701
|
|
|
@@ -10484,6 +10628,15 @@
|
|
|
10484
10628
|
</span>
|
|
10485
10629
|
</a>
|
|
10486
10630
|
|
|
10631
|
+
</li>
|
|
10632
|
+
|
|
10633
|
+
<li class="md-nav__item">
|
|
10634
|
+
<a href="#nautobot.apps.testing.APITestCase.get_m2m_fields" class="md-nav__link">
|
|
10635
|
+
<span class="md-ellipsis">
|
|
10636
|
+
get_m2m_fields
|
|
10637
|
+
</span>
|
|
10638
|
+
</a>
|
|
10639
|
+
|
|
10487
10640
|
</li>
|
|
10488
10641
|
|
|
10489
10642
|
<li class="md-nav__item">
|
|
@@ -10986,6 +11139,15 @@
|
|
|
10986
11139
|
</span>
|
|
10987
11140
|
</a>
|
|
10988
11141
|
|
|
11142
|
+
</li>
|
|
11143
|
+
|
|
11144
|
+
<li class="md-nav__item">
|
|
11145
|
+
<a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="md-nav__link">
|
|
11146
|
+
<span class="md-ellipsis">
|
|
11147
|
+
test_id
|
|
11148
|
+
</span>
|
|
11149
|
+
</a>
|
|
11150
|
+
|
|
10989
11151
|
</li>
|
|
10990
11152
|
|
|
10991
11153
|
<li class="md-nav__item">
|
|
@@ -11492,6 +11654,15 @@
|
|
|
11492
11654
|
</span>
|
|
11493
11655
|
</a>
|
|
11494
11656
|
|
|
11657
|
+
</li>
|
|
11658
|
+
|
|
11659
|
+
<li class="md-nav__item">
|
|
11660
|
+
<a href="#nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="md-nav__link">
|
|
11661
|
+
<span class="md-ellipsis">
|
|
11662
|
+
fill_filters_select2_field
|
|
11663
|
+
</span>
|
|
11664
|
+
</a>
|
|
11665
|
+
|
|
11495
11666
|
</li>
|
|
11496
11667
|
|
|
11497
11668
|
<li class="md-nav__item">
|
|
@@ -11940,7 +12111,12 @@
|
|
|
11940
12111
|
|
|
11941
12112
|
<div class="doc doc-contents first">
|
|
11942
12113
|
|
|
11943
|
-
|
|
12114
|
+
<p>Utilities for apps to implement test automation.</p>
|
|
12115
|
+
|
|
12116
|
+
|
|
12117
|
+
|
|
12118
|
+
|
|
12119
|
+
|
|
11944
12120
|
|
|
11945
12121
|
|
|
11946
12122
|
|
|
@@ -11966,15 +12142,20 @@
|
|
|
11966
12142
|
|
|
11967
12143
|
<div class="doc doc-contents ">
|
|
11968
12144
|
<p class="doc doc-class-bases">
|
|
11969
|
-
Bases: <code><
|
|
12145
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelTestCase" href="#nautobot.apps.testing.ModelTestCase">ModelTestCase</a></code></p>
|
|
11970
12146
|
|
|
11971
12147
|
|
|
11972
|
-
|
|
12148
|
+
<p>Base test case for API requests.</p>
|
|
11973
12149
|
<p>api_version: Specific API version to test. Leave unset to test the default behavior. Override with set_api_version()</p>
|
|
11974
12150
|
|
|
11975
12151
|
|
|
11976
12152
|
|
|
11977
12153
|
|
|
12154
|
+
|
|
12155
|
+
|
|
12156
|
+
|
|
12157
|
+
|
|
12158
|
+
|
|
11978
12159
|
<div class="doc doc-children">
|
|
11979
12160
|
|
|
11980
12161
|
|
|
@@ -11996,7 +12177,7 @@
|
|
|
11996
12177
|
|
|
11997
12178
|
<div class="doc doc-contents ">
|
|
11998
12179
|
|
|
11999
|
-
|
|
12180
|
+
<p>Check an API response for content that should not be exposed in the API.</p>
|
|
12000
12181
|
<p>If a specific API has a false failure here (maybe it has security-related strings as model flags or something?),
|
|
12001
12182
|
its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
12002
12183
|
|
|
@@ -12007,6 +12188,23 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12007
12188
|
<div class="doc doc-object doc-function">
|
|
12008
12189
|
|
|
12009
12190
|
|
|
12191
|
+
<h3 id="nautobot.apps.testing.APITestCase.get_m2m_fields" class="doc doc-heading">
|
|
12192
|
+
<code class="highlight language-python"><span class="n">get_m2m_fields</span><span class="p">()</span></code>
|
|
12193
|
+
|
|
12194
|
+
<a href="#nautobot.apps.testing.APITestCase.get_m2m_fields" class="headerlink" title="Permanent link">¶</a></h3>
|
|
12195
|
+
|
|
12196
|
+
|
|
12197
|
+
<div class="doc doc-contents ">
|
|
12198
|
+
|
|
12199
|
+
<p>Get serializer field names that are many-to-many or one-to-many and thus affected by ?exclude_m2m=true.</p>
|
|
12200
|
+
|
|
12201
|
+
</div>
|
|
12202
|
+
|
|
12203
|
+
</div>
|
|
12204
|
+
|
|
12205
|
+
<div class="doc doc-object doc-function">
|
|
12206
|
+
|
|
12207
|
+
|
|
12010
12208
|
<h3 id="nautobot.apps.testing.APITestCase.setUp" class="doc doc-heading">
|
|
12011
12209
|
<code class="highlight language-python"><span class="n">setUp</span><span class="p">()</span></code>
|
|
12012
12210
|
|
|
@@ -12015,7 +12213,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12015
12213
|
|
|
12016
12214
|
<div class="doc doc-contents ">
|
|
12017
12215
|
|
|
12018
|
-
|
|
12216
|
+
<p>Create a token for API calls.</p>
|
|
12019
12217
|
|
|
12020
12218
|
</div>
|
|
12021
12219
|
|
|
@@ -12032,7 +12230,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12032
12230
|
|
|
12033
12231
|
<div class="doc doc-contents ">
|
|
12034
12232
|
|
|
12035
|
-
|
|
12233
|
+
<p>Set or unset a specific API version for requests in this test case.</p>
|
|
12036
12234
|
|
|
12037
12235
|
</div>
|
|
12038
12236
|
|
|
@@ -12059,7 +12257,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12059
12257
|
|
|
12060
12258
|
<div class="doc doc-contents ">
|
|
12061
12259
|
<p class="doc doc-class-bases">
|
|
12062
|
-
Bases: <code><
|
|
12260
|
+
Bases: <code><span title="rest_framework.test.APITransactionTestCase">APITransactionTestCase</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.mixins.NautobotTestCaseMixin" href="#nautobot.apps.testing.NautobotTestCaseMixin">NautobotTestCaseMixin</a></code></p>
|
|
12261
|
+
|
|
12262
|
+
|
|
12263
|
+
|
|
12264
|
+
|
|
12265
|
+
|
|
12063
12266
|
|
|
12064
12267
|
|
|
12065
12268
|
|
|
@@ -12086,7 +12289,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12086
12289
|
|
|
12087
12290
|
<div class="doc doc-contents ">
|
|
12088
12291
|
|
|
12089
|
-
|
|
12292
|
+
<p>Create a superuser and token for API calls.</p>
|
|
12090
12293
|
|
|
12091
12294
|
</div>
|
|
12092
12295
|
|
|
@@ -12117,6 +12320,11 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12117
12320
|
|
|
12118
12321
|
|
|
12119
12322
|
|
|
12323
|
+
|
|
12324
|
+
|
|
12325
|
+
|
|
12326
|
+
|
|
12327
|
+
|
|
12120
12328
|
<div class="doc doc-children">
|
|
12121
12329
|
|
|
12122
12330
|
|
|
@@ -12139,7 +12347,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12139
12347
|
|
|
12140
12348
|
<div class="doc doc-contents ">
|
|
12141
12349
|
<p class="doc doc-class-bases">
|
|
12142
|
-
Bases: <code><
|
|
12350
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12351
|
+
|
|
12352
|
+
|
|
12353
|
+
|
|
12354
|
+
|
|
12355
|
+
|
|
12143
12356
|
|
|
12144
12357
|
|
|
12145
12358
|
|
|
@@ -12166,7 +12379,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12166
12379
|
|
|
12167
12380
|
<div class="doc doc-contents ">
|
|
12168
12381
|
|
|
12169
|
-
|
|
12382
|
+
<p>POST a set of objects in a single request.</p>
|
|
12170
12383
|
|
|
12171
12384
|
</div>
|
|
12172
12385
|
|
|
@@ -12183,7 +12396,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12183
12396
|
|
|
12184
12397
|
<div class="doc doc-contents ">
|
|
12185
12398
|
|
|
12186
|
-
|
|
12399
|
+
<p>POST a single object with permission.</p>
|
|
12187
12400
|
|
|
12188
12401
|
</div>
|
|
12189
12402
|
|
|
@@ -12200,7 +12413,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12200
12413
|
|
|
12201
12414
|
<div class="doc doc-contents ">
|
|
12202
12415
|
|
|
12203
|
-
|
|
12416
|
+
<p>POST a single object without permission.</p>
|
|
12204
12417
|
|
|
12205
12418
|
</div>
|
|
12206
12419
|
|
|
@@ -12217,7 +12430,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12217
12430
|
|
|
12218
12431
|
<div class="doc doc-contents ">
|
|
12219
12432
|
|
|
12220
|
-
|
|
12433
|
+
<p>CSV export an object, delete it, and recreate it via CSV import.</p>
|
|
12221
12434
|
|
|
12222
12435
|
</div>
|
|
12223
12436
|
|
|
@@ -12244,7 +12457,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12244
12457
|
|
|
12245
12458
|
<div class="doc doc-contents ">
|
|
12246
12459
|
<p class="doc doc-class-bases">
|
|
12247
|
-
Bases: <code><
|
|
12460
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12461
|
+
|
|
12462
|
+
|
|
12463
|
+
|
|
12464
|
+
|
|
12465
|
+
|
|
12248
12466
|
|
|
12249
12467
|
|
|
12250
12468
|
|
|
@@ -12271,7 +12489,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12271
12489
|
|
|
12272
12490
|
<div class="doc doc-contents ">
|
|
12273
12491
|
|
|
12274
|
-
|
|
12492
|
+
<p>Get an instance that can be deleted.</p>
|
|
12275
12493
|
<p>For some models this may just be any random object, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
12276
12494
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
12277
12495
|
|
|
@@ -12290,7 +12508,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12290
12508
|
|
|
12291
12509
|
<div class="doc doc-contents ">
|
|
12292
12510
|
|
|
12293
|
-
|
|
12511
|
+
<p>Get a list of PKs corresponding to objects that can be safely bulk-deleted.</p>
|
|
12294
12512
|
<p>For some models this may just be any random objects, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
12295
12513
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
12296
12514
|
|
|
@@ -12309,7 +12527,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12309
12527
|
|
|
12310
12528
|
<div class="doc doc-contents ">
|
|
12311
12529
|
|
|
12312
|
-
|
|
12530
|
+
<p>DELETE a set of objects in a single request.</p>
|
|
12313
12531
|
|
|
12314
12532
|
</div>
|
|
12315
12533
|
|
|
@@ -12326,7 +12544,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12326
12544
|
|
|
12327
12545
|
<div class="doc doc-contents ">
|
|
12328
12546
|
|
|
12329
|
-
|
|
12547
|
+
<p>DELETE a single object identified by its primary key.</p>
|
|
12330
12548
|
|
|
12331
12549
|
</div>
|
|
12332
12550
|
|
|
@@ -12343,7 +12561,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12343
12561
|
|
|
12344
12562
|
<div class="doc doc-contents ">
|
|
12345
12563
|
|
|
12346
|
-
|
|
12564
|
+
<p>DELETE a single object without permission.</p>
|
|
12347
12565
|
|
|
12348
12566
|
</div>
|
|
12349
12567
|
|
|
@@ -12370,7 +12588,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12370
12588
|
|
|
12371
12589
|
<div class="doc doc-contents ">
|
|
12372
12590
|
<p class="doc doc-class-bases">
|
|
12373
|
-
Bases: <code><
|
|
12591
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12592
|
+
|
|
12593
|
+
|
|
12594
|
+
|
|
12595
|
+
|
|
12596
|
+
|
|
12374
12597
|
|
|
12375
12598
|
|
|
12376
12599
|
|
|
@@ -12397,7 +12620,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12397
12620
|
|
|
12398
12621
|
<div class="doc doc-contents ">
|
|
12399
12622
|
|
|
12400
|
-
|
|
12623
|
+
<p>GET a single object as an authenticated user with permission to view the object.</p>
|
|
12401
12624
|
|
|
12402
12625
|
</div>
|
|
12403
12626
|
|
|
@@ -12414,7 +12637,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12414
12637
|
|
|
12415
12638
|
<div class="doc doc-contents ">
|
|
12416
12639
|
|
|
12417
|
-
|
|
12640
|
+
<p>GET a single object as an unauthenticated user.</p>
|
|
12418
12641
|
|
|
12419
12642
|
</div>
|
|
12420
12643
|
|
|
@@ -12431,7 +12654,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12431
12654
|
|
|
12432
12655
|
<div class="doc doc-contents ">
|
|
12433
12656
|
|
|
12434
|
-
|
|
12657
|
+
<p>GET a single object as an authenticated user without the required permission.</p>
|
|
12435
12658
|
|
|
12436
12659
|
</div>
|
|
12437
12660
|
|
|
@@ -12448,7 +12671,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12448
12671
|
|
|
12449
12672
|
<div class="doc doc-contents ">
|
|
12450
12673
|
|
|
12451
|
-
|
|
12674
|
+
<p>Make an OPTIONS request for a single object.</p>
|
|
12452
12675
|
|
|
12453
12676
|
</div>
|
|
12454
12677
|
|
|
@@ -12475,7 +12698,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12475
12698
|
|
|
12476
12699
|
<div class="doc doc-contents ">
|
|
12477
12700
|
<p class="doc doc-class-bases">
|
|
12478
|
-
Bases: <code><
|
|
12701
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12702
|
+
|
|
12703
|
+
|
|
12704
|
+
|
|
12705
|
+
|
|
12706
|
+
|
|
12479
12707
|
|
|
12480
12708
|
|
|
12481
12709
|
|
|
@@ -12502,7 +12730,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12502
12730
|
|
|
12503
12731
|
<div class="doc doc-contents ">
|
|
12504
12732
|
|
|
12505
|
-
|
|
12733
|
+
<p>Get a list of model fields that could be tested with the ?depth query parameter</p>
|
|
12506
12734
|
|
|
12507
12735
|
</div>
|
|
12508
12736
|
|
|
@@ -12519,7 +12747,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12519
12747
|
|
|
12520
12748
|
<div class="doc doc-contents ">
|
|
12521
12749
|
|
|
12522
|
-
|
|
12750
|
+
<p>GET a list of objects as an authenticated user with permission to view the objects.</p>
|
|
12523
12751
|
|
|
12524
12752
|
</div>
|
|
12525
12753
|
|
|
@@ -12536,7 +12764,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12536
12764
|
|
|
12537
12765
|
<div class="doc doc-contents ">
|
|
12538
12766
|
|
|
12539
|
-
|
|
12767
|
+
<p>GET a list of objects as an unauthenticated user.</p>
|
|
12540
12768
|
|
|
12541
12769
|
</div>
|
|
12542
12770
|
|
|
@@ -12553,7 +12781,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12553
12781
|
|
|
12554
12782
|
<div class="doc doc-contents ">
|
|
12555
12783
|
|
|
12556
|
-
|
|
12784
|
+
<p>GET a list of objects in CSV format as an authenticated user with permission to view some objects.</p>
|
|
12557
12785
|
|
|
12558
12786
|
</div>
|
|
12559
12787
|
|
|
@@ -12570,7 +12798,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12570
12798
|
|
|
12571
12799
|
<div class="doc doc-contents ">
|
|
12572
12800
|
|
|
12573
|
-
|
|
12801
|
+
<p>GET a list of objects using the "?depth=0" parameter.</p>
|
|
12574
12802
|
|
|
12575
12803
|
</div>
|
|
12576
12804
|
|
|
@@ -12587,7 +12815,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12587
12815
|
|
|
12588
12816
|
<div class="doc doc-contents ">
|
|
12589
12817
|
|
|
12590
|
-
|
|
12818
|
+
<p>GET a list of objects using the "?depth=1" parameter.</p>
|
|
12591
12819
|
|
|
12592
12820
|
</div>
|
|
12593
12821
|
|
|
@@ -12604,7 +12832,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12604
12832
|
|
|
12605
12833
|
<div class="doc doc-contents ">
|
|
12606
12834
|
|
|
12607
|
-
|
|
12835
|
+
<p>GET a list of objects filtered by ID.</p>
|
|
12608
12836
|
|
|
12609
12837
|
</div>
|
|
12610
12838
|
|
|
@@ -12621,7 +12849,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12621
12849
|
|
|
12622
12850
|
<div class="doc doc-contents ">
|
|
12623
12851
|
|
|
12624
|
-
|
|
12852
|
+
<p>GET a list of objects with an unknown filter parameter and no strict filtering, expect it to be ignored.</p>
|
|
12625
12853
|
|
|
12626
12854
|
</div>
|
|
12627
12855
|
|
|
@@ -12638,7 +12866,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12638
12866
|
|
|
12639
12867
|
<div class="doc doc-contents ">
|
|
12640
12868
|
|
|
12641
|
-
|
|
12869
|
+
<p>GET a list of objects with an unknown filter parameter and strict filtering, expect a 400 response.</p>
|
|
12642
12870
|
|
|
12643
12871
|
</div>
|
|
12644
12872
|
|
|
@@ -12655,7 +12883,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12655
12883
|
|
|
12656
12884
|
<div class="doc doc-contents ">
|
|
12657
12885
|
|
|
12658
|
-
|
|
12886
|
+
<p>GET a list of objects as an authenticated user without the required permission.</p>
|
|
12659
12887
|
|
|
12660
12888
|
</div>
|
|
12661
12889
|
|
|
@@ -12672,7 +12900,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12672
12900
|
|
|
12673
12901
|
<div class="doc doc-contents ">
|
|
12674
12902
|
|
|
12675
|
-
|
|
12903
|
+
<p>Make an OPTIONS request for a list endpoint.</p>
|
|
12676
12904
|
|
|
12677
12905
|
</div>
|
|
12678
12906
|
|
|
@@ -12699,10 +12927,15 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12699
12927
|
|
|
12700
12928
|
<div class="doc doc-contents ">
|
|
12701
12929
|
<p class="doc doc-class-bases">
|
|
12702
|
-
Bases: <code><
|
|
12930
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12931
|
+
|
|
12932
|
+
|
|
12933
|
+
<p>Validate Notes URL on objects that have the Note model Mixin.</p>
|
|
12934
|
+
|
|
12935
|
+
|
|
12936
|
+
|
|
12703
12937
|
|
|
12704
12938
|
|
|
12705
|
-
<p>Validate Notes URL on objects that have the Note model Mixin.</p>
|
|
12706
12939
|
|
|
12707
12940
|
|
|
12708
12941
|
|
|
@@ -12739,7 +12972,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12739
12972
|
<div class="doc doc-contents ">
|
|
12740
12973
|
|
|
12741
12974
|
|
|
12742
|
-
|
|
12975
|
+
<p>Test <code>?depth=2</code> query parameter for TreeModel</p>
|
|
12976
|
+
|
|
12977
|
+
|
|
12978
|
+
|
|
12979
|
+
|
|
12980
|
+
|
|
12743
12981
|
|
|
12744
12982
|
|
|
12745
12983
|
|
|
@@ -12765,7 +13003,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12765
13003
|
|
|
12766
13004
|
<div class="doc doc-contents ">
|
|
12767
13005
|
|
|
12768
|
-
|
|
13006
|
+
<p>GET a list of objects using the "?depth=2" parameter.
|
|
12769
13007
|
TreeModel Only</p>
|
|
12770
13008
|
|
|
12771
13009
|
</div>
|
|
@@ -12793,7 +13031,12 @@ TreeModel Only</p>
|
|
|
12793
13031
|
|
|
12794
13032
|
<div class="doc doc-contents ">
|
|
12795
13033
|
<p class="doc doc-class-bases">
|
|
12796
|
-
Bases: <code><
|
|
13034
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
13035
|
+
|
|
13036
|
+
|
|
13037
|
+
|
|
13038
|
+
|
|
13039
|
+
|
|
12797
13040
|
|
|
12798
13041
|
|
|
12799
13042
|
|
|
@@ -12820,7 +13063,7 @@ TreeModel Only</p>
|
|
|
12820
13063
|
|
|
12821
13064
|
<div class="doc doc-contents ">
|
|
12822
13065
|
|
|
12823
|
-
|
|
13066
|
+
<p>PATCH a set of objects in a single request.</p>
|
|
12824
13067
|
|
|
12825
13068
|
</div>
|
|
12826
13069
|
|
|
@@ -12837,7 +13080,7 @@ TreeModel Only</p>
|
|
|
12837
13080
|
|
|
12838
13081
|
<div class="doc doc-contents ">
|
|
12839
13082
|
|
|
12840
|
-
|
|
13083
|
+
<p>GET and then PUT an object and verify that it's accepted and unchanged.</p>
|
|
12841
13084
|
|
|
12842
13085
|
</div>
|
|
12843
13086
|
|
|
@@ -12854,7 +13097,7 @@ TreeModel Only</p>
|
|
|
12854
13097
|
|
|
12855
13098
|
<div class="doc doc-contents ">
|
|
12856
13099
|
|
|
12857
|
-
|
|
13100
|
+
<p>Make an OPTIONS request for a list endpoint and validate choices match expected choices for serializer.</p>
|
|
12858
13101
|
|
|
12859
13102
|
</div>
|
|
12860
13103
|
|
|
@@ -12871,7 +13114,7 @@ TreeModel Only</p>
|
|
|
12871
13114
|
|
|
12872
13115
|
<div class="doc doc-contents ">
|
|
12873
13116
|
|
|
12874
|
-
|
|
13117
|
+
<p>PATCH a single object identified by its ID.</p>
|
|
12875
13118
|
|
|
12876
13119
|
</div>
|
|
12877
13120
|
|
|
@@ -12888,7 +13131,7 @@ TreeModel Only</p>
|
|
|
12888
13131
|
|
|
12889
13132
|
<div class="doc doc-contents ">
|
|
12890
13133
|
|
|
12891
|
-
|
|
13134
|
+
<p>PATCH a single object without permission.</p>
|
|
12892
13135
|
|
|
12893
13136
|
</div>
|
|
12894
13137
|
|
|
@@ -12928,6 +13171,11 @@ TreeModel Only</p>
|
|
|
12928
13171
|
|
|
12929
13172
|
|
|
12930
13173
|
|
|
13174
|
+
|
|
13175
|
+
|
|
13176
|
+
|
|
13177
|
+
|
|
13178
|
+
|
|
12931
13179
|
<div class="doc doc-children">
|
|
12932
13180
|
|
|
12933
13181
|
|
|
@@ -12950,10 +13198,15 @@ TreeModel Only</p>
|
|
|
12950
13198
|
|
|
12951
13199
|
<div class="doc doc-contents ">
|
|
12952
13200
|
<p class="doc doc-class-bases">
|
|
12953
|
-
Bases: <code><
|
|
13201
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
13202
|
+
|
|
13203
|
+
|
|
13204
|
+
<p>Base class for testing of FilterSets.</p>
|
|
13205
|
+
|
|
13206
|
+
|
|
13207
|
+
|
|
12954
13208
|
|
|
12955
13209
|
|
|
12956
|
-
<p>Base class for testing of FilterSets.</p>
|
|
12957
13210
|
|
|
12958
13211
|
|
|
12959
13212
|
|
|
@@ -12979,7 +13232,7 @@ TreeModel Only</p>
|
|
|
12979
13232
|
|
|
12980
13233
|
<div class="doc doc-contents ">
|
|
12981
13234
|
|
|
12982
|
-
|
|
13235
|
+
<p>Returns a list of distinct values from the requested queryset field to use in filterset tests.</p>
|
|
12983
13236
|
<p>Returns a list for use in testing multiple choice filters. The size of the returned list is random
|
|
12984
13237
|
but will contain at minimum 2 unique values. The list of values will match at least 2 instances when
|
|
12985
13238
|
passed to the queryset's filter(field_name__in=[]) method but will fail to match at least one instance.</p>
|
|
@@ -12997,9 +13250,11 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
12997
13250
|
</thead>
|
|
12998
13251
|
<tbody>
|
|
12999
13252
|
<tr class="doc-section-item">
|
|
13000
|
-
<td><code>field_name</code></td>
|
|
13001
13253
|
<td>
|
|
13002
|
-
|
|
13254
|
+
<code>field_name</code>
|
|
13255
|
+
</td>
|
|
13256
|
+
<td>
|
|
13257
|
+
<code>str</code>
|
|
13003
13258
|
</td>
|
|
13004
13259
|
<td>
|
|
13005
13260
|
<div class="doc-md-description">
|
|
@@ -13011,9 +13266,11 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
13011
13266
|
</td>
|
|
13012
13267
|
</tr>
|
|
13013
13268
|
<tr class="doc-section-item">
|
|
13014
|
-
<td><code>queryset</code></td>
|
|
13015
13269
|
<td>
|
|
13016
|
-
|
|
13270
|
+
<code>queryset</code>
|
|
13271
|
+
</td>
|
|
13272
|
+
<td>
|
|
13273
|
+
<code><span title="django.db.models.QuerySet">QuerySet</span></code>
|
|
13017
13274
|
</td>
|
|
13018
13275
|
<td>
|
|
13019
13276
|
<div class="doc-md-description">
|
|
@@ -13039,7 +13296,7 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
13039
13296
|
<tbody>
|
|
13040
13297
|
<tr class="doc-section-item">
|
|
13041
13298
|
<td>
|
|
13042
|
-
<code
|
|
13299
|
+
<code>list</code>
|
|
13043
13300
|
</td>
|
|
13044
13301
|
<td>
|
|
13045
13302
|
<div class="doc-md-description">
|
|
@@ -13062,7 +13319,7 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
13062
13319
|
<tbody>
|
|
13063
13320
|
<tr class="doc-section-item">
|
|
13064
13321
|
<td>
|
|
13065
|
-
<code
|
|
13322
|
+
<code>ValueError</code>
|
|
13066
13323
|
</td>
|
|
13067
13324
|
<td>
|
|
13068
13325
|
<div class="doc-md-description">
|
|
@@ -13099,10 +13356,15 @@ to filter the queryset to a subset of the total instances.</p>
|
|
|
13099
13356
|
|
|
13100
13357
|
<div class="doc doc-contents ">
|
|
13101
13358
|
<p class="doc doc-class-bases">
|
|
13102
|
-
Bases: <code><
|
|
13359
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.filters.FilterTestCases.BaseFilterTestCase" href="#nautobot.apps.testing.FilterTestCases.BaseFilterTestCase">BaseFilterTestCase</a></code></p>
|
|
13360
|
+
|
|
13361
|
+
|
|
13362
|
+
<p>Add common tests for all FilterSets.</p>
|
|
13363
|
+
|
|
13364
|
+
|
|
13365
|
+
|
|
13103
13366
|
|
|
13104
13367
|
|
|
13105
|
-
<p>Add common tests for all FilterSets.</p>
|
|
13106
13368
|
|
|
13107
13369
|
|
|
13108
13370
|
|
|
@@ -13128,7 +13390,7 @@ to filter the queryset to a subset of the total instances.</p>
|
|
|
13128
13390
|
|
|
13129
13391
|
<div class="doc doc-contents ">
|
|
13130
13392
|
|
|
13131
|
-
|
|
13393
|
+
<p>Helper method to return q filter.</p>
|
|
13132
13394
|
|
|
13133
13395
|
</div>
|
|
13134
13396
|
|
|
@@ -13145,7 +13407,7 @@ to filter the queryset to a subset of the total instances.</p>
|
|
|
13145
13407
|
|
|
13146
13408
|
<div class="doc doc-contents ">
|
|
13147
13409
|
|
|
13148
|
-
|
|
13410
|
+
<p>Test all <code>RelatedMembershipBooleanFilter</code> filters found in <code>self.filterset.get_filters()</code>
|
|
13149
13411
|
except for the ones with custom filter logic defined in its <code>method</code> attribute.</p>
|
|
13150
13412
|
<p>This test asserts that <code>filter=True</code> matches <code>self.queryset.filter(field__isnull=False)</code> and
|
|
13151
13413
|
that <code>filter=False</code> matches <code>self.queryset.filter(field__isnull=True)</code>.</p>
|
|
@@ -13165,7 +13427,7 @@ that <code>filter=False</code> matches <code>self.queryset.filter(field__isnull=
|
|
|
13165
13427
|
|
|
13166
13428
|
<div class="doc doc-contents ">
|
|
13167
13429
|
|
|
13168
|
-
|
|
13430
|
+
<p>Test all multiple choice filters declared in <code>self.generic_filter_tests</code>.</p>
|
|
13169
13431
|
<p>This test uses <code>get_filterset_test_values()</code> to retrieve a valid set of test data and asserts
|
|
13170
13432
|
that the filterset filter output matches the corresponding queryset filter.
|
|
13171
13433
|
The majority of Nautobot filters use conjoined=False, so the extra logic to support conjoined=True has not
|
|
@@ -13193,6 +13455,23 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13193
13455
|
<div class="doc doc-object doc-function">
|
|
13194
13456
|
|
|
13195
13457
|
|
|
13458
|
+
<h4 id="nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="doc doc-heading">
|
|
13459
|
+
<code class="highlight language-python"><span class="n">test_id</span><span class="p">()</span></code>
|
|
13460
|
+
|
|
13461
|
+
<a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="headerlink" title="Permanent link">¶</a></h4>
|
|
13462
|
+
|
|
13463
|
+
|
|
13464
|
+
<div class="doc doc-contents ">
|
|
13465
|
+
|
|
13466
|
+
<p>Verify that the filterset supports filtering by id with only lookup <code>__n</code>.</p>
|
|
13467
|
+
|
|
13468
|
+
</div>
|
|
13469
|
+
|
|
13470
|
+
</div>
|
|
13471
|
+
|
|
13472
|
+
<div class="doc doc-object doc-function">
|
|
13473
|
+
|
|
13474
|
+
|
|
13196
13475
|
<h4 id="nautobot.apps.testing.FilterTestCases.FilterTestCase.test_invalid_filter" class="doc doc-heading">
|
|
13197
13476
|
<code class="highlight language-python"><span class="n">test_invalid_filter</span><span class="p">()</span></code>
|
|
13198
13477
|
|
|
@@ -13201,7 +13480,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13201
13480
|
|
|
13202
13481
|
<div class="doc doc-contents ">
|
|
13203
13482
|
|
|
13204
|
-
|
|
13483
|
+
<p>Verify that the filterset reports as invalid when initialized with an unsupported filter parameter.</p>
|
|
13205
13484
|
|
|
13206
13485
|
</div>
|
|
13207
13486
|
|
|
@@ -13218,7 +13497,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13218
13497
|
|
|
13219
13498
|
<div class="doc doc-contents ">
|
|
13220
13499
|
|
|
13221
|
-
|
|
13500
|
+
<p>Test the <code>q</code> filter based on attributes in <code>filter_predicates</code>.</p>
|
|
13222
13501
|
|
|
13223
13502
|
</div>
|
|
13224
13503
|
|
|
@@ -13235,7 +13514,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13235
13514
|
|
|
13236
13515
|
<div class="doc doc-contents ">
|
|
13237
13516
|
|
|
13238
|
-
|
|
13517
|
+
<p>Test the <code>tags</code> filter which should be present on all PrimaryModel filtersets.</p>
|
|
13239
13518
|
|
|
13240
13519
|
</div>
|
|
13241
13520
|
|
|
@@ -13262,10 +13541,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13262
13541
|
|
|
13263
13542
|
<div class="doc doc-contents ">
|
|
13264
13543
|
<p class="doc doc-class-bases">
|
|
13265
|
-
Bases: <code><
|
|
13544
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.filters.FilterTestCases.FilterTestCase" href="#nautobot.apps.testing.FilterTestCases.FilterTestCase">FilterTestCase</a></code></p>
|
|
13545
|
+
|
|
13546
|
+
|
|
13547
|
+
<p>Add simple tests for filtering by name.</p>
|
|
13548
|
+
|
|
13549
|
+
|
|
13550
|
+
|
|
13266
13551
|
|
|
13267
13552
|
|
|
13268
|
-
<p>Add simple tests for filtering by name.</p>
|
|
13269
13553
|
|
|
13270
13554
|
|
|
13271
13555
|
|
|
@@ -13301,10 +13585,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13301
13585
|
|
|
13302
13586
|
<div class="doc doc-contents ">
|
|
13303
13587
|
<p class="doc doc-class-bases">
|
|
13304
|
-
Bases: <code><
|
|
13588
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.filters.FilterTestCases.FilterTestCase" href="#nautobot.apps.testing.FilterTestCases.FilterTestCase">FilterTestCase</a></code></p>
|
|
13589
|
+
|
|
13590
|
+
|
|
13591
|
+
<p>Add simple tests for filtering by name and by slug.</p>
|
|
13592
|
+
|
|
13593
|
+
|
|
13594
|
+
|
|
13305
13595
|
|
|
13306
13596
|
|
|
13307
|
-
<p>Add simple tests for filtering by name and by slug.</p>
|
|
13308
13597
|
|
|
13309
13598
|
|
|
13310
13599
|
|
|
@@ -13340,10 +13629,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13340
13629
|
|
|
13341
13630
|
<div class="doc doc-contents ">
|
|
13342
13631
|
<p class="doc doc-class-bases">
|
|
13343
|
-
Bases: <code><
|
|
13632
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
13633
|
+
|
|
13634
|
+
|
|
13635
|
+
<p>Add test cases for tenant and tenant-group filters.</p>
|
|
13636
|
+
|
|
13637
|
+
|
|
13638
|
+
|
|
13344
13639
|
|
|
13345
13640
|
|
|
13346
|
-
<p>Add test cases for tenant and tenant-group filters.</p>
|
|
13347
13641
|
|
|
13348
13642
|
|
|
13349
13643
|
|
|
@@ -13392,6 +13686,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13392
13686
|
|
|
13393
13687
|
|
|
13394
13688
|
|
|
13689
|
+
|
|
13690
|
+
|
|
13691
|
+
|
|
13692
|
+
|
|
13693
|
+
|
|
13395
13694
|
<div class="doc doc-children">
|
|
13396
13695
|
|
|
13397
13696
|
|
|
@@ -13414,10 +13713,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13414
13713
|
|
|
13415
13714
|
<div class="doc doc-contents ">
|
|
13416
13715
|
<p class="doc doc-class-bases">
|
|
13417
|
-
Bases: <code><
|
|
13716
|
+
Bases: <code><span title="django.test.TestCase">TestCase</span></code></p>
|
|
13717
|
+
|
|
13718
|
+
|
|
13719
|
+
<p>Base class for generic form tests.</p>
|
|
13720
|
+
|
|
13721
|
+
|
|
13722
|
+
|
|
13418
13723
|
|
|
13419
13724
|
|
|
13420
|
-
<p>Base class for generic form tests.</p>
|
|
13421
13725
|
|
|
13422
13726
|
|
|
13423
13727
|
|
|
@@ -13462,10 +13766,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13462
13766
|
|
|
13463
13767
|
<div class="doc doc-contents ">
|
|
13464
13768
|
<p class="doc doc-class-bases">
|
|
13465
|
-
Bases: <code><
|
|
13769
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
13770
|
+
|
|
13771
|
+
|
|
13772
|
+
<p>Parent class for TestCases which deal with models.</p>
|
|
13773
|
+
|
|
13774
|
+
|
|
13775
|
+
|
|
13466
13776
|
|
|
13467
13777
|
|
|
13468
|
-
<p>Parent class for TestCases which deal with models.</p>
|
|
13469
13778
|
|
|
13470
13779
|
|
|
13471
13780
|
|
|
@@ -13505,6 +13814,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13505
13814
|
|
|
13506
13815
|
|
|
13507
13816
|
|
|
13817
|
+
|
|
13818
|
+
|
|
13819
|
+
|
|
13820
|
+
|
|
13821
|
+
|
|
13508
13822
|
<div class="doc doc-children">
|
|
13509
13823
|
|
|
13510
13824
|
|
|
@@ -13527,10 +13841,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13527
13841
|
|
|
13528
13842
|
<div class="doc doc-contents ">
|
|
13529
13843
|
<p class="doc doc-class-bases">
|
|
13530
|
-
Bases: <code><
|
|
13844
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.mixins.NautobotTestCaseMixin" href="#nautobot.apps.testing.NautobotTestCaseMixin">NautobotTestCaseMixin</a></code>, <code><span title="django.test.TestCase">TestCase</span></code></p>
|
|
13845
|
+
|
|
13846
|
+
|
|
13847
|
+
<p>Base class for generic model tests.</p>
|
|
13848
|
+
|
|
13849
|
+
|
|
13850
|
+
|
|
13531
13851
|
|
|
13532
13852
|
|
|
13533
|
-
<p>Base class for generic model tests.</p>
|
|
13534
13853
|
|
|
13535
13854
|
|
|
13536
13855
|
|
|
@@ -13556,7 +13875,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13556
13875
|
|
|
13557
13876
|
<div class="doc doc-contents ">
|
|
13558
13877
|
|
|
13559
|
-
|
|
13878
|
+
<p>Check that <code>composite_key</code> and filtering by <code>composite_key</code> both work.</p>
|
|
13560
13879
|
|
|
13561
13880
|
</div>
|
|
13562
13881
|
|
|
@@ -13573,7 +13892,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13573
13892
|
|
|
13574
13893
|
<div class="doc doc-contents ">
|
|
13575
13894
|
|
|
13576
|
-
|
|
13895
|
+
<p>For dynamic-group capable models, check that they work as intended.</p>
|
|
13577
13896
|
|
|
13578
13897
|
</div>
|
|
13579
13898
|
|
|
@@ -13590,7 +13909,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13590
13909
|
|
|
13591
13910
|
<div class="doc doc-contents ">
|
|
13592
13911
|
|
|
13593
|
-
|
|
13912
|
+
<p>Check that <code>get_docs_url()</code> returns a valid static file path for this model.</p>
|
|
13594
13913
|
|
|
13595
13914
|
</div>
|
|
13596
13915
|
|
|
@@ -13607,7 +13926,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13607
13926
|
|
|
13608
13927
|
<div class="doc doc-contents ">
|
|
13609
13928
|
|
|
13610
|
-
|
|
13929
|
+
<p>Check that <code>natural_key()</code> and <code>get_by_natural_key()</code> work reciprocally.</p>
|
|
13611
13930
|
|
|
13612
13931
|
</div>
|
|
13613
13932
|
|
|
@@ -13643,10 +13962,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13643
13962
|
|
|
13644
13963
|
<div class="doc doc-contents ">
|
|
13645
13964
|
<p class="doc doc-class-bases">
|
|
13646
|
-
Bases: <code><
|
|
13965
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelTestCase" href="#nautobot.apps.testing.ModelTestCase">ModelTestCase</a></code></p>
|
|
13966
|
+
|
|
13967
|
+
|
|
13968
|
+
<p>Base TestCase for model views. Subclass to test individual views.</p>
|
|
13969
|
+
|
|
13970
|
+
|
|
13971
|
+
|
|
13647
13972
|
|
|
13648
13973
|
|
|
13649
|
-
<p>Base TestCase for model views. Subclass to test individual views.</p>
|
|
13650
13974
|
|
|
13651
13975
|
|
|
13652
13976
|
|
|
@@ -13676,7 +14000,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13676
14000
|
|
|
13677
14001
|
<div class="doc doc-contents ">
|
|
13678
14002
|
|
|
13679
|
-
|
|
14003
|
+
<p>Name of instance field to pass as a kwarg when looking up URLs for creating/editing/deleting a model instance.</p>
|
|
13680
14004
|
<p>If unspecified, "pk" and "slug" will be tried, in that order.</p>
|
|
13681
14005
|
</div>
|
|
13682
14006
|
|
|
@@ -13705,7 +14029,12 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13705
14029
|
|
|
13706
14030
|
<div class="doc doc-contents ">
|
|
13707
14031
|
<p class="doc doc-class-bases">
|
|
13708
|
-
Bases: <code><
|
|
14032
|
+
Bases: <code><span title="django.test.TestCase">TestCase</span></code></p>
|
|
14033
|
+
|
|
14034
|
+
|
|
14035
|
+
|
|
14036
|
+
|
|
14037
|
+
|
|
13709
14038
|
|
|
13710
14039
|
|
|
13711
14040
|
|
|
@@ -13732,7 +14061,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13732
14061
|
|
|
13733
14062
|
<div class="doc doc-contents ">
|
|
13734
14063
|
|
|
13735
|
-
|
|
14064
|
+
<p>Populate your Nautobot data before migrating from the first migration to the second</p>
|
|
13736
14065
|
|
|
13737
14066
|
</div>
|
|
13738
14067
|
|
|
@@ -13760,7 +14089,12 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13760
14089
|
<div class="doc doc-contents ">
|
|
13761
14090
|
|
|
13762
14091
|
|
|
13763
|
-
|
|
14092
|
+
<p>Base class for all Nautobot-specific unit tests.</p>
|
|
14093
|
+
|
|
14094
|
+
|
|
14095
|
+
|
|
14096
|
+
|
|
14097
|
+
|
|
13764
14098
|
|
|
13765
14099
|
|
|
13766
14100
|
|
|
@@ -13786,7 +14120,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13786
14120
|
|
|
13787
14121
|
<div class="doc doc-contents ">
|
|
13788
14122
|
|
|
13789
|
-
|
|
14123
|
+
<p>Get the absolute API URL ("http://nautobot.example.com/api/...") for a given object.</p>
|
|
13790
14124
|
|
|
13791
14125
|
</div>
|
|
13792
14126
|
|
|
@@ -13796,14 +14130,21 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13796
14130
|
|
|
13797
14131
|
|
|
13798
14132
|
<h3 id="nautobot.apps.testing.NautobotTestCaseMixin.add_permissions" class="doc doc-heading">
|
|
13799
|
-
<code class="highlight language-python"><span class="n">add_permissions</span><span class="p">(</span><span class="o">*</span><span class="n">names</span><span class="p">)</span></code>
|
|
14133
|
+
<code class="highlight language-python"><span class="n">add_permissions</span><span class="p">(</span><span class="o">*</span><span class="n">names</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
|
|
13800
14134
|
|
|
13801
14135
|
<a href="#nautobot.apps.testing.NautobotTestCaseMixin.add_permissions" class="headerlink" title="Permanent link">¶</a></h3>
|
|
13802
14136
|
|
|
13803
14137
|
|
|
13804
14138
|
<div class="doc doc-contents ">
|
|
13805
14139
|
|
|
13806
|
-
|
|
14140
|
+
<p>Assign a set of permissions to the test user. Accepts permission names in the form <app>.<action>_<model>.
|
|
14141
|
+
Additional keyword arguments will be passed to the ObjectPermission constructor to allow creating more detailed permissions.</p>
|
|
14142
|
+
|
|
14143
|
+
|
|
14144
|
+
<p><span class="doc-section-title">Examples:</span></p>
|
|
14145
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="gp">>>> </span><span class="n">add_permissions</span><span class="p">(</span><span class="s2">"ipam.add_vlangroup"</span><span class="p">,</span> <span class="s2">"ipam.view_vlangroup"</span><span class="p">)</span>
|
|
14146
|
+
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="gp">>>> </span><span class="n">add_permissions</span><span class="p">(</span><span class="s2">"ipam.add_vlangroup"</span><span class="p">,</span> <span class="s2">"ipam.view_vlangroup"</span><span class="p">,</span> <span class="n">constraints</span><span class="o">=</span><span class="p">{</span><span class="s2">"pk"</span><span class="p">:</span> <span class="s2">"uuid-1234"</span><span class="p">})</span>
|
|
14147
|
+
</code></pre></div>
|
|
13807
14148
|
|
|
13808
14149
|
</div>
|
|
13809
14150
|
|
|
@@ -13820,7 +14161,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13820
14161
|
|
|
13821
14162
|
<div class="doc doc-contents ">
|
|
13822
14163
|
|
|
13823
|
-
|
|
14164
|
+
<p>Like assertNumQueries, but fuzzier. Assert that the number of queries falls within an acceptable range.</p>
|
|
13824
14165
|
|
|
13825
14166
|
</div>
|
|
13826
14167
|
|
|
@@ -13837,7 +14178,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13837
14178
|
|
|
13838
14179
|
<div class="doc doc-contents ">
|
|
13839
14180
|
|
|
13840
|
-
|
|
14181
|
+
<p>Like Django's <code>assertContains</code>, but uses <code>extract_page_body</code> utility function to scope the check more narrowly.</p>
|
|
13841
14182
|
|
|
13842
14183
|
|
|
13843
14184
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -13852,9 +14193,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13852
14193
|
</thead>
|
|
13853
14194
|
<tbody>
|
|
13854
14195
|
<tr class="doc-section-item">
|
|
13855
|
-
<td><code>response</code></td>
|
|
13856
14196
|
<td>
|
|
13857
|
-
|
|
14197
|
+
<code>response</code>
|
|
14198
|
+
</td>
|
|
14199
|
+
<td>
|
|
14200
|
+
<code>HttpResponse</code>
|
|
13858
14201
|
</td>
|
|
13859
14202
|
<td>
|
|
13860
14203
|
<div class="doc-md-description">
|
|
@@ -13866,9 +14209,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13866
14209
|
</td>
|
|
13867
14210
|
</tr>
|
|
13868
14211
|
<tr class="doc-section-item">
|
|
13869
|
-
<td><code>text</code></td>
|
|
13870
14212
|
<td>
|
|
13871
|
-
|
|
14213
|
+
<code>text</code>
|
|
14214
|
+
</td>
|
|
14215
|
+
<td>
|
|
14216
|
+
<code>str</code>
|
|
13872
14217
|
</td>
|
|
13873
14218
|
<td>
|
|
13874
14219
|
<div class="doc-md-description">
|
|
@@ -13880,9 +14225,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13880
14225
|
</td>
|
|
13881
14226
|
</tr>
|
|
13882
14227
|
<tr class="doc-section-item">
|
|
13883
|
-
<td><code>count</code></td>
|
|
13884
14228
|
<td>
|
|
13885
|
-
|
|
14229
|
+
<code>count</code>
|
|
14230
|
+
</td>
|
|
14231
|
+
<td>
|
|
14232
|
+
<code>int</code>
|
|
13886
14233
|
</td>
|
|
13887
14234
|
<td>
|
|
13888
14235
|
<div class="doc-md-description">
|
|
@@ -13895,9 +14242,11 @@ it's present at all.</p>
|
|
|
13895
14242
|
</td>
|
|
13896
14243
|
</tr>
|
|
13897
14244
|
<tr class="doc-section-item">
|
|
13898
|
-
<td><code>status_code</code></td>
|
|
13899
14245
|
<td>
|
|
13900
|
-
|
|
14246
|
+
<code>status_code</code>
|
|
14247
|
+
</td>
|
|
14248
|
+
<td>
|
|
14249
|
+
<code>int</code>
|
|
13901
14250
|
</td>
|
|
13902
14251
|
<td>
|
|
13903
14252
|
<div class="doc-md-description">
|
|
@@ -13909,9 +14258,11 @@ it's present at all.</p>
|
|
|
13909
14258
|
</td>
|
|
13910
14259
|
</tr>
|
|
13911
14260
|
<tr class="doc-section-item">
|
|
13912
|
-
<td><code>html</code></td>
|
|
13913
14261
|
<td>
|
|
13914
|
-
|
|
14262
|
+
<code>html</code>
|
|
14263
|
+
</td>
|
|
14264
|
+
<td>
|
|
14265
|
+
<code>bool</code>
|
|
13915
14266
|
</td>
|
|
13916
14267
|
<td>
|
|
13917
14268
|
<div class="doc-md-description">
|
|
@@ -13940,7 +14291,7 @@ it's present at all.</p>
|
|
|
13940
14291
|
|
|
13941
14292
|
<div class="doc doc-contents ">
|
|
13942
14293
|
|
|
13943
|
-
|
|
14294
|
+
<p>TestCase method. Provide more detail in the event of an unexpected HTTP response.</p>
|
|
13944
14295
|
|
|
13945
14296
|
</div>
|
|
13946
14297
|
|
|
@@ -13957,7 +14308,7 @@ it's present at all.</p>
|
|
|
13957
14308
|
|
|
13958
14309
|
<div class="doc doc-contents ">
|
|
13959
14310
|
|
|
13960
|
-
|
|
14311
|
+
<p>Compare a model instance to a dictionary, checking that its attribute values match those specified
|
|
13961
14312
|
in the dictionary.</p>
|
|
13962
14313
|
<p>:param instance: Python object instance
|
|
13963
14314
|
:param data: Dictionary of test data used to define the instance
|
|
@@ -13979,7 +14330,7 @@ in the dictionary.</p>
|
|
|
13979
14330
|
|
|
13980
14331
|
<div class="doc doc-contents ">
|
|
13981
14332
|
|
|
13982
|
-
|
|
14333
|
+
<p>Wrapper for assertQuerysetEqual with additional logic to assert input queryset and values are not empty</p>
|
|
13983
14334
|
|
|
13984
14335
|
</div>
|
|
13985
14336
|
|
|
@@ -14000,7 +14351,7 @@ in the dictionary.</p>
|
|
|
14000
14351
|
|
|
14001
14352
|
<div class="doc doc-contents ">
|
|
14002
14353
|
|
|
14003
|
-
|
|
14354
|
+
<p>Create and return a Tag instance for each name given.</p>
|
|
14004
14355
|
<p>DEPRECATED: use TagFactory instead.</p>
|
|
14005
14356
|
|
|
14006
14357
|
</div>
|
|
@@ -14018,7 +14369,7 @@ in the dictionary.</p>
|
|
|
14018
14369
|
|
|
14019
14370
|
<div class="doc doc-contents ">
|
|
14020
14371
|
|
|
14021
|
-
|
|
14372
|
+
<p>Return a dictionary representation of an instance.</p>
|
|
14022
14373
|
|
|
14023
14374
|
</div>
|
|
14024
14375
|
|
|
@@ -14035,7 +14386,7 @@ in the dictionary.</p>
|
|
|
14035
14386
|
|
|
14036
14387
|
<div class="doc doc-contents ">
|
|
14037
14388
|
|
|
14038
|
-
|
|
14389
|
+
<p>Test cases can override this method to perform any necessary manipulation of an instance prior to its evaluation
|
|
14039
14390
|
against test data. For example, it can be used to decrypt a Secret's plaintext attribute.</p>
|
|
14040
14391
|
|
|
14041
14392
|
</div>
|
|
@@ -14053,7 +14404,7 @@ against test data. For example, it can be used to decrypt a Secret's plaintext a
|
|
|
14053
14404
|
|
|
14054
14405
|
<div class="doc doc-contents ">
|
|
14055
14406
|
|
|
14056
|
-
|
|
14407
|
+
<p>Setup shared testuser, statuses and client.</p>
|
|
14057
14408
|
|
|
14058
14409
|
</div>
|
|
14059
14410
|
|
|
@@ -14070,7 +14421,7 @@ against test data. For example, it can be used to decrypt a Secret's plaintext a
|
|
|
14070
14421
|
|
|
14071
14422
|
<div class="doc doc-contents ">
|
|
14072
14423
|
|
|
14073
|
-
|
|
14424
|
+
<p>Clear cache after each test case.</p>
|
|
14074
14425
|
<p>In theory this shouldn't be necessary as our cache <strong>should</strong> appropriately update and clear itself when
|
|
14075
14426
|
data changes occur, but in practice we've seen issues here. Best guess at present is that it's due to
|
|
14076
14427
|
<code>TransactionTestCase</code> truncating the database, which presumably doesn't trigger the relevant Django signals
|
|
@@ -14102,15 +14453,20 @@ that would otherwise refresh the cache appropriately.</p>
|
|
|
14102
14453
|
|
|
14103
14454
|
<div class="doc doc-contents ">
|
|
14104
14455
|
<p class="doc doc-class-bases">
|
|
14105
|
-
Bases: <code><
|
|
14456
|
+
Bases: <code><span title="rest_framework.test.APIClient">APIClient</span></code></p>
|
|
14106
14457
|
|
|
14107
14458
|
|
|
14108
|
-
|
|
14459
|
+
<p>Base client class for Nautobot testing.</p>
|
|
14109
14460
|
<p>DO NOT USE THIS IN PRODUCTION NAUTOBOT CODE.</p>
|
|
14110
14461
|
|
|
14111
14462
|
|
|
14112
14463
|
|
|
14113
14464
|
|
|
14465
|
+
|
|
14466
|
+
|
|
14467
|
+
|
|
14468
|
+
|
|
14469
|
+
|
|
14114
14470
|
<div class="doc doc-children">
|
|
14115
14471
|
|
|
14116
14472
|
|
|
@@ -14132,7 +14488,7 @@ that would otherwise refresh the cache appropriately.</p>
|
|
|
14132
14488
|
|
|
14133
14489
|
<div class="doc doc-contents ">
|
|
14134
14490
|
|
|
14135
|
-
|
|
14491
|
+
<p>Default the SERVER_NAME to "nautobot.example.com" rather than Django's default "testserver".</p>
|
|
14136
14492
|
<p>This matches the ALLOWED_HOSTS set in nautobot/core/tests/nautobot_config.py and
|
|
14137
14493
|
helps to protect us against issues like https://github.com/nautobot/nautobot/issues/3065.</p>
|
|
14138
14494
|
|
|
@@ -14165,6 +14521,11 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14165
14521
|
|
|
14166
14522
|
|
|
14167
14523
|
|
|
14524
|
+
|
|
14525
|
+
|
|
14526
|
+
|
|
14527
|
+
|
|
14528
|
+
|
|
14168
14529
|
<div class="doc doc-children">
|
|
14169
14530
|
|
|
14170
14531
|
|
|
@@ -14187,10 +14548,15 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14187
14548
|
|
|
14188
14549
|
<div class="doc doc-contents ">
|
|
14189
14550
|
<p class="doc doc-class-bases">
|
|
14190
|
-
Bases: <code><
|
|
14551
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
14552
|
+
|
|
14553
|
+
|
|
14554
|
+
<p>Base class for testing of the OpenAPI schema.</p>
|
|
14555
|
+
|
|
14556
|
+
|
|
14557
|
+
|
|
14191
14558
|
|
|
14192
14559
|
|
|
14193
|
-
<p>Base class for testing of the OpenAPI schema.</p>
|
|
14194
14560
|
|
|
14195
14561
|
|
|
14196
14562
|
|
|
@@ -14216,7 +14582,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14216
14582
|
|
|
14217
14583
|
<div class="doc doc-contents ">
|
|
14218
14584
|
|
|
14219
|
-
|
|
14585
|
+
<p>Test method to assert that this polymorphic component has the expected permitted types.</p>
|
|
14220
14586
|
|
|
14221
14587
|
</div>
|
|
14222
14588
|
|
|
@@ -14233,7 +14599,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14233
14599
|
|
|
14234
14600
|
<div class="doc doc-contents ">
|
|
14235
14601
|
|
|
14236
|
-
|
|
14602
|
+
<p>Test method to assert that the given component property is marked as non-nullable.</p>
|
|
14237
14603
|
|
|
14238
14604
|
</div>
|
|
14239
14605
|
|
|
@@ -14250,7 +14616,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14250
14616
|
|
|
14251
14617
|
<div class="doc doc-contents ">
|
|
14252
14618
|
|
|
14253
|
-
|
|
14619
|
+
<p>Test method to assert that the given component property is not marked as read-only.</p>
|
|
14254
14620
|
|
|
14255
14621
|
</div>
|
|
14256
14622
|
|
|
@@ -14267,7 +14633,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14267
14633
|
|
|
14268
14634
|
<div class="doc doc-contents ">
|
|
14269
14635
|
|
|
14270
|
-
|
|
14636
|
+
<p>Test method to assert that the given component property is marked as nullable.</p>
|
|
14271
14637
|
|
|
14272
14638
|
</div>
|
|
14273
14639
|
|
|
@@ -14284,7 +14650,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14284
14650
|
|
|
14285
14651
|
<div class="doc doc-contents ">
|
|
14286
14652
|
|
|
14287
|
-
|
|
14653
|
+
<p>Test method to assert that the given component property is marked as read-only.</p>
|
|
14288
14654
|
|
|
14289
14655
|
</div>
|
|
14290
14656
|
|
|
@@ -14301,7 +14667,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14301
14667
|
|
|
14302
14668
|
<div class="doc doc-contents ">
|
|
14303
14669
|
|
|
14304
|
-
|
|
14670
|
+
<p>Helper method to pull a specific component schema from the larger OpenAPI schema already loaded.</p>
|
|
14305
14671
|
|
|
14306
14672
|
</div>
|
|
14307
14673
|
|
|
@@ -14318,7 +14684,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14318
14684
|
|
|
14319
14685
|
<div class="doc doc-contents ">
|
|
14320
14686
|
|
|
14321
|
-
|
|
14687
|
+
<p>Helper method to identify a component referenced by the given property of the current component.</p>
|
|
14322
14688
|
|
|
14323
14689
|
</div>
|
|
14324
14690
|
|
|
@@ -14335,7 +14701,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14335
14701
|
|
|
14336
14702
|
<div class="doc doc-contents ">
|
|
14337
14703
|
|
|
14338
|
-
|
|
14704
|
+
<p>Helper method to pull a specific property schema from a larger component schema already extracted.</p>
|
|
14339
14705
|
|
|
14340
14706
|
</div>
|
|
14341
14707
|
|
|
@@ -14352,7 +14718,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14352
14718
|
|
|
14353
14719
|
<div class="doc doc-contents ">
|
|
14354
14720
|
|
|
14355
|
-
|
|
14721
|
+
<p>Bringing it all together.</p>
|
|
14356
14722
|
<p>This validates the schema to show that:
|
|
14357
14723
|
- The component exists and has such a property
|
|
14358
14724
|
- The property has the correct <code>nullable</code> and <code>readOnly</code> values
|
|
@@ -14372,7 +14738,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14372
14738
|
<tbody>
|
|
14373
14739
|
<tr class="doc-section-item">
|
|
14374
14740
|
<td>
|
|
14375
|
-
<code
|
|
14741
|
+
<code>Tuple[ref_component_name, ref_component_schema]</code>
|
|
14376
14742
|
</td>
|
|
14377
14743
|
<td>
|
|
14378
14744
|
<div class="doc-md-description">
|
|
@@ -14417,16 +14783,21 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14417
14783
|
|
|
14418
14784
|
<div class="doc doc-contents ">
|
|
14419
14785
|
<p class="doc doc-class-bases">
|
|
14420
|
-
Bases: <code><
|
|
14786
|
+
Bases: <code><span title="django.contrib.staticfiles.testing.StaticLiveServerTestCase">StaticLiveServerTestCase</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.NautobotTestCaseMixin" href="#nautobot.apps.testing.NautobotTestCaseMixin">NautobotTestCaseMixin</a></code></p>
|
|
14421
14787
|
|
|
14422
14788
|
|
|
14423
|
-
|
|
14789
|
+
<p>Base test case for Splinter Selenium integration testing with custom helper methods.</p>
|
|
14424
14790
|
<p>This extends <code>django.contrib.staticfiles.testing.StaticLiveServerTestCase</code>
|
|
14425
14791
|
so there is no need to run <code>collectstatic</code> prior to running tests.</p>
|
|
14426
14792
|
|
|
14427
14793
|
|
|
14428
14794
|
|
|
14429
14795
|
|
|
14796
|
+
|
|
14797
|
+
|
|
14798
|
+
|
|
14799
|
+
|
|
14800
|
+
|
|
14430
14801
|
<div class="doc doc-children">
|
|
14431
14802
|
|
|
14432
14803
|
|
|
@@ -14448,7 +14819,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14448
14819
|
|
|
14449
14820
|
<div class="doc doc-contents ">
|
|
14450
14821
|
|
|
14451
|
-
|
|
14822
|
+
<p>Helper function to click the "Create" button on a form.</p>
|
|
14452
14823
|
|
|
14453
14824
|
</div>
|
|
14454
14825
|
|
|
@@ -14465,7 +14836,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14465
14836
|
|
|
14466
14837
|
<div class="doc doc-contents ">
|
|
14467
14838
|
|
|
14468
|
-
|
|
14839
|
+
<p>Helper function to click the "Add" button on a list view.</p>
|
|
14469
14840
|
|
|
14470
14841
|
</div>
|
|
14471
14842
|
|
|
@@ -14482,7 +14853,24 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14482
14853
|
|
|
14483
14854
|
<div class="doc doc-contents ">
|
|
14484
14855
|
|
|
14485
|
-
|
|
14856
|
+
<p>Helper function to click on a parent menu and child menu in the navigation bar.</p>
|
|
14857
|
+
|
|
14858
|
+
</div>
|
|
14859
|
+
|
|
14860
|
+
</div>
|
|
14861
|
+
|
|
14862
|
+
<div class="doc doc-object doc-function">
|
|
14863
|
+
|
|
14864
|
+
|
|
14865
|
+
<h3 id="nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="doc doc-heading">
|
|
14866
|
+
<code class="highlight language-python"><span class="n">fill_filters_select2_field</span><span class="p">(</span><span class="n">field_name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span></code>
|
|
14867
|
+
|
|
14868
|
+
<a href="#nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="headerlink" title="Permanent link">¶</a></h3>
|
|
14869
|
+
|
|
14870
|
+
|
|
14871
|
+
<div class="doc doc-contents ">
|
|
14872
|
+
|
|
14873
|
+
<p>Helper function to fill a Select2 single selection field on filters modals.</p>
|
|
14486
14874
|
|
|
14487
14875
|
</div>
|
|
14488
14876
|
|
|
@@ -14499,7 +14887,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14499
14887
|
|
|
14500
14888
|
<div class="doc doc-contents ">
|
|
14501
14889
|
|
|
14502
|
-
|
|
14890
|
+
<p>Helper function to fill a Select2 single selection field on add/edit forms.</p>
|
|
14503
14891
|
|
|
14504
14892
|
</div>
|
|
14505
14893
|
|
|
@@ -14516,7 +14904,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14516
14904
|
|
|
14517
14905
|
<div class="doc doc-contents ">
|
|
14518
14906
|
|
|
14519
|
-
|
|
14907
|
+
<p>Helper function to fill a Select2 multi-selection field.</p>
|
|
14520
14908
|
|
|
14521
14909
|
</div>
|
|
14522
14910
|
|
|
@@ -14533,7 +14921,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14533
14921
|
|
|
14534
14922
|
<div class="doc doc-contents ">
|
|
14535
14923
|
|
|
14536
|
-
|
|
14924
|
+
<p>Navigate to <code>login_url</code> and perform a login w/ the provided <code>username</code> and <code>password</code>.</p>
|
|
14537
14925
|
|
|
14538
14926
|
</div>
|
|
14539
14927
|
|
|
@@ -14554,7 +14942,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14554
14942
|
|
|
14555
14943
|
<div class="doc doc-contents ">
|
|
14556
14944
|
|
|
14557
|
-
|
|
14945
|
+
<p>Close down the browser after tests are ran.</p>
|
|
14558
14946
|
|
|
14559
14947
|
</div>
|
|
14560
14948
|
|
|
@@ -14581,10 +14969,15 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14581
14969
|
|
|
14582
14970
|
<div class="doc doc-contents ">
|
|
14583
14971
|
<p class="doc doc-class-bases">
|
|
14584
|
-
Bases: <code><
|
|
14972
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.mixins.NautobotTestCaseMixin" href="#nautobot.apps.testing.NautobotTestCaseMixin">NautobotTestCaseMixin</a></code>, <code><span title="django.test.TestCase">TestCase</span></code></p>
|
|
14973
|
+
|
|
14974
|
+
|
|
14975
|
+
<p>Base class for all Nautobot-specific unit tests.</p>
|
|
14976
|
+
|
|
14977
|
+
|
|
14978
|
+
|
|
14585
14979
|
|
|
14586
14980
|
|
|
14587
|
-
<p>Base class for all Nautobot-specific unit tests.</p>
|
|
14588
14981
|
|
|
14589
14982
|
|
|
14590
14983
|
|
|
@@ -14610,7 +15003,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14610
15003
|
|
|
14611
15004
|
<div class="doc doc-contents ">
|
|
14612
15005
|
|
|
14613
|
-
|
|
15006
|
+
<p>Initialize user and client.</p>
|
|
14614
15007
|
|
|
14615
15008
|
</div>
|
|
14616
15009
|
|
|
@@ -14637,10 +15030,15 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14637
15030
|
|
|
14638
15031
|
<div class="doc doc-contents ">
|
|
14639
15032
|
<p class="doc doc-class-bases">
|
|
14640
|
-
Bases: <code><
|
|
15033
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.mixins.NautobotTestCaseMixin" href="#nautobot.apps.testing.NautobotTestCaseMixin">NautobotTestCaseMixin</a></code>, <code><span title="django.test.TransactionTestCase">TransactionTestCase</span></code></p>
|
|
15034
|
+
|
|
15035
|
+
|
|
15036
|
+
<p>Base test case class using the TransactionTestCase for unit testing</p>
|
|
15037
|
+
|
|
15038
|
+
|
|
15039
|
+
|
|
14641
15040
|
|
|
14642
15041
|
|
|
14643
|
-
<p>Base test case class using the TransactionTestCase for unit testing</p>
|
|
14644
15042
|
|
|
14645
15043
|
|
|
14646
15044
|
|
|
@@ -14666,7 +15064,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14666
15064
|
|
|
14667
15065
|
<div class="doc doc-contents ">
|
|
14668
15066
|
|
|
14669
|
-
|
|
15067
|
+
<p>Provide a clean, post-migration state before each test case.</p>
|
|
14670
15068
|
<p>django.test.TransactionTestCase truncates the database after each test runs. We need at least the default
|
|
14671
15069
|
statuses present in the database in order to run tests.</p>
|
|
14672
15070
|
|
|
@@ -14696,7 +15094,12 @@ statuses present in the database in order to run tests.</p>
|
|
|
14696
15094
|
<div class="doc doc-contents ">
|
|
14697
15095
|
|
|
14698
15096
|
|
|
14699
|
-
|
|
15097
|
+
<p>We keep any TestCases with test_* methods inside a class to prevent unittest from trying to run them.</p>
|
|
15098
|
+
|
|
15099
|
+
|
|
15100
|
+
|
|
15101
|
+
|
|
15102
|
+
|
|
14700
15103
|
|
|
14701
15104
|
|
|
14702
15105
|
|
|
@@ -14723,10 +15126,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
14723
15126
|
|
|
14724
15127
|
<div class="doc doc-contents ">
|
|
14725
15128
|
<p class="doc doc-class-bases">
|
|
14726
|
-
Bases: <code><
|
|
15129
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15130
|
+
|
|
15131
|
+
|
|
15132
|
+
<p>Delete multiple instances.</p>
|
|
15133
|
+
|
|
15134
|
+
|
|
15135
|
+
|
|
14727
15136
|
|
|
14728
15137
|
|
|
14729
|
-
<p>Delete multiple instances.</p>
|
|
14730
15138
|
|
|
14731
15139
|
|
|
14732
15140
|
|
|
@@ -14752,7 +15160,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
14752
15160
|
|
|
14753
15161
|
<div class="doc doc-contents ">
|
|
14754
15162
|
|
|
14755
|
-
|
|
15163
|
+
<p>Get a list of PKs corresponding to objects that can be safely bulk-deleted.</p>
|
|
14756
15164
|
<p>For some models this may just be any random objects, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
14757
15165
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
14758
15166
|
|
|
@@ -14781,16 +15189,21 @@ statuses present in the database in order to run tests.</p>
|
|
|
14781
15189
|
|
|
14782
15190
|
<div class="doc doc-contents ">
|
|
14783
15191
|
<p class="doc doc-class-bases">
|
|
14784
|
-
Bases: <code><
|
|
15192
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
14785
15193
|
|
|
14786
15194
|
|
|
14787
|
-
|
|
15195
|
+
<p>Edit multiple instances.</p>
|
|
14788
15196
|
<p>:bulk_edit_data: A dictionary of data to be used when bulk editing a set of objects. This data should differ
|
|
14789
15197
|
from that used for initial object creation within setUpTestData().</p>
|
|
14790
15198
|
|
|
14791
15199
|
|
|
14792
15200
|
|
|
14793
15201
|
|
|
15202
|
+
|
|
15203
|
+
|
|
15204
|
+
|
|
15205
|
+
|
|
15206
|
+
|
|
14794
15207
|
<div class="doc doc-children">
|
|
14795
15208
|
|
|
14796
15209
|
|
|
@@ -14822,10 +15235,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
14822
15235
|
|
|
14823
15236
|
<div class="doc doc-contents ">
|
|
14824
15237
|
<p class="doc doc-class-bases">
|
|
14825
|
-
Bases: <code><
|
|
15238
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15239
|
+
|
|
15240
|
+
|
|
15241
|
+
<p>Rename multiple instances.</p>
|
|
15242
|
+
|
|
15243
|
+
|
|
15244
|
+
|
|
14826
15245
|
|
|
14827
15246
|
|
|
14828
|
-
<p>Rename multiple instances.</p>
|
|
14829
15247
|
|
|
14830
15248
|
|
|
14831
15249
|
|
|
@@ -14861,16 +15279,21 @@ statuses present in the database in order to run tests.</p>
|
|
|
14861
15279
|
|
|
14862
15280
|
<div class="doc doc-contents ">
|
|
14863
15281
|
<p class="doc doc-class-bases">
|
|
14864
|
-
Bases: <code><
|
|
15282
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
14865
15283
|
|
|
14866
15284
|
|
|
14867
|
-
|
|
15285
|
+
<p>Create multiple instances using a single form. Expects the creation of three new instances by default.</p>
|
|
14868
15286
|
<p>:bulk_create_count: The number of objects expected to be created (default: 3).
|
|
14869
15287
|
:bulk_create_data: A dictionary of data to be used for bulk object creation.</p>
|
|
14870
15288
|
|
|
14871
15289
|
|
|
14872
15290
|
|
|
14873
15291
|
|
|
15292
|
+
|
|
15293
|
+
|
|
15294
|
+
|
|
15295
|
+
|
|
15296
|
+
|
|
14874
15297
|
<div class="doc doc-children">
|
|
14875
15298
|
|
|
14876
15299
|
|
|
@@ -14902,15 +15325,20 @@ statuses present in the database in order to run tests.</p>
|
|
|
14902
15325
|
|
|
14903
15326
|
<div class="doc doc-contents ">
|
|
14904
15327
|
<p class="doc doc-class-bases">
|
|
14905
|
-
Bases: <code><
|
|
15328
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
14906
15329
|
|
|
14907
15330
|
|
|
14908
|
-
|
|
15331
|
+
<p>Create a single new instance.</p>
|
|
14909
15332
|
<p>:form_data: Data to be used when creating a new object.</p>
|
|
14910
15333
|
|
|
14911
15334
|
|
|
14912
15335
|
|
|
14913
15336
|
|
|
15337
|
+
|
|
15338
|
+
|
|
15339
|
+
|
|
15340
|
+
|
|
15341
|
+
|
|
14914
15342
|
<div class="doc doc-children">
|
|
14915
15343
|
|
|
14916
15344
|
|
|
@@ -14942,10 +15370,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
14942
15370
|
|
|
14943
15371
|
<div class="doc doc-contents ">
|
|
14944
15372
|
<p class="doc doc-class-bases">
|
|
14945
|
-
Bases: <code><
|
|
15373
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15374
|
+
|
|
15375
|
+
|
|
15376
|
+
<p>Delete a single instance.</p>
|
|
15377
|
+
|
|
15378
|
+
|
|
15379
|
+
|
|
14946
15380
|
|
|
14947
15381
|
|
|
14948
|
-
<p>Delete a single instance.</p>
|
|
14949
15382
|
|
|
14950
15383
|
|
|
14951
15384
|
|
|
@@ -14971,7 +15404,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
14971
15404
|
|
|
14972
15405
|
<div class="doc doc-contents ">
|
|
14973
15406
|
|
|
14974
|
-
|
|
15407
|
+
<p>Get an instance that can be deleted.</p>
|
|
14975
15408
|
<p>For some models this may just be any random object, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
14976
15409
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
14977
15410
|
|
|
@@ -15000,10 +15433,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15000
15433
|
|
|
15001
15434
|
<div class="doc doc-contents ">
|
|
15002
15435
|
<p class="doc doc-class-bases">
|
|
15003
|
-
Bases: <code><
|
|
15436
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.EditObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.EditObjectViewTestCase">EditObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.DeleteObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.DeleteObjectViewTestCase">DeleteObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.CreateMultipleObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.CreateMultipleObjectsViewTestCase">CreateMultipleObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkEditObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkEditObjectsViewTestCase">BulkEditObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkRenameObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkRenameObjectsViewTestCase">BulkRenameObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkDeleteObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkDeleteObjectsViewTestCase">BulkDeleteObjectsViewTestCase</a></code></p>
|
|
15437
|
+
|
|
15438
|
+
|
|
15439
|
+
<p>TestCase suitable for testing device component template models (ConsolePortTemplates, InterfaceTemplates, etc.)</p>
|
|
15440
|
+
|
|
15441
|
+
|
|
15442
|
+
|
|
15004
15443
|
|
|
15005
15444
|
|
|
15006
|
-
<p>TestCase suitable for testing device component template models (ConsolePortTemplates, InterfaceTemplates, etc.)</p>
|
|
15007
15445
|
|
|
15008
15446
|
|
|
15009
15447
|
|
|
@@ -15039,10 +15477,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15039
15477
|
|
|
15040
15478
|
<div class="doc doc-contents ">
|
|
15041
15479
|
<p class="doc doc-class-bases">
|
|
15042
|
-
Bases: <code><
|
|
15480
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectViewTestCase">GetObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectChangelogViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectChangelogViewTestCase">GetObjectChangelogViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectNotesViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectNotesViewTestCase">GetObjectNotesViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.EditObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.EditObjectViewTestCase">EditObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.DeleteObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.DeleteObjectViewTestCase">DeleteObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.ListObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.ListObjectsViewTestCase">ListObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.CreateMultipleObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.CreateMultipleObjectsViewTestCase">CreateMultipleObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkEditObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkEditObjectsViewTestCase">BulkEditObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkRenameObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkRenameObjectsViewTestCase">BulkRenameObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkDeleteObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkDeleteObjectsViewTestCase">BulkDeleteObjectsViewTestCase</a></code></p>
|
|
15481
|
+
|
|
15482
|
+
|
|
15483
|
+
<p>TestCase suitable for testing device component models (ConsolePorts, Interfaces, etc.)</p>
|
|
15484
|
+
|
|
15485
|
+
|
|
15486
|
+
|
|
15043
15487
|
|
|
15044
15488
|
|
|
15045
|
-
<p>TestCase suitable for testing device component models (ConsolePorts, Interfaces, etc.)</p>
|
|
15046
15489
|
|
|
15047
15490
|
|
|
15048
15491
|
|
|
@@ -15072,7 +15515,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15072
15515
|
|
|
15073
15516
|
<div class="doc doc-contents ">
|
|
15074
15517
|
|
|
15075
|
-
|
|
15518
|
+
<p>Used for bulk-add (distinct from bulk-create) view testing; self.bulk_create_data will be used if unset.</p>
|
|
15076
15519
|
</div>
|
|
15077
15520
|
|
|
15078
15521
|
</div>
|
|
@@ -15090,7 +15533,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15090
15533
|
|
|
15091
15534
|
<div class="doc doc-contents ">
|
|
15092
15535
|
|
|
15093
|
-
|
|
15536
|
+
<p>Test bulk-adding this component to devices/virtual-machines.</p>
|
|
15094
15537
|
|
|
15095
15538
|
</div>
|
|
15096
15539
|
|
|
@@ -15117,16 +15560,21 @@ statuses present in the database in order to run tests.</p>
|
|
|
15117
15560
|
|
|
15118
15561
|
<div class="doc doc-contents ">
|
|
15119
15562
|
<p class="doc doc-class-bases">
|
|
15120
|
-
Bases: <code><
|
|
15563
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15121
15564
|
|
|
15122
15565
|
|
|
15123
|
-
|
|
15566
|
+
<p>Edit a single existing instance.</p>
|
|
15124
15567
|
<p>:update_data: Data to be used when updating the first existing object, fall back to form_data if not provided.
|
|
15125
15568
|
:form_data: Fall back to this data if update_data is not provided, for backward compatibility.</p>
|
|
15126
15569
|
|
|
15127
15570
|
|
|
15128
15571
|
|
|
15129
15572
|
|
|
15573
|
+
|
|
15574
|
+
|
|
15575
|
+
|
|
15576
|
+
|
|
15577
|
+
|
|
15130
15578
|
<div class="doc doc-children">
|
|
15131
15579
|
|
|
15132
15580
|
|
|
@@ -15158,10 +15606,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15158
15606
|
|
|
15159
15607
|
<div class="doc doc-contents ">
|
|
15160
15608
|
<p class="doc doc-class-bases">
|
|
15161
|
-
Bases: <code><
|
|
15609
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15610
|
+
|
|
15611
|
+
|
|
15612
|
+
<p>View the changelog for an instance.</p>
|
|
15613
|
+
|
|
15614
|
+
|
|
15615
|
+
|
|
15162
15616
|
|
|
15163
15617
|
|
|
15164
|
-
<p>View the changelog for an instance.</p>
|
|
15165
15618
|
|
|
15166
15619
|
|
|
15167
15620
|
|
|
@@ -15197,10 +15650,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15197
15650
|
|
|
15198
15651
|
<div class="doc doc-contents ">
|
|
15199
15652
|
<p class="doc doc-class-bases">
|
|
15200
|
-
Bases: <code><
|
|
15653
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15654
|
+
|
|
15655
|
+
|
|
15656
|
+
<p>View the notes for an instance.</p>
|
|
15657
|
+
|
|
15658
|
+
|
|
15659
|
+
|
|
15201
15660
|
|
|
15202
15661
|
|
|
15203
|
-
<p>View the notes for an instance.</p>
|
|
15204
15662
|
|
|
15205
15663
|
|
|
15206
15664
|
|
|
@@ -15236,10 +15694,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15236
15694
|
|
|
15237
15695
|
<div class="doc doc-contents ">
|
|
15238
15696
|
<p class="doc doc-class-bases">
|
|
15239
|
-
Bases: <code><
|
|
15697
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15698
|
+
|
|
15699
|
+
|
|
15700
|
+
<p>Retrieve a single instance.</p>
|
|
15701
|
+
|
|
15702
|
+
|
|
15703
|
+
|
|
15240
15704
|
|
|
15241
15705
|
|
|
15242
|
-
<p>Retrieve a single instance.</p>
|
|
15243
15706
|
|
|
15244
15707
|
|
|
15245
15708
|
|
|
@@ -15275,10 +15738,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15275
15738
|
|
|
15276
15739
|
<div class="doc doc-contents ">
|
|
15277
15740
|
<p class="doc doc-class-bases">
|
|
15278
|
-
Bases: <code><
|
|
15741
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15742
|
+
|
|
15743
|
+
|
|
15744
|
+
<p>Retrieve multiple instances.</p>
|
|
15745
|
+
|
|
15746
|
+
|
|
15747
|
+
|
|
15279
15748
|
|
|
15280
15749
|
|
|
15281
|
-
<p>Retrieve multiple instances.</p>
|
|
15282
15750
|
|
|
15283
15751
|
|
|
15284
15752
|
|
|
@@ -15304,7 +15772,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15304
15772
|
|
|
15305
15773
|
<div class="doc doc-contents ">
|
|
15306
15774
|
|
|
15307
|
-
|
|
15775
|
+
<p>Verify that without STRICT_FILTERING, an unknown filter is ignored.</p>
|
|
15308
15776
|
|
|
15309
15777
|
</div>
|
|
15310
15778
|
|
|
@@ -15321,7 +15789,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15321
15789
|
|
|
15322
15790
|
<div class="doc doc-contents ">
|
|
15323
15791
|
|
|
15324
|
-
|
|
15792
|
+
<p>Verify that with STRICT_FILTERING, an unknown filter results in an error message and no matches.</p>
|
|
15325
15793
|
|
|
15326
15794
|
</div>
|
|
15327
15795
|
|
|
@@ -15338,7 +15806,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15338
15806
|
|
|
15339
15807
|
<div class="doc doc-contents ">
|
|
15340
15808
|
|
|
15341
|
-
|
|
15809
|
+
<p>If example app is installed, check if the app banner is rendered correctly in ObjectListView.</p>
|
|
15342
15810
|
|
|
15343
15811
|
</div>
|
|
15344
15812
|
|
|
@@ -15365,10 +15833,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15365
15833
|
|
|
15366
15834
|
<div class="doc doc-contents ">
|
|
15367
15835
|
<p class="doc doc-class-bases">
|
|
15368
|
-
Bases: <code><
|
|
15836
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectViewTestCase">GetObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectChangelogViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectChangelogViewTestCase">GetObjectChangelogViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectNotesViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectNotesViewTestCase">GetObjectNotesViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.CreateObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.CreateObjectViewTestCase">CreateObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.EditObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.EditObjectViewTestCase">EditObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.DeleteObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.DeleteObjectViewTestCase">DeleteObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.ListObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.ListObjectsViewTestCase">ListObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkDeleteObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkDeleteObjectsViewTestCase">BulkDeleteObjectsViewTestCase</a></code></p>
|
|
15837
|
+
|
|
15838
|
+
|
|
15839
|
+
<p>TestCase suitable for all organizational objects</p>
|
|
15840
|
+
|
|
15841
|
+
|
|
15842
|
+
|
|
15369
15843
|
|
|
15370
15844
|
|
|
15371
|
-
<p>TestCase suitable for all organizational objects</p>
|
|
15372
15845
|
|
|
15373
15846
|
|
|
15374
15847
|
|
|
@@ -15404,10 +15877,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15404
15877
|
|
|
15405
15878
|
<div class="doc doc-contents ">
|
|
15406
15879
|
<p class="doc doc-class-bases">
|
|
15407
|
-
Bases: <code><
|
|
15880
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectViewTestCase">GetObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectChangelogViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectChangelogViewTestCase">GetObjectChangelogViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.GetObjectNotesViewTestCase" href="#nautobot.apps.testing.ViewTestCases.GetObjectNotesViewTestCase">GetObjectNotesViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.CreateObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.CreateObjectViewTestCase">CreateObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.EditObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.EditObjectViewTestCase">EditObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.DeleteObjectViewTestCase" href="#nautobot.apps.testing.ViewTestCases.DeleteObjectViewTestCase">DeleteObjectViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.ListObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.ListObjectsViewTestCase">ListObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkEditObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkEditObjectsViewTestCase">BulkEditObjectsViewTestCase</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ViewTestCases.BulkDeleteObjectsViewTestCase" href="#nautobot.apps.testing.ViewTestCases.BulkDeleteObjectsViewTestCase">BulkDeleteObjectsViewTestCase</a></code></p>
|
|
15881
|
+
|
|
15882
|
+
|
|
15883
|
+
<p>TestCase suitable for testing all standard View functions for primary objects</p>
|
|
15884
|
+
|
|
15885
|
+
|
|
15886
|
+
|
|
15408
15887
|
|
|
15409
15888
|
|
|
15410
|
-
<p>TestCase suitable for testing all standard View functions for primary objects</p>
|
|
15411
15889
|
|
|
15412
15890
|
|
|
15413
15891
|
|
|
@@ -15451,7 +15929,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15451
15929
|
|
|
15452
15930
|
<div class="doc doc-contents ">
|
|
15453
15931
|
|
|
15454
|
-
|
|
15932
|
+
<p>Test helper function to call get_job_class_and_model() then call run_job_for_testing().</p>
|
|
15455
15933
|
|
|
15456
15934
|
</div>
|
|
15457
15935
|
|
|
@@ -15468,7 +15946,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15468
15946
|
|
|
15469
15947
|
<div class="doc doc-contents ">
|
|
15470
15948
|
|
|
15471
|
-
|
|
15949
|
+
<p>Create a User with the given permissions.</p>
|
|
15472
15950
|
|
|
15473
15951
|
</div>
|
|
15474
15952
|
|
|
@@ -15485,7 +15963,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15485
15963
|
|
|
15486
15964
|
<div class="doc doc-contents ">
|
|
15487
15965
|
|
|
15488
|
-
|
|
15966
|
+
<p>Temporarily suppress expected warning messages to keep the test output clean.</p>
|
|
15489
15967
|
|
|
15490
15968
|
</div>
|
|
15491
15969
|
|
|
@@ -15502,7 +15980,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15502
15980
|
|
|
15503
15981
|
<div class="doc doc-contents ">
|
|
15504
15982
|
|
|
15505
|
-
|
|
15983
|
+
<p>Given decoded HTML content from an HTTP response, return a list of form errors.</p>
|
|
15506
15984
|
|
|
15507
15985
|
</div>
|
|
15508
15986
|
|
|
@@ -15519,7 +15997,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15519
15997
|
|
|
15520
15998
|
<div class="doc doc-contents ">
|
|
15521
15999
|
|
|
15522
|
-
|
|
16000
|
+
<p>Given raw HTML content from an HTTP response, extract the main div only.</p>
|
|
15523
16001
|
<html>
|
|
15524
16002
|
<head>... <link href="../../../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
|
|
15525
16003
|
html.glightbox-open { overflow: initial; height: 100%; }
|
|
@@ -15558,7 +16036,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15558
16036
|
|
|
15559
16037
|
<div class="doc doc-contents ">
|
|
15560
16038
|
|
|
15561
|
-
|
|
16039
|
+
<p>For testing purposes only; it returns a random string of size 100 consisting of letters and numbers.</p>
|
|
15562
16040
|
|
|
15563
16041
|
</div>
|
|
15564
16042
|
|
|
@@ -15575,7 +16053,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15575
16053
|
|
|
15576
16054
|
<div class="doc doc-contents ">
|
|
15577
16055
|
|
|
15578
|
-
|
|
16056
|
+
<p>Returns a subset of objects in the given queryset that have no protected relationships that would prevent deletion.</p>
|
|
15579
16057
|
|
|
15580
16058
|
</div>
|
|
15581
16059
|
|
|
@@ -15592,7 +16070,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15592
16070
|
|
|
15593
16071
|
<div class="doc doc-contents ">
|
|
15594
16072
|
|
|
15595
|
-
|
|
16073
|
+
<p>Test helper function to look up a job class and job model and ensure the latter is enabled.</p>
|
|
15596
16074
|
|
|
15597
16075
|
|
|
15598
16076
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15607,9 +16085,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15607
16085
|
</thead>
|
|
15608
16086
|
<tbody>
|
|
15609
16087
|
<tr class="doc-section-item">
|
|
15610
|
-
<td><code>module</code></td>
|
|
15611
16088
|
<td>
|
|
15612
|
-
|
|
16089
|
+
<code>module</code>
|
|
16090
|
+
</td>
|
|
16091
|
+
<td>
|
|
16092
|
+
<code>str</code>
|
|
15613
16093
|
</td>
|
|
15614
16094
|
<td>
|
|
15615
16095
|
<div class="doc-md-description">
|
|
@@ -15621,9 +16101,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15621
16101
|
</td>
|
|
15622
16102
|
</tr>
|
|
15623
16103
|
<tr class="doc-section-item">
|
|
15624
|
-
<td><code>name</code></td>
|
|
15625
16104
|
<td>
|
|
15626
|
-
|
|
16105
|
+
<code>name</code>
|
|
16106
|
+
</td>
|
|
16107
|
+
<td>
|
|
16108
|
+
<code>str</code>
|
|
15627
16109
|
</td>
|
|
15628
16110
|
<td>
|
|
15629
16111
|
<div class="doc-md-description">
|
|
@@ -15635,9 +16117,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15635
16117
|
</td>
|
|
15636
16118
|
</tr>
|
|
15637
16119
|
<tr class="doc-section-item">
|
|
15638
|
-
<td><code>source</code></td>
|
|
15639
16120
|
<td>
|
|
15640
|
-
|
|
16121
|
+
<code>source</code>
|
|
16122
|
+
</td>
|
|
16123
|
+
<td>
|
|
16124
|
+
<code>str</code>
|
|
15641
16125
|
</td>
|
|
15642
16126
|
<td>
|
|
15643
16127
|
<div class="doc-md-description">
|
|
@@ -15663,7 +16147,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15663
16147
|
<tbody>
|
|
15664
16148
|
<tr class="doc-section-item">
|
|
15665
16149
|
<td>
|
|
15666
|
-
<code><
|
|
16150
|
+
<code><span title="nautobot.core.testing.JobClassInfo">JobClassInfo</span></code>
|
|
15667
16151
|
</td>
|
|
15668
16152
|
<td>
|
|
15669
16153
|
<div class="doc-md-description">
|
|
@@ -15689,7 +16173,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15689
16173
|
|
|
15690
16174
|
<div class="doc doc-contents ">
|
|
15691
16175
|
|
|
15692
|
-
|
|
16176
|
+
<p>Take a dictionary of test data (suitable for comparison to an instance) and return a dict suitable for POSTing.</p>
|
|
15693
16177
|
|
|
15694
16178
|
</div>
|
|
15695
16179
|
|
|
@@ -15706,7 +16190,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15706
16190
|
|
|
15707
16191
|
<div class="doc doc-contents ">
|
|
15708
16192
|
|
|
15709
|
-
|
|
16193
|
+
<p>Provide a common interface to run Nautobot jobs as part of unit tests.</p>
|
|
15710
16194
|
|
|
15711
16195
|
|
|
15712
16196
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15721,9 +16205,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15721
16205
|
</thead>
|
|
15722
16206
|
<tbody>
|
|
15723
16207
|
<tr class="doc-section-item">
|
|
15724
|
-
<td><code>job</code></td>
|
|
15725
16208
|
<td>
|
|
15726
|
-
|
|
16209
|
+
<code>job</code>
|
|
16210
|
+
</td>
|
|
16211
|
+
<td>
|
|
16212
|
+
<code><span title="nautobot.extras.models.Job">Job</span></code>
|
|
15727
16213
|
</td>
|
|
15728
16214
|
<td>
|
|
15729
16215
|
<div class="doc-md-description">
|
|
@@ -15735,9 +16221,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15735
16221
|
</td>
|
|
15736
16222
|
</tr>
|
|
15737
16223
|
<tr class="doc-section-item">
|
|
15738
|
-
<td><code>username</code></td>
|
|
15739
16224
|
<td>
|
|
15740
|
-
|
|
16225
|
+
<code>username</code>
|
|
16226
|
+
</td>
|
|
16227
|
+
<td>
|
|
16228
|
+
<code>str</code>
|
|
15741
16229
|
</td>
|
|
15742
16230
|
<td>
|
|
15743
16231
|
<div class="doc-md-description">
|
|
@@ -15749,9 +16237,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15749
16237
|
</td>
|
|
15750
16238
|
</tr>
|
|
15751
16239
|
<tr class="doc-section-item">
|
|
15752
|
-
<td><code>profile</code></td>
|
|
15753
16240
|
<td>
|
|
15754
|
-
|
|
16241
|
+
<code>profile</code>
|
|
16242
|
+
</td>
|
|
16243
|
+
<td>
|
|
16244
|
+
<code>bool</code>
|
|
15755
16245
|
</td>
|
|
15756
16246
|
<td>
|
|
15757
16247
|
<div class="doc-md-description">
|
|
@@ -15779,7 +16269,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15779
16269
|
<tr class="doc-section-item">
|
|
15780
16270
|
<td><code>**kwargs</code></td>
|
|
15781
16271
|
<td>
|
|
15782
|
-
<code
|
|
16272
|
+
<code>any</code>
|
|
15783
16273
|
</td>
|
|
15784
16274
|
<td>
|
|
15785
16275
|
<div class="doc-md-description">
|
|
@@ -15802,7 +16292,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15802
16292
|
<tbody>
|
|
15803
16293
|
<tr class="doc-section-item">
|
|
15804
16294
|
<td>
|
|
15805
|
-
<code><
|
|
16295
|
+
<code><span title="nautobot.extras.models.JobResult">JobResult</span></code>
|
|
15806
16296
|
</td>
|
|
15807
16297
|
<td>
|
|
15808
16298
|
<div class="doc-md-description">
|
|
@@ -15920,7 +16410,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15920
16410
|
|
|
15921
16411
|
|
|
15922
16412
|
<a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
|
|
15923
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
16413
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
|
|
15924
16414
|
</a>
|
|
15925
16415
|
|
|
15926
16416
|
|
|
@@ -15928,7 +16418,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15928
16418
|
|
|
15929
16419
|
|
|
15930
16420
|
<a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
|
|
15931
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.
|
|
16421
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z"/></svg>
|
|
15932
16422
|
</a>
|
|
15933
16423
|
|
|
15934
16424
|
|
|
@@ -15936,7 +16426,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15936
16426
|
|
|
15937
16427
|
|
|
15938
16428
|
<a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
|
|
15939
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
16429
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1s21.16-47.06 47.06-47.06h47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06S448 171 448 196.9s-21.16 47.06-47.06 47.06h-47.06zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06S309 480 283.1 480s-47.06-21.16-47.06-47.06v-47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06s21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06z"/></svg>
|
|
15940
16430
|
</a>
|
|
15941
16431
|
|
|
15942
16432
|
|
|
@@ -15944,7 +16434,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15944
16434
|
|
|
15945
16435
|
|
|
15946
16436
|
<a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
|
|
15947
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.
|
|
16437
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
15948
16438
|
</a>
|
|
15949
16439
|
|
|
15950
16440
|
|
|
@@ -15952,7 +16442,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15952
16442
|
|
|
15953
16443
|
|
|
15954
16444
|
<a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
|
|
15955
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.
|
|
16445
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253"/></svg>
|
|
15956
16446
|
</a>
|
|
15957
16447
|
|
|
15958
16448
|
</div>
|
|
@@ -15967,10 +16457,10 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15967
16457
|
</div>
|
|
15968
16458
|
|
|
15969
16459
|
|
|
15970
|
-
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.
|
|
16460
|
+
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
15971
16461
|
|
|
15972
16462
|
|
|
15973
|
-
<script src="../../../assets/javascripts/bundle.
|
|
16463
|
+
<script src="../../../assets/javascripts/bundle.60a45f97.min.js"></script>
|
|
15974
16464
|
|
|
15975
16465
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
15976
16466
|
|