57a445d6c8
To make api test development simpler, move the tests to neutron.tests.api. The neutron.tests.tempest subtree will remain while work continues to transition the required functionality to tempest-lib. Change-Id: Ie90671fbfe2f633e851da82728e152482133fd87
82 lines
2.7 KiB
Bash
Executable File
82 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script is intended to allow repeatable migration of the neutron
|
|
# api tests from tempest. The intention is to allow development to
|
|
# continue in Tempest while the migration strategy evolves.
|
|
|
|
set -e
|
|
|
|
if [[ "$#" -ne 1 ]]; then
|
|
>&2 echo "Usage: $0 /path/to/tempest
|
|
Migrate neutron's api tests from a tempest repo."
|
|
exit 1
|
|
fi
|
|
|
|
TEMPEST_PATH=${TEMPEST_PATH:-$1}
|
|
|
|
if [ ! -f "$TEMPEST_PATH/run_tempest.sh" ]; then
|
|
>&2 echo "Unable to find tempest at '$TEMPEST_PATH'. Please verify that the specified path points to a valid tempest repo."
|
|
exit 1
|
|
fi
|
|
|
|
NEUTRON_PATH=${NEUTRON_PATH:-$(cd "$(dirname "$0")/.." && pwd)}
|
|
NEUTRON_TEST_PATH=$NEUTRON_PATH/neutron/tests
|
|
|
|
function copy_files {
|
|
local tempest_dep_paths=(
|
|
'tempest'
|
|
'tempest/common'
|
|
'tempest/common/generator'
|
|
'tempest/common/utils'
|
|
'tempest/services'
|
|
'tempest/services/identity'
|
|
'tempest/services/identity/v2'
|
|
'tempest/services/identity/v2/json'
|
|
'tempest/services/identity/v3'
|
|
'tempest/services/identity/v3/json'
|
|
'tempest/services/network'
|
|
'tempest/services/network/json'
|
|
)
|
|
for tempest_dep_path in ${tempest_dep_paths[@]}; do
|
|
local target_path=$NEUTRON_TEST_PATH/$tempest_dep_path
|
|
if [[ ! -d "$target_path" ]]; then
|
|
mkdir -p "$target_path"
|
|
fi
|
|
cp $TEMPEST_PATH/$tempest_dep_path/*.py "$target_path"
|
|
done
|
|
local paths_to_remove=(
|
|
"$NEUTRON_TEST_PATH/tempest/clients.py"
|
|
)
|
|
for path_to_remove in ${paths_to_remove[@]}; do
|
|
if [ -f "$path_to_remove" ]; then
|
|
rm "$path_to_remove"
|
|
fi
|
|
done
|
|
|
|
# Tests are now maintained in neutron/tests/api
|
|
cp $TEMPEST_PATH/tempest/api/network/*.py $NEUTRON_TEST_PATH/api
|
|
cp $TEMPEST_PATH/tempest/api/network/admin/*.py \
|
|
$NEUTRON_TEST_PATH/api/admin
|
|
}
|
|
|
|
function rewrite_imports {
|
|
regexes=(
|
|
's/tempest.common.generator/neutron.tests.tempest.common.generator/'
|
|
"s/tempest.api.network/neutron.tests.api/"
|
|
's/tempest.test/neutron.tests.tempest.test/'
|
|
's/from tempest.openstack.common import lockutils/from oslo_concurrency import lockutils/'
|
|
's/from tempest.openstack.common import importutils/from oslo_utils import importutils/'
|
|
's/tempest.openstack.common/neutron.openstack.common/'
|
|
's/from tempest(?!_lib) import clients/from neutron.tests.api import clients/'
|
|
's/from tempest(?!_lib)/from neutron.tests.tempest/'
|
|
's/CONF.lock_path/CONF.oslo_concurrency.lock_path/'
|
|
)
|
|
files=$(find "$NEUTRON_TEST_PATH/tempest" "$NEUTRON_TEST_PATH/api" -name '*.py')
|
|
for ((i = 0; i < ${#regexes[@]}; i++)); do
|
|
perl -p -i -e "${regexes[$i]}" $files
|
|
done
|
|
}
|
|
|
|
copy_files
|
|
rewrite_imports
|