scripts/prepareLiveRecordingTestsRun.py (49 lines of code) (raw):

# -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- import os class RunLiveTests: def __init__(self): print("Running live tests") @staticmethod def get_repo_root(): """Returns the path to the source code root directory""" current_dir = os.path.dirname(os.path.abspath(__file__)) while not os.path.exists(os.path.join(current_dir, 'CONTRIBUTING.md')): current_dir = os.path.dirname(current_dir) return current_dir @staticmethod def get_tests_recordings_folder(): repo_root = RunLiveTests.get_repo_root() tests_folder = os.path.join(repo_root, 'tests') recordings_folder = os.path.join(tests_folder, 'recordings') if not os.path.isdir(recordings_folder): raise Exception("Could not find recordings folder.") return recordings_folder @staticmethod def delete_test_recordings(): recordings_folder = RunLiveTests.get_tests_recordings_folder() print('Recordings folder is - {}'.format(recordings_folder)) files = os.listdir(recordings_folder) if files: print('Number of recordings found - {}'.format(len(files))) for cur_file in files: print('Deleting file - {}'.format(cur_file)) os.remove(os.path.join(recordings_folder, cur_file)) files = os.listdir(recordings_folder) if not files: print('No recordings found after delete operation.') else: for cur_file in files: print('Cound not delete file - {}'.format(cur_file)) raise Exception('Delete recordings failed.') print('Delete recordings completed successfully.') @staticmethod def ensure_pat_env_set(): _PAT_ENV_VARIABLE_NAME = 'AZURE_DEVOPS_EXT_PAT' if not os.environ.get(_PAT_ENV_VARIABLE_NAME): raise Exception('PAT environment variable is not set in {}.\n \ Please set the environemnt variable before the test run.'.format(_PAT_ENV_VARIABLE_NAME)) print('Verified PAT is set in environment.') @staticmethod def prepare_live_run(): RunLiveTests.delete_test_recordings() RunLiveTests.ensure_pat_env_set() if __name__ == "__main__": RunLiveTests.prepare_live_run()