From cec0faa7111ce93b5f99622b8e6174d66b25b6d0 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Mon, 30 Oct 2017 10:17:17 -0400 Subject: [PATCH] add whereto for testing redirect rules Use whereto to test that the redirect rules do what we expect. The test coverage is a bit minimal for now, but should be useful as an example of how it can be extended. The test files in the openstack-manuals repo provide some other examples. Depends-On: I36003d3525dcc9fef8e5f008ecabb2b2ac78088e Change-Id: Ia14bfa6c89fd04844842d727d11ff8874ec7fc2a Signed-off-by: Doug Hellmann --- doc/test/redirect-tests.txt | 72 +++++++++++++++++++++++++++++++++++++ test-requirements.txt | 3 ++ tox.ini | 2 ++ 3 files changed, 77 insertions(+) create mode 100644 doc/test/redirect-tests.txt diff --git a/doc/test/redirect-tests.txt b/doc/test/redirect-tests.txt new file mode 100644 index 000000000000..4393dd1738bc --- /dev/null +++ b/doc/test/redirect-tests.txt @@ -0,0 +1,72 @@ +/nova/latest/addmethod.openstackapi.html 301 /nova/latest/contributor/api-2.html +/nova/latest/admin/flavors2.html 301 /nova/latest/admin/flavors.html +/nova/latest/aggregates.html 301 /nova/latest/user/aggregates.html +/nova/latest/api_microversion_dev.html 301 /nova/latest/contributor/microversions.html +/nova/latest/api_microversion_history.html 301 /nova/latest/reference/api-microversion-history.html +/nova/latest/api_plugins.html 301 /nova/latest/contributor/api.html +/nova/latest/architecture.html 301 /nova/latest/user/architecture.html +/nova/latest/block_device_mapping.html 301 /nova/latest/user/block-device-mapping.html +/nova/latest/blueprints.html 301 /nova/latest/contributor/blueprints.html +/nova/latest/cells.html 301 /nova/latest/user/cells.html +/nova/latest/code-review.html 301 /nova/latest/contributor/code-review.html +/nova/latest/conductor.html 301 /nova/latest/user/conductor.html +/nova/latest/development.environment.html 301 /nova/latest/contributor/development-environment.html +/nova/latest/devref/api.html 301 /nova/latest/contributor/api.html +/nova/latest/devref/cells.html 301 /nova/latest/user/cells.html +/nova/latest/devref/filter_scheduler.html 301 /nova/latest/user/filter-scheduler.html +# catch all, if we hit something in devref assume it moved to +# reference unless we have already triggered a hit above. +/nova/latest/devref/any-page.html 301 /nova/latest/reference/any-page.html +/nova/latest/feature_classification.html 301 /nova/latest/user/feature-classification.html +/nova/latest/filter_scheduler.html 301 /nova/latest/user/filter-scheduler.html +/nova/latest/gmr.html 301 /nova/latest/reference/gmr.html +/nova/latest/how_to_get_involved.html 301 /nova/latest/contributor/how-to-get-involved.html +/nova/latest/i18n.html 301 /nova/latest/reference/i18n.html +/nova/latest/man/index.html 301 /nova/latest/cli/index.html +/nova/latest/man/nova-api-metadata.html 301 /nova/latest/cli/nova-api-metadata.html +/nova/latest/man/nova-api-os-compute.html 301 /nova/latest/cli/nova-api-os-compute.html +/nova/latest/man/nova-api.html 301 /nova/latest/cli/nova-api.html +/nova/latest/man/nova-cells.html 301 /nova/latest/cli/nova-cells.html +# this is gone and never coming back, indicate that to the end users +/nova/latest/man/nova-cert.html 410 +/nova/latest/man/nova-compute.html 301 /nova/latest/cli/nova-compute.html +/nova/latest/man/nova-conductor.html 301 /nova/latest/cli/nova-conductor.html +/nova/latest/man/nova-console.html 301 /nova/latest/cli/nova-console.html +/nova/latest/man/nova-consoleauth.html 301 /nova/latest/cli/nova-consoleauth.html +/nova/latest/man/nova-dhcpbridge.html 301 /nova/latest/cli/nova-dhcpbridge.html +/nova/latest/man/nova-idmapshift.html 301 /nova/latest/cli/nova-idmapshift.html +/nova/latest/man/nova-manage.html 301 /nova/latest/cli/nova-manage.html +/nova/latest/man/nova-network.html 301 /nova/latest/cli/nova-network.html +/nova/latest/man/nova-novncproxy.html 301 /nova/latest/cli/nova-novncproxy.html +/nova/latest/man/nova-rootwrap.html 301 /nova/latest/cli/nova-rootwrap.html +/nova/latest/man/nova-scheduler.html 301 /nova/latest/cli/nova-scheduler.html +/nova/latest/man/nova-serialproxy.html 301 /nova/latest/cli/nova-serialproxy.html +/nova/latest/man/nova-spicehtml5proxy.html 301 /nova/latest/cli/nova-spicehtml5proxy.html +/nova/latest/man/nova-status.html 301 /nova/latest/cli/nova-status.html +/nova/latest/man/nova-xvpvncproxy.html 301 /nova/latest/cli/nova-xvpvncproxy.html +/nova/latest/notifications.html 301 /nova/latest/reference/notifications.html +/nova/latest/placement.html 301 /nova/latest/user/placement.html +/nova/latest/placement_dev.html 301 /nova/latest/contributor/placement.html +/nova/latest/policies.html 301 /nova/latest/contributor/policies.html +/nova/latest/policy_enforcement.html 301 /nova/latest/reference/policy-enforcement.html +/nova/latest/process.html 301 /nova/latest/contributor/process.html +/nova/latest/project_scope.html 301 /nova/latest/contributor/project-scope.html +/nova/latest/quotas.html 301 /nova/latest/user/quotas.html +/nova/latest/releasenotes.html 301 /nova/latest/contributor/releasenotes.html +/nova/latest/rpc.html 301 /nova/latest/reference/rpc.html +/nova/latest/sample_config.html 301 /nova/latest/configuration/sample-config.html +/nova/latest/sample_policy.html 301 /nova/latest/configuration/sample-policy.html +/nova/latest/scheduler_evolution.html 301 /nova/latest/reference/scheduler-evolution.html +/nova/latest/services.html 301 /nova/latest/reference/services.html +/nova/latest/stable_api.html 301 /nova/latest/reference/stable-api.html +/nova/latest/support-matrix.html 301 /nova/latest/user/support-matrix.html +/nova/latest/test_strategy.html 301 /nova/latest/contributor/testing.html +/nova/latest/testing/libvirt-numa.html 301 /nova/latest/contributor/testing/libvirt-numa.html +/nova/latest/testing/serial-console.html 301 /nova/latest/contributor/testing/serial-console.html +/nova/latest/testing/zero-downtime-upgrade.html 301 /nova/latest/contributor/testing/zero-downtime-upgrade.html +/nova/latest/threading.html 301 /nova/latest/reference/threading.html +/nova/latest/upgrade.html 301 /nova/latest/user/upgrade.html +/nova/latest/vendordata.html 301 /nova/latest/user/vendordata.html +/nova/latest/vmstates.html 301 /nova/latest/reference/vm-states.html +/nova/latest/wsgi.html 301 /nova/latest/user/wsgi.html +/nova/latest/user/cellsv2_layout.html 301 /nova/latest/user/cellsv2-layout.html diff --git a/test-requirements.txt b/test-requirements.txt index 5dc6ae93ca82..bfffc7b109ae 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -36,3 +36,6 @@ reno>=2.5.0 # Apache-2.0 # placement functional tests wsgi-intercept>=1.4.1 # MIT License + +# redirect tests in docs +whereto>=0.3.0 # Apache-2.0 diff --git a/tox.ini b/tox.ini index 19c5f8b286a1..f59547870857 100644 --- a/tox.ini +++ b/tox.ini @@ -126,6 +126,8 @@ basepython = python2.7 commands = rm -rf doc/source/api doc/build api-guide/build api-ref/build placement-api-ref/build python setup.py build_sphinx + # Test the redirects + whereto doc/build/html/.htaccess doc/test/redirect-tests.txt # Check that all JSON files don't have \r\n in line. bash -c "! find doc/ -type f -name *.json | xargs grep -U -n $'\r'" # Check that all included JSON files are valid JSON