nautobot 2.4.0b1__py3-none-any.whl → 2.4.1__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/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/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/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 +86 -4
- 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 +460 -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/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 +126 -38
- nautobot/core/views/renderers.py +6 -6
- 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 +36 -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 +7 -5
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +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.html +1 -9
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/location.html +1 -9
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/rack.html +1 -9
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackreservation.html +1 -9
- 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_delete.py +189 -0
- nautobot/dcim/tests/integration/test_device_bulk_edit.py +181 -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 +21 -83
- nautobot/dcim/views.py +1 -13
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +90 -85
- nautobot/extras/api/views.py +22 -27
- nautobot/extras/constants.py +2 -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/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +12 -11
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +23 -4
- nautobot/extras/models/models.py +2 -2
- 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/tables.py +7 -5
- nautobot/extras/templates/extras/dynamicgroup.html +1 -9
- nautobot/extras/templates/extras/job_detail.html +16 -0
- nautobot/extras/templates/extras/job_edit.html +1 -0
- nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
- nautobot/extras/templates/extras/marketplace.html +29 -11
- nautobot/extras/templates/extras/plugin_detail.html +32 -15
- nautobot/extras/templates/extras/plugins_tiles.html +21 -10
- 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/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +13 -13
- nautobot/extras/tests/test_customfields.py +1 -1
- nautobot/extras/tests/test_datasources.py +2 -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 +16 -10
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +120 -9
- nautobot/extras/tests/test_views.py +56 -194
- nautobot/extras/utils.py +3 -2
- nautobot/extras/views.py +30 -98
- 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 +66 -16
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +23 -7
- nautobot/ipam/templates/ipam/ipaddress.html +1 -9
- 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 +1 -9
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/vlan.html +1 -9
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- 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 +95 -34
- nautobot/ipam/tests/test_querysets.py +63 -1
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/utils/__init__.py +36 -6
- 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 +46 -4
- nautobot/project-static/docs/apps/index.html +46 -4
- nautobot/project-static/docs/apps/nautobot-apps.html +47 -6
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.88dd0f4e.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.88dd0f4e.min.js.map} +2 -2
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +62 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +59 -7
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +374 -122
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +90 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +95 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +53 -6
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +52 -5
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +79 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +102 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +108 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +131 -38
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +239 -65
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +581 -165
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +109 -36
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +453 -167
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +493 -211
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +60 -8
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +71 -15
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +407 -55
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +620 -205
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +858 -412
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +59 -7
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +448 -186
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +365 -147
- nautobot/project-static/docs/development/apps/api/configuration-view.html +46 -4
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/global-search.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/graphql.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +68 -7
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +46 -4
- nautobot/project-static/docs/development/apps/api/prometheus.html +46 -4
- nautobot/project-static/docs/development/apps/api/setup.html +46 -4
- nautobot/project-static/docs/development/apps/api/testing.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/base-template.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/notes.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +52 -6
- nautobot/project-static/docs/development/apps/api/views/urls.html +46 -4
- nautobot/project-static/docs/development/apps/index.html +46 -4
- nautobot/project-static/docs/development/apps/migration/code-updates.html +46 -4
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +46 -4
- nautobot/project-static/docs/development/apps/migration/from-v1.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +46 -4
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +50 -8
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +46 -4
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +211 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +46 -4
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +46 -4
- nautobot/project-static/docs/development/core/application-registry.html +46 -4
- nautobot/project-static/docs/development/core/best-practices.html +46 -4
- nautobot/project-static/docs/development/core/bootstrap-ui.html +46 -4
- nautobot/project-static/docs/development/core/caching.html +46 -4
- nautobot/project-static/docs/development/core/controllers.html +46 -4
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +73 -74
- nautobot/project-static/docs/development/core/generic-views.html +46 -4
- nautobot/project-static/docs/development/core/getting-started.html +249 -224
- nautobot/project-static/docs/development/core/homepage.html +49 -7
- nautobot/project-static/docs/development/core/index.html +46 -4
- nautobot/project-static/docs/development/core/{local-k8s.html → minikube-dev-environment-for-k8s-jobs.html} +469 -168
- nautobot/project-static/docs/development/core/model-checklist.html +56 -12
- nautobot/project-static/docs/development/core/model-features.html +46 -4
- nautobot/project-static/docs/development/core/natural-keys.html +46 -4
- nautobot/project-static/docs/development/core/navigation-menu.html +46 -4
- nautobot/project-static/docs/development/core/release-checklist.html +49 -7
- nautobot/project-static/docs/development/core/role-internals.html +46 -4
- nautobot/project-static/docs/development/core/settings.html +46 -4
- nautobot/project-static/docs/development/core/style-guide.html +49 -7
- nautobot/project-static/docs/development/core/templates.html +46 -4
- nautobot/project-static/docs/development/core/testing.html +46 -4
- nautobot/project-static/docs/development/core/ui-component-framework.html +369 -273
- nautobot/project-static/docs/development/core/user-preferences.html +46 -4
- nautobot/project-static/docs/development/index.html +46 -4
- nautobot/project-static/docs/development/jobs/index.html +216 -122
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +46 -4
- nautobot/project-static/docs/index.html +54 -23
- 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 +47 -7
- nautobot/project-static/docs/overview/design_philosophy.html +46 -4
- nautobot/project-static/docs/release-notes/index.html +52 -12
- nautobot/project-static/docs/release-notes/version-1.0.html +234 -193
- nautobot/project-static/docs/release-notes/version-1.1.html +231 -190
- nautobot/project-static/docs/release-notes/version-1.2.html +306 -265
- nautobot/project-static/docs/release-notes/version-1.3.html +332 -291
- nautobot/project-static/docs/release-notes/version-1.4.html +417 -377
- nautobot/project-static/docs/release-notes/version-1.5.html +605 -566
- nautobot/project-static/docs/release-notes/version-1.6.html +904 -447
- nautobot/project-static/docs/release-notes/version-2.0.html +528 -489
- nautobot/project-static/docs/release-notes/version-2.1.html +363 -324
- nautobot/project-static/docs/release-notes/version-2.2.html +356 -317
- nautobot/project-static/docs/release-notes/version-2.3.html +997 -352
- nautobot/project-static/docs/release-notes/version-2.4.html +525 -101
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +295 -287
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +48 -6
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +110 -8
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +48 -6
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +66 -8
- nautobot/project-static/docs/user-guide/administration/installation/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +47 -5
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/services.html +46 -4
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +46 -4
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +46 -4
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +46 -4
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +49 -8
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +50 -12
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +49 -7
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +51 -7
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +46 -4
- 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 +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +49 -7
- nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9444 -0
- nautobot/project-static/docs/user-guide/index.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +50 -8
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +50 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +49 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9722 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +47 -5
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +94 -25
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +74 -5
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +46 -4
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +9 -13
- 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_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/virtualmachine.html +1 -9
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- 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.1.dist-info}/METADATA +6 -6
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/RECORD +600 -550
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.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.49">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -2112,6 +2112,27 @@
|
|
|
2112
2112
|
|
|
2113
2113
|
|
|
2114
2114
|
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
<li class="md-nav__item">
|
|
2122
|
+
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
<span class="md-ellipsis">
|
|
2126
|
+
Wireless Networks and Controllers
|
|
2127
|
+
</span>
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
</a>
|
|
2131
|
+
</li>
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
|
|
2115
2136
|
</ul>
|
|
2116
2137
|
</nav>
|
|
2117
2138
|
|
|
@@ -5131,6 +5152,27 @@
|
|
|
5131
5152
|
|
|
5132
5153
|
|
|
5133
5154
|
|
|
5155
|
+
<li class="md-nav__item">
|
|
5156
|
+
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5157
|
+
|
|
5158
|
+
|
|
5159
|
+
<span class="md-ellipsis">
|
|
5160
|
+
Kubernetes Job Support
|
|
5161
|
+
</span>
|
|
5162
|
+
|
|
5163
|
+
|
|
5164
|
+
</a>
|
|
5165
|
+
</li>
|
|
5166
|
+
|
|
5167
|
+
|
|
5168
|
+
|
|
5169
|
+
|
|
5170
|
+
|
|
5171
|
+
|
|
5172
|
+
|
|
5173
|
+
|
|
5174
|
+
|
|
5175
|
+
|
|
5134
5176
|
<li class="md-nav__item">
|
|
5135
5177
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5136
5178
|
|
|
@@ -7326,6 +7368,15 @@
|
|
|
7326
7368
|
</span>
|
|
7327
7369
|
</a>
|
|
7328
7370
|
|
|
7371
|
+
</li>
|
|
7372
|
+
|
|
7373
|
+
<li class="md-nav__item">
|
|
7374
|
+
<a href="#nautobot.apps.testing.APITestCase.get_m2m_fields" class="md-nav__link">
|
|
7375
|
+
<span class="md-ellipsis">
|
|
7376
|
+
get_m2m_fields
|
|
7377
|
+
</span>
|
|
7378
|
+
</a>
|
|
7379
|
+
|
|
7329
7380
|
</li>
|
|
7330
7381
|
|
|
7331
7382
|
<li class="md-nav__item">
|
|
@@ -7828,6 +7879,15 @@
|
|
|
7828
7879
|
</span>
|
|
7829
7880
|
</a>
|
|
7830
7881
|
|
|
7882
|
+
</li>
|
|
7883
|
+
|
|
7884
|
+
<li class="md-nav__item">
|
|
7885
|
+
<a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="md-nav__link">
|
|
7886
|
+
<span class="md-ellipsis">
|
|
7887
|
+
test_id
|
|
7888
|
+
</span>
|
|
7889
|
+
</a>
|
|
7890
|
+
|
|
7831
7891
|
</li>
|
|
7832
7892
|
|
|
7833
7893
|
<li class="md-nav__item">
|
|
@@ -8334,6 +8394,15 @@
|
|
|
8334
8394
|
</span>
|
|
8335
8395
|
</a>
|
|
8336
8396
|
|
|
8397
|
+
</li>
|
|
8398
|
+
|
|
8399
|
+
<li class="md-nav__item">
|
|
8400
|
+
<a href="#nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="md-nav__link">
|
|
8401
|
+
<span class="md-ellipsis">
|
|
8402
|
+
fill_filters_select2_field
|
|
8403
|
+
</span>
|
|
8404
|
+
</a>
|
|
8405
|
+
|
|
8337
8406
|
</li>
|
|
8338
8407
|
|
|
8339
8408
|
<li class="md-nav__item">
|
|
@@ -9547,11 +9616,11 @@
|
|
|
9547
9616
|
|
|
9548
9617
|
|
|
9549
9618
|
<li class="md-nav__item">
|
|
9550
|
-
<a href="../../../development/core/
|
|
9619
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
9551
9620
|
|
|
9552
9621
|
|
|
9553
9622
|
<span class="md-ellipsis">
|
|
9554
|
-
|
|
9623
|
+
Minikube Dev Environment for K8s Jobs
|
|
9555
9624
|
</span>
|
|
9556
9625
|
|
|
9557
9626
|
|
|
@@ -10484,6 +10553,15 @@
|
|
|
10484
10553
|
</span>
|
|
10485
10554
|
</a>
|
|
10486
10555
|
|
|
10556
|
+
</li>
|
|
10557
|
+
|
|
10558
|
+
<li class="md-nav__item">
|
|
10559
|
+
<a href="#nautobot.apps.testing.APITestCase.get_m2m_fields" class="md-nav__link">
|
|
10560
|
+
<span class="md-ellipsis">
|
|
10561
|
+
get_m2m_fields
|
|
10562
|
+
</span>
|
|
10563
|
+
</a>
|
|
10564
|
+
|
|
10487
10565
|
</li>
|
|
10488
10566
|
|
|
10489
10567
|
<li class="md-nav__item">
|
|
@@ -10986,6 +11064,15 @@
|
|
|
10986
11064
|
</span>
|
|
10987
11065
|
</a>
|
|
10988
11066
|
|
|
11067
|
+
</li>
|
|
11068
|
+
|
|
11069
|
+
<li class="md-nav__item">
|
|
11070
|
+
<a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="md-nav__link">
|
|
11071
|
+
<span class="md-ellipsis">
|
|
11072
|
+
test_id
|
|
11073
|
+
</span>
|
|
11074
|
+
</a>
|
|
11075
|
+
|
|
10989
11076
|
</li>
|
|
10990
11077
|
|
|
10991
11078
|
<li class="md-nav__item">
|
|
@@ -11492,6 +11579,15 @@
|
|
|
11492
11579
|
</span>
|
|
11493
11580
|
</a>
|
|
11494
11581
|
|
|
11582
|
+
</li>
|
|
11583
|
+
|
|
11584
|
+
<li class="md-nav__item">
|
|
11585
|
+
<a href="#nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="md-nav__link">
|
|
11586
|
+
<span class="md-ellipsis">
|
|
11587
|
+
fill_filters_select2_field
|
|
11588
|
+
</span>
|
|
11589
|
+
</a>
|
|
11590
|
+
|
|
11495
11591
|
</li>
|
|
11496
11592
|
|
|
11497
11593
|
<li class="md-nav__item">
|
|
@@ -11940,7 +12036,12 @@
|
|
|
11940
12036
|
|
|
11941
12037
|
<div class="doc doc-contents first">
|
|
11942
12038
|
|
|
11943
|
-
|
|
12039
|
+
<p>Utilities for apps to implement test automation.</p>
|
|
12040
|
+
|
|
12041
|
+
|
|
12042
|
+
|
|
12043
|
+
|
|
12044
|
+
|
|
11944
12045
|
|
|
11945
12046
|
|
|
11946
12047
|
|
|
@@ -11966,15 +12067,20 @@
|
|
|
11966
12067
|
|
|
11967
12068
|
<div class="doc doc-contents ">
|
|
11968
12069
|
<p class="doc doc-class-bases">
|
|
11969
|
-
Bases: <code><
|
|
12070
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelTestCase" href="#nautobot.apps.testing.ModelTestCase">ModelTestCase</a></code></p>
|
|
11970
12071
|
|
|
11971
12072
|
|
|
11972
|
-
|
|
12073
|
+
<p>Base test case for API requests.</p>
|
|
11973
12074
|
<p>api_version: Specific API version to test. Leave unset to test the default behavior. Override with set_api_version()</p>
|
|
11974
12075
|
|
|
11975
12076
|
|
|
11976
12077
|
|
|
11977
12078
|
|
|
12079
|
+
|
|
12080
|
+
|
|
12081
|
+
|
|
12082
|
+
|
|
12083
|
+
|
|
11978
12084
|
<div class="doc doc-children">
|
|
11979
12085
|
|
|
11980
12086
|
|
|
@@ -11996,7 +12102,7 @@
|
|
|
11996
12102
|
|
|
11997
12103
|
<div class="doc doc-contents ">
|
|
11998
12104
|
|
|
11999
|
-
|
|
12105
|
+
<p>Check an API response for content that should not be exposed in the API.</p>
|
|
12000
12106
|
<p>If a specific API has a false failure here (maybe it has security-related strings as model flags or something?),
|
|
12001
12107
|
its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
12002
12108
|
|
|
@@ -12007,6 +12113,23 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12007
12113
|
<div class="doc doc-object doc-function">
|
|
12008
12114
|
|
|
12009
12115
|
|
|
12116
|
+
<h3 id="nautobot.apps.testing.APITestCase.get_m2m_fields" class="doc doc-heading">
|
|
12117
|
+
<code class="highlight language-python"><span class="n">get_m2m_fields</span><span class="p">()</span></code>
|
|
12118
|
+
|
|
12119
|
+
<a href="#nautobot.apps.testing.APITestCase.get_m2m_fields" class="headerlink" title="Permanent link">¶</a></h3>
|
|
12120
|
+
|
|
12121
|
+
|
|
12122
|
+
<div class="doc doc-contents ">
|
|
12123
|
+
|
|
12124
|
+
<p>Get serializer field names that are many-to-many or one-to-many and thus affected by ?exclude_m2m=true.</p>
|
|
12125
|
+
|
|
12126
|
+
</div>
|
|
12127
|
+
|
|
12128
|
+
</div>
|
|
12129
|
+
|
|
12130
|
+
<div class="doc doc-object doc-function">
|
|
12131
|
+
|
|
12132
|
+
|
|
12010
12133
|
<h3 id="nautobot.apps.testing.APITestCase.setUp" class="doc doc-heading">
|
|
12011
12134
|
<code class="highlight language-python"><span class="n">setUp</span><span class="p">()</span></code>
|
|
12012
12135
|
|
|
@@ -12015,7 +12138,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12015
12138
|
|
|
12016
12139
|
<div class="doc doc-contents ">
|
|
12017
12140
|
|
|
12018
|
-
|
|
12141
|
+
<p>Create a token for API calls.</p>
|
|
12019
12142
|
|
|
12020
12143
|
</div>
|
|
12021
12144
|
|
|
@@ -12032,7 +12155,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12032
12155
|
|
|
12033
12156
|
<div class="doc doc-contents ">
|
|
12034
12157
|
|
|
12035
|
-
|
|
12158
|
+
<p>Set or unset a specific API version for requests in this test case.</p>
|
|
12036
12159
|
|
|
12037
12160
|
</div>
|
|
12038
12161
|
|
|
@@ -12059,7 +12182,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12059
12182
|
|
|
12060
12183
|
<div class="doc doc-contents ">
|
|
12061
12184
|
<p class="doc doc-class-bases">
|
|
12062
|
-
Bases: <code><
|
|
12185
|
+
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>
|
|
12186
|
+
|
|
12187
|
+
|
|
12188
|
+
|
|
12189
|
+
|
|
12190
|
+
|
|
12063
12191
|
|
|
12064
12192
|
|
|
12065
12193
|
|
|
@@ -12086,7 +12214,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12086
12214
|
|
|
12087
12215
|
<div class="doc doc-contents ">
|
|
12088
12216
|
|
|
12089
|
-
|
|
12217
|
+
<p>Create a superuser and token for API calls.</p>
|
|
12090
12218
|
|
|
12091
12219
|
</div>
|
|
12092
12220
|
|
|
@@ -12117,6 +12245,11 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12117
12245
|
|
|
12118
12246
|
|
|
12119
12247
|
|
|
12248
|
+
|
|
12249
|
+
|
|
12250
|
+
|
|
12251
|
+
|
|
12252
|
+
|
|
12120
12253
|
<div class="doc doc-children">
|
|
12121
12254
|
|
|
12122
12255
|
|
|
@@ -12139,7 +12272,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12139
12272
|
|
|
12140
12273
|
<div class="doc doc-contents ">
|
|
12141
12274
|
<p class="doc doc-class-bases">
|
|
12142
|
-
Bases: <code><
|
|
12275
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12276
|
+
|
|
12277
|
+
|
|
12278
|
+
|
|
12279
|
+
|
|
12280
|
+
|
|
12143
12281
|
|
|
12144
12282
|
|
|
12145
12283
|
|
|
@@ -12166,7 +12304,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12166
12304
|
|
|
12167
12305
|
<div class="doc doc-contents ">
|
|
12168
12306
|
|
|
12169
|
-
|
|
12307
|
+
<p>POST a set of objects in a single request.</p>
|
|
12170
12308
|
|
|
12171
12309
|
</div>
|
|
12172
12310
|
|
|
@@ -12183,7 +12321,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12183
12321
|
|
|
12184
12322
|
<div class="doc doc-contents ">
|
|
12185
12323
|
|
|
12186
|
-
|
|
12324
|
+
<p>POST a single object with permission.</p>
|
|
12187
12325
|
|
|
12188
12326
|
</div>
|
|
12189
12327
|
|
|
@@ -12200,7 +12338,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12200
12338
|
|
|
12201
12339
|
<div class="doc doc-contents ">
|
|
12202
12340
|
|
|
12203
|
-
|
|
12341
|
+
<p>POST a single object without permission.</p>
|
|
12204
12342
|
|
|
12205
12343
|
</div>
|
|
12206
12344
|
|
|
@@ -12217,7 +12355,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12217
12355
|
|
|
12218
12356
|
<div class="doc doc-contents ">
|
|
12219
12357
|
|
|
12220
|
-
|
|
12358
|
+
<p>CSV export an object, delete it, and recreate it via CSV import.</p>
|
|
12221
12359
|
|
|
12222
12360
|
</div>
|
|
12223
12361
|
|
|
@@ -12244,7 +12382,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12244
12382
|
|
|
12245
12383
|
<div class="doc doc-contents ">
|
|
12246
12384
|
<p class="doc doc-class-bases">
|
|
12247
|
-
Bases: <code><
|
|
12385
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12386
|
+
|
|
12387
|
+
|
|
12388
|
+
|
|
12389
|
+
|
|
12390
|
+
|
|
12248
12391
|
|
|
12249
12392
|
|
|
12250
12393
|
|
|
@@ -12271,7 +12414,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12271
12414
|
|
|
12272
12415
|
<div class="doc doc-contents ">
|
|
12273
12416
|
|
|
12274
|
-
|
|
12417
|
+
<p>Get an instance that can be deleted.</p>
|
|
12275
12418
|
<p>For some models this may just be any random object, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
12276
12419
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
12277
12420
|
|
|
@@ -12290,7 +12433,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12290
12433
|
|
|
12291
12434
|
<div class="doc doc-contents ">
|
|
12292
12435
|
|
|
12293
|
-
|
|
12436
|
+
<p>Get a list of PKs corresponding to objects that can be safely bulk-deleted.</p>
|
|
12294
12437
|
<p>For some models this may just be any random objects, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
12295
12438
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
12296
12439
|
|
|
@@ -12309,7 +12452,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12309
12452
|
|
|
12310
12453
|
<div class="doc doc-contents ">
|
|
12311
12454
|
|
|
12312
|
-
|
|
12455
|
+
<p>DELETE a set of objects in a single request.</p>
|
|
12313
12456
|
|
|
12314
12457
|
</div>
|
|
12315
12458
|
|
|
@@ -12326,7 +12469,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12326
12469
|
|
|
12327
12470
|
<div class="doc doc-contents ">
|
|
12328
12471
|
|
|
12329
|
-
|
|
12472
|
+
<p>DELETE a single object identified by its primary key.</p>
|
|
12330
12473
|
|
|
12331
12474
|
</div>
|
|
12332
12475
|
|
|
@@ -12343,7 +12486,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12343
12486
|
|
|
12344
12487
|
<div class="doc doc-contents ">
|
|
12345
12488
|
|
|
12346
|
-
|
|
12489
|
+
<p>DELETE a single object without permission.</p>
|
|
12347
12490
|
|
|
12348
12491
|
</div>
|
|
12349
12492
|
|
|
@@ -12370,7 +12513,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12370
12513
|
|
|
12371
12514
|
<div class="doc doc-contents ">
|
|
12372
12515
|
<p class="doc doc-class-bases">
|
|
12373
|
-
Bases: <code><
|
|
12516
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12517
|
+
|
|
12518
|
+
|
|
12519
|
+
|
|
12520
|
+
|
|
12521
|
+
|
|
12374
12522
|
|
|
12375
12523
|
|
|
12376
12524
|
|
|
@@ -12397,7 +12545,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12397
12545
|
|
|
12398
12546
|
<div class="doc doc-contents ">
|
|
12399
12547
|
|
|
12400
|
-
|
|
12548
|
+
<p>GET a single object as an authenticated user with permission to view the object.</p>
|
|
12401
12549
|
|
|
12402
12550
|
</div>
|
|
12403
12551
|
|
|
@@ -12414,7 +12562,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12414
12562
|
|
|
12415
12563
|
<div class="doc doc-contents ">
|
|
12416
12564
|
|
|
12417
|
-
|
|
12565
|
+
<p>GET a single object as an unauthenticated user.</p>
|
|
12418
12566
|
|
|
12419
12567
|
</div>
|
|
12420
12568
|
|
|
@@ -12431,7 +12579,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12431
12579
|
|
|
12432
12580
|
<div class="doc doc-contents ">
|
|
12433
12581
|
|
|
12434
|
-
|
|
12582
|
+
<p>GET a single object as an authenticated user without the required permission.</p>
|
|
12435
12583
|
|
|
12436
12584
|
</div>
|
|
12437
12585
|
|
|
@@ -12448,7 +12596,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12448
12596
|
|
|
12449
12597
|
<div class="doc doc-contents ">
|
|
12450
12598
|
|
|
12451
|
-
|
|
12599
|
+
<p>Make an OPTIONS request for a single object.</p>
|
|
12452
12600
|
|
|
12453
12601
|
</div>
|
|
12454
12602
|
|
|
@@ -12475,7 +12623,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12475
12623
|
|
|
12476
12624
|
<div class="doc doc-contents ">
|
|
12477
12625
|
<p class="doc doc-class-bases">
|
|
12478
|
-
Bases: <code><
|
|
12626
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12627
|
+
|
|
12628
|
+
|
|
12629
|
+
|
|
12630
|
+
|
|
12631
|
+
|
|
12479
12632
|
|
|
12480
12633
|
|
|
12481
12634
|
|
|
@@ -12502,7 +12655,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12502
12655
|
|
|
12503
12656
|
<div class="doc doc-contents ">
|
|
12504
12657
|
|
|
12505
|
-
|
|
12658
|
+
<p>Get a list of model fields that could be tested with the ?depth query parameter</p>
|
|
12506
12659
|
|
|
12507
12660
|
</div>
|
|
12508
12661
|
|
|
@@ -12519,7 +12672,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12519
12672
|
|
|
12520
12673
|
<div class="doc doc-contents ">
|
|
12521
12674
|
|
|
12522
|
-
|
|
12675
|
+
<p>GET a list of objects as an authenticated user with permission to view the objects.</p>
|
|
12523
12676
|
|
|
12524
12677
|
</div>
|
|
12525
12678
|
|
|
@@ -12536,7 +12689,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12536
12689
|
|
|
12537
12690
|
<div class="doc doc-contents ">
|
|
12538
12691
|
|
|
12539
|
-
|
|
12692
|
+
<p>GET a list of objects as an unauthenticated user.</p>
|
|
12540
12693
|
|
|
12541
12694
|
</div>
|
|
12542
12695
|
|
|
@@ -12553,7 +12706,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12553
12706
|
|
|
12554
12707
|
<div class="doc doc-contents ">
|
|
12555
12708
|
|
|
12556
|
-
|
|
12709
|
+
<p>GET a list of objects in CSV format as an authenticated user with permission to view some objects.</p>
|
|
12557
12710
|
|
|
12558
12711
|
</div>
|
|
12559
12712
|
|
|
@@ -12570,7 +12723,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12570
12723
|
|
|
12571
12724
|
<div class="doc doc-contents ">
|
|
12572
12725
|
|
|
12573
|
-
|
|
12726
|
+
<p>GET a list of objects using the "?depth=0" parameter.</p>
|
|
12574
12727
|
|
|
12575
12728
|
</div>
|
|
12576
12729
|
|
|
@@ -12587,7 +12740,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12587
12740
|
|
|
12588
12741
|
<div class="doc doc-contents ">
|
|
12589
12742
|
|
|
12590
|
-
|
|
12743
|
+
<p>GET a list of objects using the "?depth=1" parameter.</p>
|
|
12591
12744
|
|
|
12592
12745
|
</div>
|
|
12593
12746
|
|
|
@@ -12604,7 +12757,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12604
12757
|
|
|
12605
12758
|
<div class="doc doc-contents ">
|
|
12606
12759
|
|
|
12607
|
-
|
|
12760
|
+
<p>GET a list of objects filtered by ID.</p>
|
|
12608
12761
|
|
|
12609
12762
|
</div>
|
|
12610
12763
|
|
|
@@ -12621,7 +12774,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12621
12774
|
|
|
12622
12775
|
<div class="doc doc-contents ">
|
|
12623
12776
|
|
|
12624
|
-
|
|
12777
|
+
<p>GET a list of objects with an unknown filter parameter and no strict filtering, expect it to be ignored.</p>
|
|
12625
12778
|
|
|
12626
12779
|
</div>
|
|
12627
12780
|
|
|
@@ -12638,7 +12791,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12638
12791
|
|
|
12639
12792
|
<div class="doc doc-contents ">
|
|
12640
12793
|
|
|
12641
|
-
|
|
12794
|
+
<p>GET a list of objects with an unknown filter parameter and strict filtering, expect a 400 response.</p>
|
|
12642
12795
|
|
|
12643
12796
|
</div>
|
|
12644
12797
|
|
|
@@ -12655,7 +12808,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12655
12808
|
|
|
12656
12809
|
<div class="doc doc-contents ">
|
|
12657
12810
|
|
|
12658
|
-
|
|
12811
|
+
<p>GET a list of objects as an authenticated user without the required permission.</p>
|
|
12659
12812
|
|
|
12660
12813
|
</div>
|
|
12661
12814
|
|
|
@@ -12672,7 +12825,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12672
12825
|
|
|
12673
12826
|
<div class="doc doc-contents ">
|
|
12674
12827
|
|
|
12675
|
-
|
|
12828
|
+
<p>Make an OPTIONS request for a list endpoint.</p>
|
|
12676
12829
|
|
|
12677
12830
|
</div>
|
|
12678
12831
|
|
|
@@ -12699,10 +12852,15 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12699
12852
|
|
|
12700
12853
|
<div class="doc doc-contents ">
|
|
12701
12854
|
<p class="doc doc-class-bases">
|
|
12702
|
-
Bases: <code><
|
|
12855
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12856
|
+
|
|
12857
|
+
|
|
12858
|
+
<p>Validate Notes URL on objects that have the Note model Mixin.</p>
|
|
12859
|
+
|
|
12860
|
+
|
|
12861
|
+
|
|
12703
12862
|
|
|
12704
12863
|
|
|
12705
|
-
<p>Validate Notes URL on objects that have the Note model Mixin.</p>
|
|
12706
12864
|
|
|
12707
12865
|
|
|
12708
12866
|
|
|
@@ -12739,7 +12897,12 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12739
12897
|
<div class="doc doc-contents ">
|
|
12740
12898
|
|
|
12741
12899
|
|
|
12742
|
-
|
|
12900
|
+
<p>Test <code>?depth=2</code> query parameter for TreeModel</p>
|
|
12901
|
+
|
|
12902
|
+
|
|
12903
|
+
|
|
12904
|
+
|
|
12905
|
+
|
|
12743
12906
|
|
|
12744
12907
|
|
|
12745
12908
|
|
|
@@ -12765,7 +12928,7 @@ its test case should overload self.VERBOTEN_STRINGS appropriately.</p>
|
|
|
12765
12928
|
|
|
12766
12929
|
<div class="doc doc-contents ">
|
|
12767
12930
|
|
|
12768
|
-
|
|
12931
|
+
<p>GET a list of objects using the "?depth=2" parameter.
|
|
12769
12932
|
TreeModel Only</p>
|
|
12770
12933
|
|
|
12771
12934
|
</div>
|
|
@@ -12793,7 +12956,12 @@ TreeModel Only</p>
|
|
|
12793
12956
|
|
|
12794
12957
|
<div class="doc doc-contents ">
|
|
12795
12958
|
<p class="doc doc-class-bases">
|
|
12796
|
-
Bases: <code><
|
|
12959
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.api.APITestCase" href="#nautobot.apps.testing.APITestCase">APITestCase</a></code></p>
|
|
12960
|
+
|
|
12961
|
+
|
|
12962
|
+
|
|
12963
|
+
|
|
12964
|
+
|
|
12797
12965
|
|
|
12798
12966
|
|
|
12799
12967
|
|
|
@@ -12820,7 +12988,7 @@ TreeModel Only</p>
|
|
|
12820
12988
|
|
|
12821
12989
|
<div class="doc doc-contents ">
|
|
12822
12990
|
|
|
12823
|
-
|
|
12991
|
+
<p>PATCH a set of objects in a single request.</p>
|
|
12824
12992
|
|
|
12825
12993
|
</div>
|
|
12826
12994
|
|
|
@@ -12837,7 +13005,7 @@ TreeModel Only</p>
|
|
|
12837
13005
|
|
|
12838
13006
|
<div class="doc doc-contents ">
|
|
12839
13007
|
|
|
12840
|
-
|
|
13008
|
+
<p>GET and then PUT an object and verify that it's accepted and unchanged.</p>
|
|
12841
13009
|
|
|
12842
13010
|
</div>
|
|
12843
13011
|
|
|
@@ -12854,7 +13022,7 @@ TreeModel Only</p>
|
|
|
12854
13022
|
|
|
12855
13023
|
<div class="doc doc-contents ">
|
|
12856
13024
|
|
|
12857
|
-
|
|
13025
|
+
<p>Make an OPTIONS request for a list endpoint and validate choices match expected choices for serializer.</p>
|
|
12858
13026
|
|
|
12859
13027
|
</div>
|
|
12860
13028
|
|
|
@@ -12871,7 +13039,7 @@ TreeModel Only</p>
|
|
|
12871
13039
|
|
|
12872
13040
|
<div class="doc doc-contents ">
|
|
12873
13041
|
|
|
12874
|
-
|
|
13042
|
+
<p>PATCH a single object identified by its ID.</p>
|
|
12875
13043
|
|
|
12876
13044
|
</div>
|
|
12877
13045
|
|
|
@@ -12888,7 +13056,7 @@ TreeModel Only</p>
|
|
|
12888
13056
|
|
|
12889
13057
|
<div class="doc doc-contents ">
|
|
12890
13058
|
|
|
12891
|
-
|
|
13059
|
+
<p>PATCH a single object without permission.</p>
|
|
12892
13060
|
|
|
12893
13061
|
</div>
|
|
12894
13062
|
|
|
@@ -12928,6 +13096,11 @@ TreeModel Only</p>
|
|
|
12928
13096
|
|
|
12929
13097
|
|
|
12930
13098
|
|
|
13099
|
+
|
|
13100
|
+
|
|
13101
|
+
|
|
13102
|
+
|
|
13103
|
+
|
|
12931
13104
|
<div class="doc doc-children">
|
|
12932
13105
|
|
|
12933
13106
|
|
|
@@ -12950,10 +13123,15 @@ TreeModel Only</p>
|
|
|
12950
13123
|
|
|
12951
13124
|
<div class="doc doc-contents ">
|
|
12952
13125
|
<p class="doc doc-class-bases">
|
|
12953
|
-
Bases: <code><
|
|
13126
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
13127
|
+
|
|
13128
|
+
|
|
13129
|
+
<p>Base class for testing of FilterSets.</p>
|
|
13130
|
+
|
|
13131
|
+
|
|
13132
|
+
|
|
12954
13133
|
|
|
12955
13134
|
|
|
12956
|
-
<p>Base class for testing of FilterSets.</p>
|
|
12957
13135
|
|
|
12958
13136
|
|
|
12959
13137
|
|
|
@@ -12979,7 +13157,7 @@ TreeModel Only</p>
|
|
|
12979
13157
|
|
|
12980
13158
|
<div class="doc doc-contents ">
|
|
12981
13159
|
|
|
12982
|
-
|
|
13160
|
+
<p>Returns a list of distinct values from the requested queryset field to use in filterset tests.</p>
|
|
12983
13161
|
<p>Returns a list for use in testing multiple choice filters. The size of the returned list is random
|
|
12984
13162
|
but will contain at minimum 2 unique values. The list of values will match at least 2 instances when
|
|
12985
13163
|
passed to the queryset's filter(field_name__in=[]) method but will fail to match at least one instance.</p>
|
|
@@ -12997,9 +13175,11 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
12997
13175
|
</thead>
|
|
12998
13176
|
<tbody>
|
|
12999
13177
|
<tr class="doc-section-item">
|
|
13000
|
-
<td><code>field_name</code></td>
|
|
13001
13178
|
<td>
|
|
13002
|
-
|
|
13179
|
+
<code>field_name</code>
|
|
13180
|
+
</td>
|
|
13181
|
+
<td>
|
|
13182
|
+
<code>str</code>
|
|
13003
13183
|
</td>
|
|
13004
13184
|
<td>
|
|
13005
13185
|
<div class="doc-md-description">
|
|
@@ -13011,9 +13191,11 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
13011
13191
|
</td>
|
|
13012
13192
|
</tr>
|
|
13013
13193
|
<tr class="doc-section-item">
|
|
13014
|
-
<td><code>queryset</code></td>
|
|
13015
13194
|
<td>
|
|
13016
|
-
|
|
13195
|
+
<code>queryset</code>
|
|
13196
|
+
</td>
|
|
13197
|
+
<td>
|
|
13198
|
+
<code><span title="django.db.models.QuerySet">QuerySet</span></code>
|
|
13017
13199
|
</td>
|
|
13018
13200
|
<td>
|
|
13019
13201
|
<div class="doc-md-description">
|
|
@@ -13039,7 +13221,7 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
13039
13221
|
<tbody>
|
|
13040
13222
|
<tr class="doc-section-item">
|
|
13041
13223
|
<td>
|
|
13042
|
-
<code
|
|
13224
|
+
<code>list</code>
|
|
13043
13225
|
</td>
|
|
13044
13226
|
<td>
|
|
13045
13227
|
<div class="doc-md-description">
|
|
@@ -13062,7 +13244,7 @@ passed to the queryset's filter(field_name__in=[]) method but will fail to match
|
|
|
13062
13244
|
<tbody>
|
|
13063
13245
|
<tr class="doc-section-item">
|
|
13064
13246
|
<td>
|
|
13065
|
-
<code
|
|
13247
|
+
<code>ValueError</code>
|
|
13066
13248
|
</td>
|
|
13067
13249
|
<td>
|
|
13068
13250
|
<div class="doc-md-description">
|
|
@@ -13099,10 +13281,15 @@ to filter the queryset to a subset of the total instances.</p>
|
|
|
13099
13281
|
|
|
13100
13282
|
<div class="doc doc-contents ">
|
|
13101
13283
|
<p class="doc doc-class-bases">
|
|
13102
|
-
Bases: <code><
|
|
13284
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.filters.FilterTestCases.BaseFilterTestCase" href="#nautobot.apps.testing.FilterTestCases.BaseFilterTestCase">BaseFilterTestCase</a></code></p>
|
|
13285
|
+
|
|
13286
|
+
|
|
13287
|
+
<p>Add common tests for all FilterSets.</p>
|
|
13288
|
+
|
|
13289
|
+
|
|
13290
|
+
|
|
13103
13291
|
|
|
13104
13292
|
|
|
13105
|
-
<p>Add common tests for all FilterSets.</p>
|
|
13106
13293
|
|
|
13107
13294
|
|
|
13108
13295
|
|
|
@@ -13128,7 +13315,7 @@ to filter the queryset to a subset of the total instances.</p>
|
|
|
13128
13315
|
|
|
13129
13316
|
<div class="doc doc-contents ">
|
|
13130
13317
|
|
|
13131
|
-
|
|
13318
|
+
<p>Helper method to return q filter.</p>
|
|
13132
13319
|
|
|
13133
13320
|
</div>
|
|
13134
13321
|
|
|
@@ -13145,7 +13332,7 @@ to filter the queryset to a subset of the total instances.</p>
|
|
|
13145
13332
|
|
|
13146
13333
|
<div class="doc doc-contents ">
|
|
13147
13334
|
|
|
13148
|
-
|
|
13335
|
+
<p>Test all <code>RelatedMembershipBooleanFilter</code> filters found in <code>self.filterset.get_filters()</code>
|
|
13149
13336
|
except for the ones with custom filter logic defined in its <code>method</code> attribute.</p>
|
|
13150
13337
|
<p>This test asserts that <code>filter=True</code> matches <code>self.queryset.filter(field__isnull=False)</code> and
|
|
13151
13338
|
that <code>filter=False</code> matches <code>self.queryset.filter(field__isnull=True)</code>.</p>
|
|
@@ -13165,7 +13352,7 @@ that <code>filter=False</code> matches <code>self.queryset.filter(field__isnull=
|
|
|
13165
13352
|
|
|
13166
13353
|
<div class="doc doc-contents ">
|
|
13167
13354
|
|
|
13168
|
-
|
|
13355
|
+
<p>Test all multiple choice filters declared in <code>self.generic_filter_tests</code>.</p>
|
|
13169
13356
|
<p>This test uses <code>get_filterset_test_values()</code> to retrieve a valid set of test data and asserts
|
|
13170
13357
|
that the filterset filter output matches the corresponding queryset filter.
|
|
13171
13358
|
The majority of Nautobot filters use conjoined=False, so the extra logic to support conjoined=True has not
|
|
@@ -13193,6 +13380,23 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13193
13380
|
<div class="doc doc-object doc-function">
|
|
13194
13381
|
|
|
13195
13382
|
|
|
13383
|
+
<h4 id="nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="doc doc-heading">
|
|
13384
|
+
<code class="highlight language-python"><span class="n">test_id</span><span class="p">()</span></code>
|
|
13385
|
+
|
|
13386
|
+
<a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_id" class="headerlink" title="Permanent link">¶</a></h4>
|
|
13387
|
+
|
|
13388
|
+
|
|
13389
|
+
<div class="doc doc-contents ">
|
|
13390
|
+
|
|
13391
|
+
<p>Verify that the filterset supports filtering by id with only lookup <code>__n</code>.</p>
|
|
13392
|
+
|
|
13393
|
+
</div>
|
|
13394
|
+
|
|
13395
|
+
</div>
|
|
13396
|
+
|
|
13397
|
+
<div class="doc doc-object doc-function">
|
|
13398
|
+
|
|
13399
|
+
|
|
13196
13400
|
<h4 id="nautobot.apps.testing.FilterTestCases.FilterTestCase.test_invalid_filter" class="doc doc-heading">
|
|
13197
13401
|
<code class="highlight language-python"><span class="n">test_invalid_filter</span><span class="p">()</span></code>
|
|
13198
13402
|
|
|
@@ -13201,7 +13405,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13201
13405
|
|
|
13202
13406
|
<div class="doc doc-contents ">
|
|
13203
13407
|
|
|
13204
|
-
|
|
13408
|
+
<p>Verify that the filterset reports as invalid when initialized with an unsupported filter parameter.</p>
|
|
13205
13409
|
|
|
13206
13410
|
</div>
|
|
13207
13411
|
|
|
@@ -13218,7 +13422,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13218
13422
|
|
|
13219
13423
|
<div class="doc doc-contents ">
|
|
13220
13424
|
|
|
13221
|
-
|
|
13425
|
+
<p>Test the <code>q</code> filter based on attributes in <code>filter_predicates</code>.</p>
|
|
13222
13426
|
|
|
13223
13427
|
</div>
|
|
13224
13428
|
|
|
@@ -13235,7 +13439,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13235
13439
|
|
|
13236
13440
|
<div class="doc doc-contents ">
|
|
13237
13441
|
|
|
13238
|
-
|
|
13442
|
+
<p>Test the <code>tags</code> filter which should be present on all PrimaryModel filtersets.</p>
|
|
13239
13443
|
|
|
13240
13444
|
</div>
|
|
13241
13445
|
|
|
@@ -13262,10 +13466,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13262
13466
|
|
|
13263
13467
|
<div class="doc doc-contents ">
|
|
13264
13468
|
<p class="doc doc-class-bases">
|
|
13265
|
-
Bases: <code><
|
|
13469
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.filters.FilterTestCases.FilterTestCase" href="#nautobot.apps.testing.FilterTestCases.FilterTestCase">FilterTestCase</a></code></p>
|
|
13470
|
+
|
|
13471
|
+
|
|
13472
|
+
<p>Add simple tests for filtering by name.</p>
|
|
13473
|
+
|
|
13474
|
+
|
|
13475
|
+
|
|
13266
13476
|
|
|
13267
13477
|
|
|
13268
|
-
<p>Add simple tests for filtering by name.</p>
|
|
13269
13478
|
|
|
13270
13479
|
|
|
13271
13480
|
|
|
@@ -13301,10 +13510,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13301
13510
|
|
|
13302
13511
|
<div class="doc doc-contents ">
|
|
13303
13512
|
<p class="doc doc-class-bases">
|
|
13304
|
-
Bases: <code><
|
|
13513
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.filters.FilterTestCases.FilterTestCase" href="#nautobot.apps.testing.FilterTestCases.FilterTestCase">FilterTestCase</a></code></p>
|
|
13514
|
+
|
|
13515
|
+
|
|
13516
|
+
<p>Add simple tests for filtering by name and by slug.</p>
|
|
13517
|
+
|
|
13518
|
+
|
|
13519
|
+
|
|
13305
13520
|
|
|
13306
13521
|
|
|
13307
|
-
<p>Add simple tests for filtering by name and by slug.</p>
|
|
13308
13522
|
|
|
13309
13523
|
|
|
13310
13524
|
|
|
@@ -13340,10 +13554,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13340
13554
|
|
|
13341
13555
|
<div class="doc doc-contents ">
|
|
13342
13556
|
<p class="doc doc-class-bases">
|
|
13343
|
-
Bases: <code><
|
|
13557
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
13558
|
+
|
|
13559
|
+
|
|
13560
|
+
<p>Add test cases for tenant and tenant-group filters.</p>
|
|
13561
|
+
|
|
13562
|
+
|
|
13563
|
+
|
|
13344
13564
|
|
|
13345
13565
|
|
|
13346
|
-
<p>Add test cases for tenant and tenant-group filters.</p>
|
|
13347
13566
|
|
|
13348
13567
|
|
|
13349
13568
|
|
|
@@ -13392,6 +13611,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13392
13611
|
|
|
13393
13612
|
|
|
13394
13613
|
|
|
13614
|
+
|
|
13615
|
+
|
|
13616
|
+
|
|
13617
|
+
|
|
13618
|
+
|
|
13395
13619
|
<div class="doc doc-children">
|
|
13396
13620
|
|
|
13397
13621
|
|
|
@@ -13414,10 +13638,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13414
13638
|
|
|
13415
13639
|
<div class="doc doc-contents ">
|
|
13416
13640
|
<p class="doc doc-class-bases">
|
|
13417
|
-
Bases: <code><
|
|
13641
|
+
Bases: <code><span title="django.test.TestCase">TestCase</span></code></p>
|
|
13642
|
+
|
|
13643
|
+
|
|
13644
|
+
<p>Base class for generic form tests.</p>
|
|
13645
|
+
|
|
13646
|
+
|
|
13647
|
+
|
|
13418
13648
|
|
|
13419
13649
|
|
|
13420
|
-
<p>Base class for generic form tests.</p>
|
|
13421
13650
|
|
|
13422
13651
|
|
|
13423
13652
|
|
|
@@ -13462,10 +13691,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13462
13691
|
|
|
13463
13692
|
<div class="doc doc-contents ">
|
|
13464
13693
|
<p class="doc doc-class-bases">
|
|
13465
|
-
Bases: <code><
|
|
13694
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
13695
|
+
|
|
13696
|
+
|
|
13697
|
+
<p>Parent class for TestCases which deal with models.</p>
|
|
13698
|
+
|
|
13699
|
+
|
|
13700
|
+
|
|
13466
13701
|
|
|
13467
13702
|
|
|
13468
|
-
<p>Parent class for TestCases which deal with models.</p>
|
|
13469
13703
|
|
|
13470
13704
|
|
|
13471
13705
|
|
|
@@ -13505,6 +13739,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13505
13739
|
|
|
13506
13740
|
|
|
13507
13741
|
|
|
13742
|
+
|
|
13743
|
+
|
|
13744
|
+
|
|
13745
|
+
|
|
13746
|
+
|
|
13508
13747
|
<div class="doc doc-children">
|
|
13509
13748
|
|
|
13510
13749
|
|
|
@@ -13527,10 +13766,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13527
13766
|
|
|
13528
13767
|
<div class="doc doc-contents ">
|
|
13529
13768
|
<p class="doc doc-class-bases">
|
|
13530
|
-
Bases: <code><
|
|
13769
|
+
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>
|
|
13770
|
+
|
|
13771
|
+
|
|
13772
|
+
<p>Base class for generic model tests.</p>
|
|
13773
|
+
|
|
13774
|
+
|
|
13775
|
+
|
|
13531
13776
|
|
|
13532
13777
|
|
|
13533
|
-
<p>Base class for generic model tests.</p>
|
|
13534
13778
|
|
|
13535
13779
|
|
|
13536
13780
|
|
|
@@ -13556,7 +13800,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13556
13800
|
|
|
13557
13801
|
<div class="doc doc-contents ">
|
|
13558
13802
|
|
|
13559
|
-
|
|
13803
|
+
<p>Check that <code>composite_key</code> and filtering by <code>composite_key</code> both work.</p>
|
|
13560
13804
|
|
|
13561
13805
|
</div>
|
|
13562
13806
|
|
|
@@ -13573,7 +13817,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13573
13817
|
|
|
13574
13818
|
<div class="doc doc-contents ">
|
|
13575
13819
|
|
|
13576
|
-
|
|
13820
|
+
<p>For dynamic-group capable models, check that they work as intended.</p>
|
|
13577
13821
|
|
|
13578
13822
|
</div>
|
|
13579
13823
|
|
|
@@ -13590,7 +13834,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13590
13834
|
|
|
13591
13835
|
<div class="doc doc-contents ">
|
|
13592
13836
|
|
|
13593
|
-
|
|
13837
|
+
<p>Check that <code>get_docs_url()</code> returns a valid static file path for this model.</p>
|
|
13594
13838
|
|
|
13595
13839
|
</div>
|
|
13596
13840
|
|
|
@@ -13607,7 +13851,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13607
13851
|
|
|
13608
13852
|
<div class="doc doc-contents ">
|
|
13609
13853
|
|
|
13610
|
-
|
|
13854
|
+
<p>Check that <code>natural_key()</code> and <code>get_by_natural_key()</code> work reciprocally.</p>
|
|
13611
13855
|
|
|
13612
13856
|
</div>
|
|
13613
13857
|
|
|
@@ -13643,10 +13887,15 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13643
13887
|
|
|
13644
13888
|
<div class="doc doc-contents ">
|
|
13645
13889
|
<p class="doc doc-class-bases">
|
|
13646
|
-
Bases: <code><
|
|
13890
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelTestCase" href="#nautobot.apps.testing.ModelTestCase">ModelTestCase</a></code></p>
|
|
13891
|
+
|
|
13892
|
+
|
|
13893
|
+
<p>Base TestCase for model views. Subclass to test individual views.</p>
|
|
13894
|
+
|
|
13895
|
+
|
|
13896
|
+
|
|
13647
13897
|
|
|
13648
13898
|
|
|
13649
|
-
<p>Base TestCase for model views. Subclass to test individual views.</p>
|
|
13650
13899
|
|
|
13651
13900
|
|
|
13652
13901
|
|
|
@@ -13676,7 +13925,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13676
13925
|
|
|
13677
13926
|
<div class="doc doc-contents ">
|
|
13678
13927
|
|
|
13679
|
-
|
|
13928
|
+
<p>Name of instance field to pass as a kwarg when looking up URLs for creating/editing/deleting a model instance.</p>
|
|
13680
13929
|
<p>If unspecified, "pk" and "slug" will be tried, in that order.</p>
|
|
13681
13930
|
</div>
|
|
13682
13931
|
|
|
@@ -13705,7 +13954,12 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13705
13954
|
|
|
13706
13955
|
<div class="doc doc-contents ">
|
|
13707
13956
|
<p class="doc doc-class-bases">
|
|
13708
|
-
Bases: <code><
|
|
13957
|
+
Bases: <code><span title="django.test.TestCase">TestCase</span></code></p>
|
|
13958
|
+
|
|
13959
|
+
|
|
13960
|
+
|
|
13961
|
+
|
|
13962
|
+
|
|
13709
13963
|
|
|
13710
13964
|
|
|
13711
13965
|
|
|
@@ -13732,7 +13986,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13732
13986
|
|
|
13733
13987
|
<div class="doc doc-contents ">
|
|
13734
13988
|
|
|
13735
|
-
|
|
13989
|
+
<p>Populate your Nautobot data before migrating from the first migration to the second</p>
|
|
13736
13990
|
|
|
13737
13991
|
</div>
|
|
13738
13992
|
|
|
@@ -13760,7 +14014,12 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13760
14014
|
<div class="doc doc-contents ">
|
|
13761
14015
|
|
|
13762
14016
|
|
|
13763
|
-
|
|
14017
|
+
<p>Base class for all Nautobot-specific unit tests.</p>
|
|
14018
|
+
|
|
14019
|
+
|
|
14020
|
+
|
|
14021
|
+
|
|
14022
|
+
|
|
13764
14023
|
|
|
13765
14024
|
|
|
13766
14025
|
|
|
@@ -13786,7 +14045,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13786
14045
|
|
|
13787
14046
|
<div class="doc doc-contents ">
|
|
13788
14047
|
|
|
13789
|
-
|
|
14048
|
+
<p>Get the absolute API URL ("http://nautobot.example.com/api/...") for a given object.</p>
|
|
13790
14049
|
|
|
13791
14050
|
</div>
|
|
13792
14051
|
|
|
@@ -13796,14 +14055,21 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13796
14055
|
|
|
13797
14056
|
|
|
13798
14057
|
<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>
|
|
14058
|
+
<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
14059
|
|
|
13801
14060
|
<a href="#nautobot.apps.testing.NautobotTestCaseMixin.add_permissions" class="headerlink" title="Permanent link">¶</a></h3>
|
|
13802
14061
|
|
|
13803
14062
|
|
|
13804
14063
|
<div class="doc doc-contents ">
|
|
13805
14064
|
|
|
13806
|
-
|
|
14065
|
+
<p>Assign a set of permissions to the test user. Accepts permission names in the form <app>.<action>_<model>.
|
|
14066
|
+
Additional keyword arguments will be passed to the ObjectPermission constructor to allow creating more detailed permissions.</p>
|
|
14067
|
+
|
|
14068
|
+
|
|
14069
|
+
<p><span class="doc-section-title">Examples:</span></p>
|
|
14070
|
+
<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>
|
|
14071
|
+
<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>
|
|
14072
|
+
</code></pre></div>
|
|
13807
14073
|
|
|
13808
14074
|
</div>
|
|
13809
14075
|
|
|
@@ -13820,7 +14086,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13820
14086
|
|
|
13821
14087
|
<div class="doc doc-contents ">
|
|
13822
14088
|
|
|
13823
|
-
|
|
14089
|
+
<p>Like assertNumQueries, but fuzzier. Assert that the number of queries falls within an acceptable range.</p>
|
|
13824
14090
|
|
|
13825
14091
|
</div>
|
|
13826
14092
|
|
|
@@ -13837,7 +14103,7 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13837
14103
|
|
|
13838
14104
|
<div class="doc doc-contents ">
|
|
13839
14105
|
|
|
13840
|
-
|
|
14106
|
+
<p>Like Django's <code>assertContains</code>, but uses <code>extract_page_body</code> utility function to scope the check more narrowly.</p>
|
|
13841
14107
|
|
|
13842
14108
|
|
|
13843
14109
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -13852,9 +14118,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13852
14118
|
</thead>
|
|
13853
14119
|
<tbody>
|
|
13854
14120
|
<tr class="doc-section-item">
|
|
13855
|
-
<td><code>response</code></td>
|
|
13856
14121
|
<td>
|
|
13857
|
-
|
|
14122
|
+
<code>response</code>
|
|
14123
|
+
</td>
|
|
14124
|
+
<td>
|
|
14125
|
+
<code>HttpResponse</code>
|
|
13858
14126
|
</td>
|
|
13859
14127
|
<td>
|
|
13860
14128
|
<div class="doc-md-description">
|
|
@@ -13866,9 +14134,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13866
14134
|
</td>
|
|
13867
14135
|
</tr>
|
|
13868
14136
|
<tr class="doc-section-item">
|
|
13869
|
-
<td><code>text</code></td>
|
|
13870
14137
|
<td>
|
|
13871
|
-
|
|
14138
|
+
<code>text</code>
|
|
14139
|
+
</td>
|
|
14140
|
+
<td>
|
|
14141
|
+
<code>str</code>
|
|
13872
14142
|
</td>
|
|
13873
14143
|
<td>
|
|
13874
14144
|
<div class="doc-md-description">
|
|
@@ -13880,9 +14150,11 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
13880
14150
|
</td>
|
|
13881
14151
|
</tr>
|
|
13882
14152
|
<tr class="doc-section-item">
|
|
13883
|
-
<td><code>count</code></td>
|
|
13884
14153
|
<td>
|
|
13885
|
-
|
|
14154
|
+
<code>count</code>
|
|
14155
|
+
</td>
|
|
14156
|
+
<td>
|
|
14157
|
+
<code>int</code>
|
|
13886
14158
|
</td>
|
|
13887
14159
|
<td>
|
|
13888
14160
|
<div class="doc-md-description">
|
|
@@ -13895,9 +14167,11 @@ it's present at all.</p>
|
|
|
13895
14167
|
</td>
|
|
13896
14168
|
</tr>
|
|
13897
14169
|
<tr class="doc-section-item">
|
|
13898
|
-
<td><code>status_code</code></td>
|
|
13899
14170
|
<td>
|
|
13900
|
-
|
|
14171
|
+
<code>status_code</code>
|
|
14172
|
+
</td>
|
|
14173
|
+
<td>
|
|
14174
|
+
<code>int</code>
|
|
13901
14175
|
</td>
|
|
13902
14176
|
<td>
|
|
13903
14177
|
<div class="doc-md-description">
|
|
@@ -13909,9 +14183,11 @@ it's present at all.</p>
|
|
|
13909
14183
|
</td>
|
|
13910
14184
|
</tr>
|
|
13911
14185
|
<tr class="doc-section-item">
|
|
13912
|
-
<td><code>html</code></td>
|
|
13913
14186
|
<td>
|
|
13914
|
-
|
|
14187
|
+
<code>html</code>
|
|
14188
|
+
</td>
|
|
14189
|
+
<td>
|
|
14190
|
+
<code>bool</code>
|
|
13915
14191
|
</td>
|
|
13916
14192
|
<td>
|
|
13917
14193
|
<div class="doc-md-description">
|
|
@@ -13940,7 +14216,7 @@ it's present at all.</p>
|
|
|
13940
14216
|
|
|
13941
14217
|
<div class="doc doc-contents ">
|
|
13942
14218
|
|
|
13943
|
-
|
|
14219
|
+
<p>TestCase method. Provide more detail in the event of an unexpected HTTP response.</p>
|
|
13944
14220
|
|
|
13945
14221
|
</div>
|
|
13946
14222
|
|
|
@@ -13957,7 +14233,7 @@ it's present at all.</p>
|
|
|
13957
14233
|
|
|
13958
14234
|
<div class="doc doc-contents ">
|
|
13959
14235
|
|
|
13960
|
-
|
|
14236
|
+
<p>Compare a model instance to a dictionary, checking that its attribute values match those specified
|
|
13961
14237
|
in the dictionary.</p>
|
|
13962
14238
|
<p>:param instance: Python object instance
|
|
13963
14239
|
:param data: Dictionary of test data used to define the instance
|
|
@@ -13979,7 +14255,7 @@ in the dictionary.</p>
|
|
|
13979
14255
|
|
|
13980
14256
|
<div class="doc doc-contents ">
|
|
13981
14257
|
|
|
13982
|
-
|
|
14258
|
+
<p>Wrapper for assertQuerysetEqual with additional logic to assert input queryset and values are not empty</p>
|
|
13983
14259
|
|
|
13984
14260
|
</div>
|
|
13985
14261
|
|
|
@@ -14000,7 +14276,7 @@ in the dictionary.</p>
|
|
|
14000
14276
|
|
|
14001
14277
|
<div class="doc doc-contents ">
|
|
14002
14278
|
|
|
14003
|
-
|
|
14279
|
+
<p>Create and return a Tag instance for each name given.</p>
|
|
14004
14280
|
<p>DEPRECATED: use TagFactory instead.</p>
|
|
14005
14281
|
|
|
14006
14282
|
</div>
|
|
@@ -14018,7 +14294,7 @@ in the dictionary.</p>
|
|
|
14018
14294
|
|
|
14019
14295
|
<div class="doc doc-contents ">
|
|
14020
14296
|
|
|
14021
|
-
|
|
14297
|
+
<p>Return a dictionary representation of an instance.</p>
|
|
14022
14298
|
|
|
14023
14299
|
</div>
|
|
14024
14300
|
|
|
@@ -14035,7 +14311,7 @@ in the dictionary.</p>
|
|
|
14035
14311
|
|
|
14036
14312
|
<div class="doc doc-contents ">
|
|
14037
14313
|
|
|
14038
|
-
|
|
14314
|
+
<p>Test cases can override this method to perform any necessary manipulation of an instance prior to its evaluation
|
|
14039
14315
|
against test data. For example, it can be used to decrypt a Secret's plaintext attribute.</p>
|
|
14040
14316
|
|
|
14041
14317
|
</div>
|
|
@@ -14053,7 +14329,7 @@ against test data. For example, it can be used to decrypt a Secret's plaintext a
|
|
|
14053
14329
|
|
|
14054
14330
|
<div class="doc doc-contents ">
|
|
14055
14331
|
|
|
14056
|
-
|
|
14332
|
+
<p>Setup shared testuser, statuses and client.</p>
|
|
14057
14333
|
|
|
14058
14334
|
</div>
|
|
14059
14335
|
|
|
@@ -14070,7 +14346,7 @@ against test data. For example, it can be used to decrypt a Secret's plaintext a
|
|
|
14070
14346
|
|
|
14071
14347
|
<div class="doc doc-contents ">
|
|
14072
14348
|
|
|
14073
|
-
|
|
14349
|
+
<p>Clear cache after each test case.</p>
|
|
14074
14350
|
<p>In theory this shouldn't be necessary as our cache <strong>should</strong> appropriately update and clear itself when
|
|
14075
14351
|
data changes occur, but in practice we've seen issues here. Best guess at present is that it's due to
|
|
14076
14352
|
<code>TransactionTestCase</code> truncating the database, which presumably doesn't trigger the relevant Django signals
|
|
@@ -14102,15 +14378,20 @@ that would otherwise refresh the cache appropriately.</p>
|
|
|
14102
14378
|
|
|
14103
14379
|
<div class="doc doc-contents ">
|
|
14104
14380
|
<p class="doc doc-class-bases">
|
|
14105
|
-
Bases: <code><
|
|
14381
|
+
Bases: <code><span title="rest_framework.test.APIClient">APIClient</span></code></p>
|
|
14106
14382
|
|
|
14107
14383
|
|
|
14108
|
-
|
|
14384
|
+
<p>Base client class for Nautobot testing.</p>
|
|
14109
14385
|
<p>DO NOT USE THIS IN PRODUCTION NAUTOBOT CODE.</p>
|
|
14110
14386
|
|
|
14111
14387
|
|
|
14112
14388
|
|
|
14113
14389
|
|
|
14390
|
+
|
|
14391
|
+
|
|
14392
|
+
|
|
14393
|
+
|
|
14394
|
+
|
|
14114
14395
|
<div class="doc doc-children">
|
|
14115
14396
|
|
|
14116
14397
|
|
|
@@ -14132,7 +14413,7 @@ that would otherwise refresh the cache appropriately.</p>
|
|
|
14132
14413
|
|
|
14133
14414
|
<div class="doc doc-contents ">
|
|
14134
14415
|
|
|
14135
|
-
|
|
14416
|
+
<p>Default the SERVER_NAME to "nautobot.example.com" rather than Django's default "testserver".</p>
|
|
14136
14417
|
<p>This matches the ALLOWED_HOSTS set in nautobot/core/tests/nautobot_config.py and
|
|
14137
14418
|
helps to protect us against issues like https://github.com/nautobot/nautobot/issues/3065.</p>
|
|
14138
14419
|
|
|
@@ -14165,6 +14446,11 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14165
14446
|
|
|
14166
14447
|
|
|
14167
14448
|
|
|
14449
|
+
|
|
14450
|
+
|
|
14451
|
+
|
|
14452
|
+
|
|
14453
|
+
|
|
14168
14454
|
<div class="doc doc-children">
|
|
14169
14455
|
|
|
14170
14456
|
|
|
@@ -14187,10 +14473,15 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14187
14473
|
|
|
14188
14474
|
<div class="doc doc-contents ">
|
|
14189
14475
|
<p class="doc doc-class-bases">
|
|
14190
|
-
Bases: <code><
|
|
14476
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.TestCase" href="#nautobot.apps.testing.TestCase">TestCase</a></code></p>
|
|
14477
|
+
|
|
14478
|
+
|
|
14479
|
+
<p>Base class for testing of the OpenAPI schema.</p>
|
|
14480
|
+
|
|
14481
|
+
|
|
14482
|
+
|
|
14191
14483
|
|
|
14192
14484
|
|
|
14193
|
-
<p>Base class for testing of the OpenAPI schema.</p>
|
|
14194
14485
|
|
|
14195
14486
|
|
|
14196
14487
|
|
|
@@ -14216,7 +14507,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14216
14507
|
|
|
14217
14508
|
<div class="doc doc-contents ">
|
|
14218
14509
|
|
|
14219
|
-
|
|
14510
|
+
<p>Test method to assert that this polymorphic component has the expected permitted types.</p>
|
|
14220
14511
|
|
|
14221
14512
|
</div>
|
|
14222
14513
|
|
|
@@ -14233,7 +14524,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14233
14524
|
|
|
14234
14525
|
<div class="doc doc-contents ">
|
|
14235
14526
|
|
|
14236
|
-
|
|
14527
|
+
<p>Test method to assert that the given component property is marked as non-nullable.</p>
|
|
14237
14528
|
|
|
14238
14529
|
</div>
|
|
14239
14530
|
|
|
@@ -14250,7 +14541,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14250
14541
|
|
|
14251
14542
|
<div class="doc doc-contents ">
|
|
14252
14543
|
|
|
14253
|
-
|
|
14544
|
+
<p>Test method to assert that the given component property is not marked as read-only.</p>
|
|
14254
14545
|
|
|
14255
14546
|
</div>
|
|
14256
14547
|
|
|
@@ -14267,7 +14558,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14267
14558
|
|
|
14268
14559
|
<div class="doc doc-contents ">
|
|
14269
14560
|
|
|
14270
|
-
|
|
14561
|
+
<p>Test method to assert that the given component property is marked as nullable.</p>
|
|
14271
14562
|
|
|
14272
14563
|
</div>
|
|
14273
14564
|
|
|
@@ -14284,7 +14575,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14284
14575
|
|
|
14285
14576
|
<div class="doc doc-contents ">
|
|
14286
14577
|
|
|
14287
|
-
|
|
14578
|
+
<p>Test method to assert that the given component property is marked as read-only.</p>
|
|
14288
14579
|
|
|
14289
14580
|
</div>
|
|
14290
14581
|
|
|
@@ -14301,7 +14592,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14301
14592
|
|
|
14302
14593
|
<div class="doc doc-contents ">
|
|
14303
14594
|
|
|
14304
|
-
|
|
14595
|
+
<p>Helper method to pull a specific component schema from the larger OpenAPI schema already loaded.</p>
|
|
14305
14596
|
|
|
14306
14597
|
</div>
|
|
14307
14598
|
|
|
@@ -14318,7 +14609,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14318
14609
|
|
|
14319
14610
|
<div class="doc doc-contents ">
|
|
14320
14611
|
|
|
14321
|
-
|
|
14612
|
+
<p>Helper method to identify a component referenced by the given property of the current component.</p>
|
|
14322
14613
|
|
|
14323
14614
|
</div>
|
|
14324
14615
|
|
|
@@ -14335,7 +14626,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14335
14626
|
|
|
14336
14627
|
<div class="doc doc-contents ">
|
|
14337
14628
|
|
|
14338
|
-
|
|
14629
|
+
<p>Helper method to pull a specific property schema from a larger component schema already extracted.</p>
|
|
14339
14630
|
|
|
14340
14631
|
</div>
|
|
14341
14632
|
|
|
@@ -14352,7 +14643,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14352
14643
|
|
|
14353
14644
|
<div class="doc doc-contents ">
|
|
14354
14645
|
|
|
14355
|
-
|
|
14646
|
+
<p>Bringing it all together.</p>
|
|
14356
14647
|
<p>This validates the schema to show that:
|
|
14357
14648
|
- The component exists and has such a property
|
|
14358
14649
|
- The property has the correct <code>nullable</code> and <code>readOnly</code> values
|
|
@@ -14372,7 +14663,7 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14372
14663
|
<tbody>
|
|
14373
14664
|
<tr class="doc-section-item">
|
|
14374
14665
|
<td>
|
|
14375
|
-
<code
|
|
14666
|
+
<code>Tuple[ref_component_name, ref_component_schema]</code>
|
|
14376
14667
|
</td>
|
|
14377
14668
|
<td>
|
|
14378
14669
|
<div class="doc-md-description">
|
|
@@ -14417,16 +14708,21 @@ helps to protect us against issues like https://github.com/nautobot/nautobot/iss
|
|
|
14417
14708
|
|
|
14418
14709
|
<div class="doc doc-contents ">
|
|
14419
14710
|
<p class="doc doc-class-bases">
|
|
14420
|
-
Bases: <code><
|
|
14711
|
+
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
14712
|
|
|
14422
14713
|
|
|
14423
|
-
|
|
14714
|
+
<p>Base test case for Splinter Selenium integration testing with custom helper methods.</p>
|
|
14424
14715
|
<p>This extends <code>django.contrib.staticfiles.testing.StaticLiveServerTestCase</code>
|
|
14425
14716
|
so there is no need to run <code>collectstatic</code> prior to running tests.</p>
|
|
14426
14717
|
|
|
14427
14718
|
|
|
14428
14719
|
|
|
14429
14720
|
|
|
14721
|
+
|
|
14722
|
+
|
|
14723
|
+
|
|
14724
|
+
|
|
14725
|
+
|
|
14430
14726
|
<div class="doc doc-children">
|
|
14431
14727
|
|
|
14432
14728
|
|
|
@@ -14448,7 +14744,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14448
14744
|
|
|
14449
14745
|
<div class="doc doc-contents ">
|
|
14450
14746
|
|
|
14451
|
-
|
|
14747
|
+
<p>Helper function to click the "Create" button on a form.</p>
|
|
14452
14748
|
|
|
14453
14749
|
</div>
|
|
14454
14750
|
|
|
@@ -14465,7 +14761,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14465
14761
|
|
|
14466
14762
|
<div class="doc doc-contents ">
|
|
14467
14763
|
|
|
14468
|
-
|
|
14764
|
+
<p>Helper function to click the "Add" button on a list view.</p>
|
|
14469
14765
|
|
|
14470
14766
|
</div>
|
|
14471
14767
|
|
|
@@ -14482,7 +14778,24 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14482
14778
|
|
|
14483
14779
|
<div class="doc doc-contents ">
|
|
14484
14780
|
|
|
14485
|
-
|
|
14781
|
+
<p>Helper function to click on a parent menu and child menu in the navigation bar.</p>
|
|
14782
|
+
|
|
14783
|
+
</div>
|
|
14784
|
+
|
|
14785
|
+
</div>
|
|
14786
|
+
|
|
14787
|
+
<div class="doc doc-object doc-function">
|
|
14788
|
+
|
|
14789
|
+
|
|
14790
|
+
<h3 id="nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="doc doc-heading">
|
|
14791
|
+
<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>
|
|
14792
|
+
|
|
14793
|
+
<a href="#nautobot.apps.testing.SeleniumTestCase.fill_filters_select2_field" class="headerlink" title="Permanent link">¶</a></h3>
|
|
14794
|
+
|
|
14795
|
+
|
|
14796
|
+
<div class="doc doc-contents ">
|
|
14797
|
+
|
|
14798
|
+
<p>Helper function to fill a Select2 single selection field on filters modals.</p>
|
|
14486
14799
|
|
|
14487
14800
|
</div>
|
|
14488
14801
|
|
|
@@ -14499,7 +14812,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14499
14812
|
|
|
14500
14813
|
<div class="doc doc-contents ">
|
|
14501
14814
|
|
|
14502
|
-
|
|
14815
|
+
<p>Helper function to fill a Select2 single selection field on add/edit forms.</p>
|
|
14503
14816
|
|
|
14504
14817
|
</div>
|
|
14505
14818
|
|
|
@@ -14516,7 +14829,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14516
14829
|
|
|
14517
14830
|
<div class="doc doc-contents ">
|
|
14518
14831
|
|
|
14519
|
-
|
|
14832
|
+
<p>Helper function to fill a Select2 multi-selection field.</p>
|
|
14520
14833
|
|
|
14521
14834
|
</div>
|
|
14522
14835
|
|
|
@@ -14533,7 +14846,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14533
14846
|
|
|
14534
14847
|
<div class="doc doc-contents ">
|
|
14535
14848
|
|
|
14536
|
-
|
|
14849
|
+
<p>Navigate to <code>login_url</code> and perform a login w/ the provided <code>username</code> and <code>password</code>.</p>
|
|
14537
14850
|
|
|
14538
14851
|
</div>
|
|
14539
14852
|
|
|
@@ -14554,7 +14867,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14554
14867
|
|
|
14555
14868
|
<div class="doc doc-contents ">
|
|
14556
14869
|
|
|
14557
|
-
|
|
14870
|
+
<p>Close down the browser after tests are ran.</p>
|
|
14558
14871
|
|
|
14559
14872
|
</div>
|
|
14560
14873
|
|
|
@@ -14581,10 +14894,15 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14581
14894
|
|
|
14582
14895
|
<div class="doc doc-contents ">
|
|
14583
14896
|
<p class="doc doc-class-bases">
|
|
14584
|
-
Bases: <code><
|
|
14897
|
+
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>
|
|
14898
|
+
|
|
14899
|
+
|
|
14900
|
+
<p>Base class for all Nautobot-specific unit tests.</p>
|
|
14901
|
+
|
|
14902
|
+
|
|
14903
|
+
|
|
14585
14904
|
|
|
14586
14905
|
|
|
14587
|
-
<p>Base class for all Nautobot-specific unit tests.</p>
|
|
14588
14906
|
|
|
14589
14907
|
|
|
14590
14908
|
|
|
@@ -14610,7 +14928,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14610
14928
|
|
|
14611
14929
|
<div class="doc doc-contents ">
|
|
14612
14930
|
|
|
14613
|
-
|
|
14931
|
+
<p>Initialize user and client.</p>
|
|
14614
14932
|
|
|
14615
14933
|
</div>
|
|
14616
14934
|
|
|
@@ -14637,10 +14955,15 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14637
14955
|
|
|
14638
14956
|
<div class="doc doc-contents ">
|
|
14639
14957
|
<p class="doc doc-class-bases">
|
|
14640
|
-
Bases: <code><
|
|
14958
|
+
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>
|
|
14959
|
+
|
|
14960
|
+
|
|
14961
|
+
<p>Base test case class using the TransactionTestCase for unit testing</p>
|
|
14962
|
+
|
|
14963
|
+
|
|
14964
|
+
|
|
14641
14965
|
|
|
14642
14966
|
|
|
14643
|
-
<p>Base test case class using the TransactionTestCase for unit testing</p>
|
|
14644
14967
|
|
|
14645
14968
|
|
|
14646
14969
|
|
|
@@ -14666,7 +14989,7 @@ so there is no need to run <code>collectstatic</code> prior to running tests.</p
|
|
|
14666
14989
|
|
|
14667
14990
|
<div class="doc doc-contents ">
|
|
14668
14991
|
|
|
14669
|
-
|
|
14992
|
+
<p>Provide a clean, post-migration state before each test case.</p>
|
|
14670
14993
|
<p>django.test.TransactionTestCase truncates the database after each test runs. We need at least the default
|
|
14671
14994
|
statuses present in the database in order to run tests.</p>
|
|
14672
14995
|
|
|
@@ -14696,7 +15019,12 @@ statuses present in the database in order to run tests.</p>
|
|
|
14696
15019
|
<div class="doc doc-contents ">
|
|
14697
15020
|
|
|
14698
15021
|
|
|
14699
|
-
|
|
15022
|
+
<p>We keep any TestCases with test_* methods inside a class to prevent unittest from trying to run them.</p>
|
|
15023
|
+
|
|
15024
|
+
|
|
15025
|
+
|
|
15026
|
+
|
|
15027
|
+
|
|
14700
15028
|
|
|
14701
15029
|
|
|
14702
15030
|
|
|
@@ -14723,10 +15051,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
14723
15051
|
|
|
14724
15052
|
<div class="doc doc-contents ">
|
|
14725
15053
|
<p class="doc doc-class-bases">
|
|
14726
|
-
Bases: <code><
|
|
15054
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15055
|
+
|
|
15056
|
+
|
|
15057
|
+
<p>Delete multiple instances.</p>
|
|
15058
|
+
|
|
15059
|
+
|
|
15060
|
+
|
|
14727
15061
|
|
|
14728
15062
|
|
|
14729
|
-
<p>Delete multiple instances.</p>
|
|
14730
15063
|
|
|
14731
15064
|
|
|
14732
15065
|
|
|
@@ -14752,7 +15085,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
14752
15085
|
|
|
14753
15086
|
<div class="doc doc-contents ">
|
|
14754
15087
|
|
|
14755
|
-
|
|
15088
|
+
<p>Get a list of PKs corresponding to objects that can be safely bulk-deleted.</p>
|
|
14756
15089
|
<p>For some models this may just be any random objects, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
14757
15090
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
14758
15091
|
|
|
@@ -14781,16 +15114,21 @@ statuses present in the database in order to run tests.</p>
|
|
|
14781
15114
|
|
|
14782
15115
|
<div class="doc doc-contents ">
|
|
14783
15116
|
<p class="doc doc-class-bases">
|
|
14784
|
-
Bases: <code><
|
|
15117
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
14785
15118
|
|
|
14786
15119
|
|
|
14787
|
-
|
|
15120
|
+
<p>Edit multiple instances.</p>
|
|
14788
15121
|
<p>:bulk_edit_data: A dictionary of data to be used when bulk editing a set of objects. This data should differ
|
|
14789
15122
|
from that used for initial object creation within setUpTestData().</p>
|
|
14790
15123
|
|
|
14791
15124
|
|
|
14792
15125
|
|
|
14793
15126
|
|
|
15127
|
+
|
|
15128
|
+
|
|
15129
|
+
|
|
15130
|
+
|
|
15131
|
+
|
|
14794
15132
|
<div class="doc doc-children">
|
|
14795
15133
|
|
|
14796
15134
|
|
|
@@ -14822,10 +15160,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
14822
15160
|
|
|
14823
15161
|
<div class="doc doc-contents ">
|
|
14824
15162
|
<p class="doc doc-class-bases">
|
|
14825
|
-
Bases: <code><
|
|
15163
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15164
|
+
|
|
15165
|
+
|
|
15166
|
+
<p>Rename multiple instances.</p>
|
|
15167
|
+
|
|
15168
|
+
|
|
15169
|
+
|
|
14826
15170
|
|
|
14827
15171
|
|
|
14828
|
-
<p>Rename multiple instances.</p>
|
|
14829
15172
|
|
|
14830
15173
|
|
|
14831
15174
|
|
|
@@ -14861,16 +15204,21 @@ statuses present in the database in order to run tests.</p>
|
|
|
14861
15204
|
|
|
14862
15205
|
<div class="doc doc-contents ">
|
|
14863
15206
|
<p class="doc doc-class-bases">
|
|
14864
|
-
Bases: <code><
|
|
15207
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
14865
15208
|
|
|
14866
15209
|
|
|
14867
|
-
|
|
15210
|
+
<p>Create multiple instances using a single form. Expects the creation of three new instances by default.</p>
|
|
14868
15211
|
<p>:bulk_create_count: The number of objects expected to be created (default: 3).
|
|
14869
15212
|
:bulk_create_data: A dictionary of data to be used for bulk object creation.</p>
|
|
14870
15213
|
|
|
14871
15214
|
|
|
14872
15215
|
|
|
14873
15216
|
|
|
15217
|
+
|
|
15218
|
+
|
|
15219
|
+
|
|
15220
|
+
|
|
15221
|
+
|
|
14874
15222
|
<div class="doc doc-children">
|
|
14875
15223
|
|
|
14876
15224
|
|
|
@@ -14902,15 +15250,20 @@ statuses present in the database in order to run tests.</p>
|
|
|
14902
15250
|
|
|
14903
15251
|
<div class="doc doc-contents ">
|
|
14904
15252
|
<p class="doc doc-class-bases">
|
|
14905
|
-
Bases: <code><
|
|
15253
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
14906
15254
|
|
|
14907
15255
|
|
|
14908
|
-
|
|
15256
|
+
<p>Create a single new instance.</p>
|
|
14909
15257
|
<p>:form_data: Data to be used when creating a new object.</p>
|
|
14910
15258
|
|
|
14911
15259
|
|
|
14912
15260
|
|
|
14913
15261
|
|
|
15262
|
+
|
|
15263
|
+
|
|
15264
|
+
|
|
15265
|
+
|
|
15266
|
+
|
|
14914
15267
|
<div class="doc doc-children">
|
|
14915
15268
|
|
|
14916
15269
|
|
|
@@ -14942,10 +15295,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
14942
15295
|
|
|
14943
15296
|
<div class="doc doc-contents ">
|
|
14944
15297
|
<p class="doc doc-class-bases">
|
|
14945
|
-
Bases: <code><
|
|
15298
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15299
|
+
|
|
15300
|
+
|
|
15301
|
+
<p>Delete a single instance.</p>
|
|
15302
|
+
|
|
15303
|
+
|
|
15304
|
+
|
|
14946
15305
|
|
|
14947
15306
|
|
|
14948
|
-
<p>Delete a single instance.</p>
|
|
14949
15307
|
|
|
14950
15308
|
|
|
14951
15309
|
|
|
@@ -14971,7 +15329,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
14971
15329
|
|
|
14972
15330
|
<div class="doc doc-contents ">
|
|
14973
15331
|
|
|
14974
|
-
|
|
15332
|
+
<p>Get an instance that can be deleted.</p>
|
|
14975
15333
|
<p>For some models this may just be any random object, but when we have FKs with <code>on_delete=models.PROTECT</code>
|
|
14976
15334
|
(as is often the case) we need to find or create an instance that doesn't have such entanglements.</p>
|
|
14977
15335
|
|
|
@@ -15000,10 +15358,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15000
15358
|
|
|
15001
15359
|
<div class="doc doc-contents ">
|
|
15002
15360
|
<p class="doc doc-class-bases">
|
|
15003
|
-
Bases: <code><
|
|
15361
|
+
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>
|
|
15362
|
+
|
|
15363
|
+
|
|
15364
|
+
<p>TestCase suitable for testing device component template models (ConsolePortTemplates, InterfaceTemplates, etc.)</p>
|
|
15365
|
+
|
|
15366
|
+
|
|
15367
|
+
|
|
15004
15368
|
|
|
15005
15369
|
|
|
15006
|
-
<p>TestCase suitable for testing device component template models (ConsolePortTemplates, InterfaceTemplates, etc.)</p>
|
|
15007
15370
|
|
|
15008
15371
|
|
|
15009
15372
|
|
|
@@ -15039,10 +15402,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15039
15402
|
|
|
15040
15403
|
<div class="doc doc-contents ">
|
|
15041
15404
|
<p class="doc doc-class-bases">
|
|
15042
|
-
Bases: <code><
|
|
15405
|
+
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>
|
|
15406
|
+
|
|
15407
|
+
|
|
15408
|
+
<p>TestCase suitable for testing device component models (ConsolePorts, Interfaces, etc.)</p>
|
|
15409
|
+
|
|
15410
|
+
|
|
15411
|
+
|
|
15043
15412
|
|
|
15044
15413
|
|
|
15045
|
-
<p>TestCase suitable for testing device component models (ConsolePorts, Interfaces, etc.)</p>
|
|
15046
15414
|
|
|
15047
15415
|
|
|
15048
15416
|
|
|
@@ -15072,7 +15440,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15072
15440
|
|
|
15073
15441
|
<div class="doc doc-contents ">
|
|
15074
15442
|
|
|
15075
|
-
|
|
15443
|
+
<p>Used for bulk-add (distinct from bulk-create) view testing; self.bulk_create_data will be used if unset.</p>
|
|
15076
15444
|
</div>
|
|
15077
15445
|
|
|
15078
15446
|
</div>
|
|
@@ -15090,7 +15458,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15090
15458
|
|
|
15091
15459
|
<div class="doc doc-contents ">
|
|
15092
15460
|
|
|
15093
|
-
|
|
15461
|
+
<p>Test bulk-adding this component to devices/virtual-machines.</p>
|
|
15094
15462
|
|
|
15095
15463
|
</div>
|
|
15096
15464
|
|
|
@@ -15117,16 +15485,21 @@ statuses present in the database in order to run tests.</p>
|
|
|
15117
15485
|
|
|
15118
15486
|
<div class="doc doc-contents ">
|
|
15119
15487
|
<p class="doc doc-class-bases">
|
|
15120
|
-
Bases: <code><
|
|
15488
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15121
15489
|
|
|
15122
15490
|
|
|
15123
|
-
|
|
15491
|
+
<p>Edit a single existing instance.</p>
|
|
15124
15492
|
<p>:update_data: Data to be used when updating the first existing object, fall back to form_data if not provided.
|
|
15125
15493
|
:form_data: Fall back to this data if update_data is not provided, for backward compatibility.</p>
|
|
15126
15494
|
|
|
15127
15495
|
|
|
15128
15496
|
|
|
15129
15497
|
|
|
15498
|
+
|
|
15499
|
+
|
|
15500
|
+
|
|
15501
|
+
|
|
15502
|
+
|
|
15130
15503
|
<div class="doc doc-children">
|
|
15131
15504
|
|
|
15132
15505
|
|
|
@@ -15158,10 +15531,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15158
15531
|
|
|
15159
15532
|
<div class="doc doc-contents ">
|
|
15160
15533
|
<p class="doc doc-class-bases">
|
|
15161
|
-
Bases: <code><
|
|
15534
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15535
|
+
|
|
15536
|
+
|
|
15537
|
+
<p>View the changelog for an instance.</p>
|
|
15538
|
+
|
|
15539
|
+
|
|
15540
|
+
|
|
15162
15541
|
|
|
15163
15542
|
|
|
15164
|
-
<p>View the changelog for an instance.</p>
|
|
15165
15543
|
|
|
15166
15544
|
|
|
15167
15545
|
|
|
@@ -15197,10 +15575,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15197
15575
|
|
|
15198
15576
|
<div class="doc doc-contents ">
|
|
15199
15577
|
<p class="doc doc-class-bases">
|
|
15200
|
-
Bases: <code><
|
|
15578
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15579
|
+
|
|
15580
|
+
|
|
15581
|
+
<p>View the notes for an instance.</p>
|
|
15582
|
+
|
|
15583
|
+
|
|
15584
|
+
|
|
15201
15585
|
|
|
15202
15586
|
|
|
15203
|
-
<p>View the notes for an instance.</p>
|
|
15204
15587
|
|
|
15205
15588
|
|
|
15206
15589
|
|
|
@@ -15236,10 +15619,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15236
15619
|
|
|
15237
15620
|
<div class="doc doc-contents ">
|
|
15238
15621
|
<p class="doc doc-class-bases">
|
|
15239
|
-
Bases: <code><
|
|
15622
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15623
|
+
|
|
15624
|
+
|
|
15625
|
+
<p>Retrieve a single instance.</p>
|
|
15626
|
+
|
|
15627
|
+
|
|
15628
|
+
|
|
15240
15629
|
|
|
15241
15630
|
|
|
15242
|
-
<p>Retrieve a single instance.</p>
|
|
15243
15631
|
|
|
15244
15632
|
|
|
15245
15633
|
|
|
@@ -15275,10 +15663,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15275
15663
|
|
|
15276
15664
|
<div class="doc doc-contents ">
|
|
15277
15665
|
<p class="doc doc-class-bases">
|
|
15278
|
-
Bases: <code><
|
|
15666
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.testing.views.ModelViewTestCase" href="#nautobot.apps.testing.ModelViewTestCase">ModelViewTestCase</a></code></p>
|
|
15667
|
+
|
|
15668
|
+
|
|
15669
|
+
<p>Retrieve multiple instances.</p>
|
|
15670
|
+
|
|
15671
|
+
|
|
15672
|
+
|
|
15279
15673
|
|
|
15280
15674
|
|
|
15281
|
-
<p>Retrieve multiple instances.</p>
|
|
15282
15675
|
|
|
15283
15676
|
|
|
15284
15677
|
|
|
@@ -15304,7 +15697,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15304
15697
|
|
|
15305
15698
|
<div class="doc doc-contents ">
|
|
15306
15699
|
|
|
15307
|
-
|
|
15700
|
+
<p>Verify that without STRICT_FILTERING, an unknown filter is ignored.</p>
|
|
15308
15701
|
|
|
15309
15702
|
</div>
|
|
15310
15703
|
|
|
@@ -15321,7 +15714,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15321
15714
|
|
|
15322
15715
|
<div class="doc doc-contents ">
|
|
15323
15716
|
|
|
15324
|
-
|
|
15717
|
+
<p>Verify that with STRICT_FILTERING, an unknown filter results in an error message and no matches.</p>
|
|
15325
15718
|
|
|
15326
15719
|
</div>
|
|
15327
15720
|
|
|
@@ -15338,7 +15731,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15338
15731
|
|
|
15339
15732
|
<div class="doc doc-contents ">
|
|
15340
15733
|
|
|
15341
|
-
|
|
15734
|
+
<p>If example app is installed, check if the app banner is rendered correctly in ObjectListView.</p>
|
|
15342
15735
|
|
|
15343
15736
|
</div>
|
|
15344
15737
|
|
|
@@ -15365,10 +15758,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15365
15758
|
|
|
15366
15759
|
<div class="doc doc-contents ">
|
|
15367
15760
|
<p class="doc doc-class-bases">
|
|
15368
|
-
Bases: <code><
|
|
15761
|
+
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>
|
|
15762
|
+
|
|
15763
|
+
|
|
15764
|
+
<p>TestCase suitable for all organizational objects</p>
|
|
15765
|
+
|
|
15766
|
+
|
|
15767
|
+
|
|
15369
15768
|
|
|
15370
15769
|
|
|
15371
|
-
<p>TestCase suitable for all organizational objects</p>
|
|
15372
15770
|
|
|
15373
15771
|
|
|
15374
15772
|
|
|
@@ -15404,10 +15802,15 @@ statuses present in the database in order to run tests.</p>
|
|
|
15404
15802
|
|
|
15405
15803
|
<div class="doc doc-contents ">
|
|
15406
15804
|
<p class="doc doc-class-bases">
|
|
15407
|
-
Bases: <code><
|
|
15805
|
+
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>
|
|
15806
|
+
|
|
15807
|
+
|
|
15808
|
+
<p>TestCase suitable for testing all standard View functions for primary objects</p>
|
|
15809
|
+
|
|
15810
|
+
|
|
15811
|
+
|
|
15408
15812
|
|
|
15409
15813
|
|
|
15410
|
-
<p>TestCase suitable for testing all standard View functions for primary objects</p>
|
|
15411
15814
|
|
|
15412
15815
|
|
|
15413
15816
|
|
|
@@ -15451,7 +15854,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15451
15854
|
|
|
15452
15855
|
<div class="doc doc-contents ">
|
|
15453
15856
|
|
|
15454
|
-
|
|
15857
|
+
<p>Test helper function to call get_job_class_and_model() then call run_job_for_testing().</p>
|
|
15455
15858
|
|
|
15456
15859
|
</div>
|
|
15457
15860
|
|
|
@@ -15468,7 +15871,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15468
15871
|
|
|
15469
15872
|
<div class="doc doc-contents ">
|
|
15470
15873
|
|
|
15471
|
-
|
|
15874
|
+
<p>Create a User with the given permissions.</p>
|
|
15472
15875
|
|
|
15473
15876
|
</div>
|
|
15474
15877
|
|
|
@@ -15485,7 +15888,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15485
15888
|
|
|
15486
15889
|
<div class="doc doc-contents ">
|
|
15487
15890
|
|
|
15488
|
-
|
|
15891
|
+
<p>Temporarily suppress expected warning messages to keep the test output clean.</p>
|
|
15489
15892
|
|
|
15490
15893
|
</div>
|
|
15491
15894
|
|
|
@@ -15502,7 +15905,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15502
15905
|
|
|
15503
15906
|
<div class="doc doc-contents ">
|
|
15504
15907
|
|
|
15505
|
-
|
|
15908
|
+
<p>Given decoded HTML content from an HTTP response, return a list of form errors.</p>
|
|
15506
15909
|
|
|
15507
15910
|
</div>
|
|
15508
15911
|
|
|
@@ -15519,7 +15922,7 @@ statuses present in the database in order to run tests.</p>
|
|
|
15519
15922
|
|
|
15520
15923
|
<div class="doc doc-contents ">
|
|
15521
15924
|
|
|
15522
|
-
|
|
15925
|
+
<p>Given raw HTML content from an HTTP response, extract the main div only.</p>
|
|
15523
15926
|
<html>
|
|
15524
15927
|
<head>... <link href="../../../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
|
|
15525
15928
|
html.glightbox-open { overflow: initial; height: 100%; }
|
|
@@ -15558,7 +15961,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15558
15961
|
|
|
15559
15962
|
<div class="doc doc-contents ">
|
|
15560
15963
|
|
|
15561
|
-
|
|
15964
|
+
<p>For testing purposes only; it returns a random string of size 100 consisting of letters and numbers.</p>
|
|
15562
15965
|
|
|
15563
15966
|
</div>
|
|
15564
15967
|
|
|
@@ -15575,7 +15978,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15575
15978
|
|
|
15576
15979
|
<div class="doc doc-contents ">
|
|
15577
15980
|
|
|
15578
|
-
|
|
15981
|
+
<p>Returns a subset of objects in the given queryset that have no protected relationships that would prevent deletion.</p>
|
|
15579
15982
|
|
|
15580
15983
|
</div>
|
|
15581
15984
|
|
|
@@ -15592,7 +15995,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15592
15995
|
|
|
15593
15996
|
<div class="doc doc-contents ">
|
|
15594
15997
|
|
|
15595
|
-
|
|
15998
|
+
<p>Test helper function to look up a job class and job model and ensure the latter is enabled.</p>
|
|
15596
15999
|
|
|
15597
16000
|
|
|
15598
16001
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15607,9 +16010,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15607
16010
|
</thead>
|
|
15608
16011
|
<tbody>
|
|
15609
16012
|
<tr class="doc-section-item">
|
|
15610
|
-
<td><code>module</code></td>
|
|
15611
16013
|
<td>
|
|
15612
|
-
|
|
16014
|
+
<code>module</code>
|
|
16015
|
+
</td>
|
|
16016
|
+
<td>
|
|
16017
|
+
<code>str</code>
|
|
15613
16018
|
</td>
|
|
15614
16019
|
<td>
|
|
15615
16020
|
<div class="doc-md-description">
|
|
@@ -15621,9 +16026,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15621
16026
|
</td>
|
|
15622
16027
|
</tr>
|
|
15623
16028
|
<tr class="doc-section-item">
|
|
15624
|
-
<td><code>name</code></td>
|
|
15625
16029
|
<td>
|
|
15626
|
-
|
|
16030
|
+
<code>name</code>
|
|
16031
|
+
</td>
|
|
16032
|
+
<td>
|
|
16033
|
+
<code>str</code>
|
|
15627
16034
|
</td>
|
|
15628
16035
|
<td>
|
|
15629
16036
|
<div class="doc-md-description">
|
|
@@ -15635,9 +16042,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15635
16042
|
</td>
|
|
15636
16043
|
</tr>
|
|
15637
16044
|
<tr class="doc-section-item">
|
|
15638
|
-
<td><code>source</code></td>
|
|
15639
16045
|
<td>
|
|
15640
|
-
|
|
16046
|
+
<code>source</code>
|
|
16047
|
+
</td>
|
|
16048
|
+
<td>
|
|
16049
|
+
<code>str</code>
|
|
15641
16050
|
</td>
|
|
15642
16051
|
<td>
|
|
15643
16052
|
<div class="doc-md-description">
|
|
@@ -15663,7 +16072,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15663
16072
|
<tbody>
|
|
15664
16073
|
<tr class="doc-section-item">
|
|
15665
16074
|
<td>
|
|
15666
|
-
<code><
|
|
16075
|
+
<code><span title="nautobot.core.testing.JobClassInfo">JobClassInfo</span></code>
|
|
15667
16076
|
</td>
|
|
15668
16077
|
<td>
|
|
15669
16078
|
<div class="doc-md-description">
|
|
@@ -15689,7 +16098,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15689
16098
|
|
|
15690
16099
|
<div class="doc doc-contents ">
|
|
15691
16100
|
|
|
15692
|
-
|
|
16101
|
+
<p>Take a dictionary of test data (suitable for comparison to an instance) and return a dict suitable for POSTing.</p>
|
|
15693
16102
|
|
|
15694
16103
|
</div>
|
|
15695
16104
|
|
|
@@ -15706,7 +16115,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15706
16115
|
|
|
15707
16116
|
<div class="doc doc-contents ">
|
|
15708
16117
|
|
|
15709
|
-
|
|
16118
|
+
<p>Provide a common interface to run Nautobot jobs as part of unit tests.</p>
|
|
15710
16119
|
|
|
15711
16120
|
|
|
15712
16121
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15721,9 +16130,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15721
16130
|
</thead>
|
|
15722
16131
|
<tbody>
|
|
15723
16132
|
<tr class="doc-section-item">
|
|
15724
|
-
<td><code>job</code></td>
|
|
15725
16133
|
<td>
|
|
15726
|
-
|
|
16134
|
+
<code>job</code>
|
|
16135
|
+
</td>
|
|
16136
|
+
<td>
|
|
16137
|
+
<code><span title="nautobot.extras.models.Job">Job</span></code>
|
|
15727
16138
|
</td>
|
|
15728
16139
|
<td>
|
|
15729
16140
|
<div class="doc-md-description">
|
|
@@ -15735,9 +16146,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15735
16146
|
</td>
|
|
15736
16147
|
</tr>
|
|
15737
16148
|
<tr class="doc-section-item">
|
|
15738
|
-
<td><code>username</code></td>
|
|
15739
16149
|
<td>
|
|
15740
|
-
|
|
16150
|
+
<code>username</code>
|
|
16151
|
+
</td>
|
|
16152
|
+
<td>
|
|
16153
|
+
<code>str</code>
|
|
15741
16154
|
</td>
|
|
15742
16155
|
<td>
|
|
15743
16156
|
<div class="doc-md-description">
|
|
@@ -15749,9 +16162,11 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15749
16162
|
</td>
|
|
15750
16163
|
</tr>
|
|
15751
16164
|
<tr class="doc-section-item">
|
|
15752
|
-
<td><code>profile</code></td>
|
|
15753
16165
|
<td>
|
|
15754
|
-
|
|
16166
|
+
<code>profile</code>
|
|
16167
|
+
</td>
|
|
16168
|
+
<td>
|
|
16169
|
+
<code>bool</code>
|
|
15755
16170
|
</td>
|
|
15756
16171
|
<td>
|
|
15757
16172
|
<div class="doc-md-description">
|
|
@@ -15779,7 +16194,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15779
16194
|
<tr class="doc-section-item">
|
|
15780
16195
|
<td><code>**kwargs</code></td>
|
|
15781
16196
|
<td>
|
|
15782
|
-
<code
|
|
16197
|
+
<code>any</code>
|
|
15783
16198
|
</td>
|
|
15784
16199
|
<td>
|
|
15785
16200
|
<div class="doc-md-description">
|
|
@@ -15802,7 +16217,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15802
16217
|
<tbody>
|
|
15803
16218
|
<tr class="doc-section-item">
|
|
15804
16219
|
<td>
|
|
15805
|
-
<code><
|
|
16220
|
+
<code><span title="nautobot.extras.models.JobResult">JobResult</span></code>
|
|
15806
16221
|
</td>
|
|
15807
16222
|
<td>
|
|
15808
16223
|
<div class="doc-md-description">
|
|
@@ -15970,7 +16385,7 @@ document$.subscribe(() => { lightbox.reload() });
|
|
|
15970
16385
|
<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.6ce7567c.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
16386
|
|
|
15972
16387
|
|
|
15973
|
-
<script src="../../../assets/javascripts/bundle.
|
|
16388
|
+
<script src="../../../assets/javascripts/bundle.88dd0f4e.min.js"></script>
|
|
15974
16389
|
|
|
15975
16390
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
15976
16391
|
|