nova/nova/tests/functional/api_sample_tests
Matt Riedemann 622bfb2e95 Handle uuids in os-hypervisors API
There are quite a few changes here as this is not only handling
uuids for the hypervisor id but it's also a refactor in several
APIs for consistency.

The main changes are detailed in the REST API Version History
doc in this change, but to summarize the changes:

* Hypervisor and service IDs are handled as the UUIDs for those
  resources; this is necessary for accurately working with these
  resources across multiple cells.
* The 'servers' and 'search' routes are deprecated and folded into
  the index and detail methods as query parameters, validated using
  json schema.
* The show method will also be able to return the list of servers
  hosted on the given hypervisor using the with_servers query
  parameter.
* The marker used when paging over lists of hypervisors is the
  compute node UUID.
* Using the hypervisor_hostname_pattern query parameter will not
  work with paging parameters.
* API reference docs are updated for the detailed changes.
* Functional and unit tests are provided for all changes.

Part of blueprint service-hyper-uuid-in-api

Change-Id: I828350c179df8bcfa4739910abeafaba2f96982b
2017-07-18 17:08:01 -04:00
..
api_samples Handle uuids in os-hypervisors API 2017-07-18 17:08:01 -04:00
README.rst add api-samples tox target 2015-12-03 22:43:26 +00:00
__init__.py Move legacy v2 api smaple tests 2015-08-15 12:30:20 +10:00
api_sample_base.py Add 'networks' quota in quota sample files 2017-07-04 23:45:30 +00:00
test_admin_actions.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_admin_password.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_agents.py api-ref: Example verification for os-agents.inc 2016-06-27 21:29:26 +09:00
test_aggregates.py Return uuid attribute for aggregates 2017-01-05 14:32:43 -05:00
test_assisted_volume_snapshots.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_attach_interfaces.py API support for tagged device attachment 2017-06-30 09:05:34 +03:00
test_availability_zone.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_baremetal_nodes.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_block_device_mapping_boot.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_cells.py Remove deprecated manager option in cells.py 2016-08-02 16:54:09 +00:00
test_console_auth_tokens.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_console_output.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_consoles.py Merge "tests: Replace use of CONF with monkey patching" 2017-01-24 12:03:07 +00:00
test_create_backup.py 2.45: Remove Location header from createImage and createBackup responses 2017-04-25 15:52:14 -04:00
test_deferred_delete.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_evacuate.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_extension_info.py policy: clean-up 2016-06-30 19:56:14 +00:00
test_fixed_ips.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_flavor_access.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_flavor_extraspecs.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_flavor_manage.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_flavors.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_floating_ip_dns.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_floating_ip_pools.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_floating_ips.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_floating_ips_bulk.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_fping.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_hide_server_addresses.py conf: Move api options to a group 2016-11-25 16:32:31 -06:00
test_hosts.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_hypervisors.py Handle uuids in os-hypervisors API 2017-07-18 17:08:01 -04:00
test_images.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_instance_actions.py Add ability to signal and perform online volume size change 2017-07-12 11:53:20 -04:00
test_instance_usage_audit_log.py Fix invalid import order 2016-07-04 11:23:52 +05:30
test_keypairs.py Replace uuid4() with uuidsentinel 2016-10-05 18:27:50 +05:30
test_limits.py [proxy-api] microversion 2.39 deprecates image-metadata proxy API 2016-12-07 19:22:43 +03:00
test_lock_server.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_migrate_server.py Add missing ComputeHostNotFound exception in live-migration 2016-07-29 10:17:26 +02:00
test_migrations.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_multinic.py api-ref: Fix examples for add/removeFixedIp action 2017-05-15 01:19:54 +00:00
test_multiple_create.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_networks.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_networks_associate.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_pause_server.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_preserve_ephemeral_rebuild.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_quota_classes.py Fix quota class set APIs 2017-07-10 21:44:08 +00:00
test_quota_sets.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_remote_consoles.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_rescue.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_security_group_default_rules.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_security_groups.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_server_diagnostics.py Standardization of VM diagnostics info API. 2017-06-05 07:45:51 +00:00
test_server_external_events.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_server_groups.py Remove unused code 2016-09-23 09:42:39 +00:00
test_server_metadata.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_server_migrations.py Fix data error in api samples doc 2016-11-16 20:58:06 +08:00
test_server_password.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_server_tags.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_servers.py Support tag instances when boot(4/4) 2017-07-17 15:59:42 -04:00
test_servers_ips.py Move config options from nova/api directory (5) 2016-05-17 13:07:47 +00:00
test_services.py Use uuid for id in os-services API 2017-07-18 15:39:57 -04:00
test_shelve.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_simple_tenant_usage.py Fix urllib.urlencode issue in functional tests on Python 3 2016-12-23 17:13:54 +08:00
test_suspend_server.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_tenant_networks.py Count networks to check quota 2017-06-19 21:51:46 +00:00
test_versions.py parametrize max_api_version in tests 2016-02-05 18:54:58 -05:00
test_virtual_interfaces.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_volumes.py API support for tagged device attachment 2017-06-30 09:05:34 +03:00

README.rst

Api Samples

This part of the tree contains templates for API samples. The documentation in doc/api_samples is completely autogenerated from the tests in this directory.

To add a new api sample, add tests for the common passing and failing cases in this directory for your extension, and modify test_samples.py for your tests.

Then run the following command:

tox -e api-samples

Which will create the files on doc/api_samples.

If new tests are added or the .tpl files are changed due to bug fixes, the samples must be regenerated so they are in sync with the templates, as there is an additional test which reloads the documentation and ensures that it's in sync.

Debugging sample generation

If a .tpl is changed, its matching .json must be removed else the samples won't be generated. If an entirely new extension is added, a directory for it must be created before its samples will be generated.