diff --git a/tools/migrate_from_tempest.sh b/tools/migrate_from_tempest.sh index d0c5b96..d3071f2 100755 --- a/tools/migrate_from_tempest.sh +++ b/tools/migrate_from_tempest.sh @@ -23,12 +23,14 @@ function usage { set -e output_dir="" +service_client=0 while [ $# -gt 0 ]; do case "$1" in -h|--help) usage; exit;; -o|--output_dir) output_dir="$2"; shift;; -u|--tempest_git_url) tempest_git_url="$2"; shift;; + -s|--service_client) service_client=1;; *) files="$files $1";; esac shift @@ -64,9 +66,28 @@ for file in $files; do dirname="$output_dir" else dirname=`echo $dirname | sed s@tempest\/@tempest_lib/\@` + if [ $service_client -eq 1 ]; then + # Remove /json path because tempest-lib supports JSON only without XML + dirname=`echo $dirname | sed s@\/json@@` + fi fi dest_file="$dirname/$filename" cp -r "$tmpdir/$file" "$dest_file" + + if [ $service_client -eq 1 ]; then + # service_client module is not necessary in tempest-lib because rest_client can be used instead + sed -i s/"from tempest.common import service_client"/"from tempest_lib.common import rest_client"/ $dest_file + sed -i s/"service_client.ServiceClient"/"rest_client.RestClient"/ $dest_file + sed -i s/"service_client.ResponseBody"/"rest_client.ResponseBody"/ $dest_file + sed -i s/"from tempest\."/"from tempest_lib\."/ $dest_file + + # Replace mocked path in unit tests + sed -i s/"tempest.common.rest_client"/"tempest_lib.common.rest_client"/ $dest_file + + # Remove ".json" from import line + sed -i -e "s/^\(from tempest_lib\.services\..*\)\.json\(.*\)/\1\2/" $dest_file + fi + git add "$dest_file" if [[ -z "$file_list" ]]; then file_list="$filename"