From 0527e86ada9c20d9680d5782f7628a1ca05367fc Mon Sep 17 00:00:00 2001 From: mccoyp Date: Mon, 18 Mar 2024 18:12:12 -0700 Subject: [PATCH] [skip ci] Delete azure-devtools and deps/references --- doc/dev/mgmt/tests.md | 10 +- doc/dev/tests.md | 168 -------- eng/ci_tools.txt | 3 +- eng/conda_test_requirements.txt | 1 - eng/dependency_tools.txt | 1 - eng/pipelines/templates/jobs/update_pr.yml | 1 - eng/regression_test_tools.txt | 2 +- eng/regression_tools.txt | 3 +- eng/test_tools.txt | 2 +- eng/tox/install_depend_packages.py | 2 +- scripts/auto_release/main.py | 1 - scripts/dev_setup.py | 4 - scripts/devops_tasks/common_tasks.py | 2 +- scripts/devops_tasks/test_regression.py | 4 +- .../azure-mgmt-advisor/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-agrifood/dev_requirements.txt | 1 - .../azure-ai-generative/dev_requirements.txt | 1 - .../azure-ai-resources/dev_requirements.txt | 1 - .../azure-mgmt-devspaces/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-mgmt-apicenter/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- sdk/app/azure-mgmt-app/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 4 +- .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-web/dev_requirements.txt | 3 +- .../azure-mgmt-astro/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - sdk/batch/azure-batch/dev_requirements.txt | 1 - .../azure-mgmt-batch/dev_requirements.txt | 1 - .../azure-mgmt-batch/tests/test_mgmt_batch.py | 2 - .../azure-mgmt-batchai/dev_requirements.txt | 1 - .../azure-mgmt-billing/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- sdk/cdn/azure-mgmt-cdn/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-chaos/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-commerce/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-avs/dev_requirements.txt | 1 - .../azure-mgmt-compute/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-confluent/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - sdk/core/azure-common/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - sdk/core/azure-core/dev_requirements.txt | 1 - sdk/core/azure-mgmt-core/dev_requirements.txt | 3 +- .../dev_requirements.txt | 3 +- sdk/core/corehttp/dev_requirements.txt | 1 - sdk/cosmos/azure-cosmos/dev_requirements.txt | 1 - .../azure-mgmt-cosmosdb/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - sdk/customproviders/dev_requirements.txt | 3 +- .../azure-mgmt-dashboard/dev_requirements.txt | 1 - .../azure-mgmt-databox/dev_requirements.txt | 3 +- .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-mgmt-datadog/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-mgmt-datashare/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-devcenter/dev_requirements.txt | 1 - .../azure-mgmt-devhub/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-dynatrace/dev_requirements.txt | 1 - .../azure-defender-easm/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-edgeorder/dev_requirements.txt | 1 - .../azure-mgmt-education/dev_requirements.txt | 1 - .../azure-mgmt-elastic/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-eventgrid/dev_requirements.txt | 1 - .../azure-mgmt-eventgrid/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 3 +- .../azure-eventhub/dev_requirements.txt | 1 - .../azure-mgmt-eventhub/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../tests/test_dac_analyze_prebuilts.py | 2 +- .../tests/test_dac_analyze_prebuilts_async.py | 2 +- .../test_dac_analyze_prebuilts_from_url.py | 2 +- ...st_dac_analyze_prebuilts_from_url_async.py | 2 +- .../tests/test_dmac_compose_model.py | 2 +- .../tests/test_dmac_compose_model_async.py | 2 +- .../tests/test_dmac_copy_model.py | 2 +- .../tests/test_dmac_copy_model_async.py | 2 +- .../tests/test_dmac_training.py | 2 +- .../tests/test_dmac_training_async.py | 2 +- .../tests/test_frc_content.py | 2 +- .../tests/test_frc_content_async.py | 2 +- .../tests/test_frc_content_from_url.py | 2 +- .../tests/test_frc_content_from_url_async.py | 2 +- .../tests/test_frc_custom_forms.py | 2 +- .../tests/test_frc_custom_forms_async.py | 2 +- .../tests/test_frc_custom_forms_from_url.py | 2 +- .../test_frc_custom_forms_from_url_async.py | 2 +- .../tests/test_frc_identity_documents.py | 2 +- .../test_frc_identity_documents_async.py | 2 +- .../test_frc_identity_documents_from_url.py | 2 +- ...t_frc_identity_documents_from_url_async.py | 2 +- .../tests/test_frc_invoice.py | 2 +- .../tests/test_frc_invoice_async.py | 2 +- .../tests/test_frc_invoice_from_url.py | 2 +- .../tests/test_frc_invoice_from_url_async.py | 2 +- .../azure-graphrbac/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-hdinsight/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-mgmt-healthbot/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-identity/dev_requirements.txt | 1 - .../managed-identity-live/requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-iothub/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-keyvault-keys/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-keyvault/dev_requirements.txt | 1 - .../azure-mgmt-keyvault/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-kusto/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-loganalytics/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-mgmt-logic/dev_requirements.txt | 1 - sdk/logz/azure-mgmt-logz/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-maps-render/dev_requirements.txt | 1 - .../azure-maps-route/dev_requirements.txt | 1 - .../azure-maps-search/dev_requirements.txt | 1 - sdk/maps/azure-mgmt-maps/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-media/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - sdk/ml/azure-ai-ml/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-monitor/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-monitor-query/dev_requirements.txt | 1 - .../azure-mgmt-netapp/dev_requirements.txt | 1 - .../azure-mgmt-dns/dev_requirements.txt | 1 - .../azure-mgmt-frontdoor/dev_requirements.txt | 1 - .../azure-mgmt-network/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-nginx/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-agrifood-nspkg/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - sdk/nspkg/azure-ai-nspkg/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-data-nspkg/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-iot-nspkg/dev_requirements.txt | 1 - .../azure-keyvault-nspkg/dev_requirements.txt | 1 - .../azure-media-nspkg/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-nspkg/dev_requirements.txt | 1 - sdk/nspkg/azure-nspkg/dev_requirements.txt | 1 - .../azure-purview-nspkg/dev_requirements.txt | 1 - .../azure-search-nspkg/dev_requirements.txt | 1 - .../azure-security-nspkg/dev_requirements.txt | 1 - .../azure-storage-nspkg/dev_requirements.txt | 1 - .../azure-synapse-nspkg/dev_requirements.txt | 1 - sdk/oep/azure-mgmt-oep/dev_requirements.txt | 1 - sdk/openai/azure-openai/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-orbital/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-peering/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-portal/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-mgmt-purview/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-quantum/dev_requirements.txt | 3 +- .../azure-mgmt-qumulo/dev_requirements.txt | 1 - .../azure-mgmt-quota/dev_requirements.txt | 1 - .../azure-mgmt-rdbms/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-redis/dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-relay/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-msi/dev_requirements.txt | 1 - .../azure-mgmt-resource/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-scheduler/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-schemaregistry/dev_requirements.txt | 1 - .../azure-mgmt-scvmm/dev_requirements.txt | 1 - .../azure-mgmt-search/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-security/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-selfhelp/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-servicebus/dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-servicefabric/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../azure-mgmt-signalr/dev_requirements.txt | 3 +- .../azure-mgmt-sphere/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - sdk/sql/azure-mgmt-sql/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-storage/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-storage-blob/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-storage-queue/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 3 +- .../azure-mgmt-support/dev_requirements.txt | 3 +- .../azure-mgmt-synapse/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-synapse-spark/dev_requirements.txt | 1 - .../azure-synapse/dev_requirements.txt | 1 - .../azure-data-tables/dev_requirements.txt | 1 - .../azure-template/dev_requirements.txt | 1 - .../azure-mgmt-testbase/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../tests/test_analyze.py | 2 +- .../tests/test_analyze_async.py | 2 +- .../tests/test_analyze_healthcare.py | 2 +- .../tests/test_analyze_healthcare_async.py | 2 +- .../dev_requirements.txt | 3 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../tests/test_translation.py | 2 +- .../tests/test_translation_async.py | 2 +- .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-webpubsub/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../azure-mgmt-workloads/dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - tools/azure-devtools/LICENSE | 21 - tools/azure-devtools/README.rst | 32 -- tools/azure-devtools/dev_requirements.txt | 2 - .../azure-devtools/doc/scenario_base_tests.md | 101 ----- tools/azure-devtools/scripts/ci.sh | 4 - tools/azure-devtools/setup.cfg | 2 - tools/azure-devtools/setup.py | 56 --- .../src/azure_devtools/__init__.py | 0 .../src/azure_devtools/ci_tools/__init__.py | 4 - .../azure_devtools/ci_tools/bot_framework.py | 122 ------ .../src/azure_devtools/ci_tools/git_tools.py | 109 ----- .../azure_devtools/ci_tools/github_tools.py | 356 ---------------- ...otFrameworkTest.test_bot_basic_command.txt | 77 ---- ...otFrameworkTest.test_bot_basic_failure.txt | 77 ---- .../BotFrameworkTest.test_bot_help.txt | 66 --- ...FrameworkTest.test_bot_unknown_command.txt | 66 --- .../BotFrameworkTest.test_webhook_data.txt | 66 --- .../GithubTools.test_clone_path.txt | 99 ----- .../ReplayData/GithubTools.test_configure.txt | 11 - .../GithubTools.test_create_comment.txt | 66 --- .../ReplayData/GithubTools.test_dashboard.txt | 110 ----- .../GithubTools.test_exception_to_github.txt | 99 ----- .../ReplayData/GithubTools.test_get_files.txt | 33 -- .../GithubTools.test_get_or_create_pull.txt | 22 - .../ReplayData/GithubTools.test_get_user.txt | 11 - .../GithubTools.test_manage_git_folder.txt | 33 -- .../azure_devtools/ci_tools/tests/__init__.py | 0 .../azure_devtools/ci_tools/tests/conftest.py | 38 -- .../ci_tools/tests/test_bot_framework.py | 181 -------- .../ci_tools/tests/test_git_tools.py | 71 ---- .../ci_tools/tests/test_github_tools.py | 395 ------------------ .../azure_devtools/scenario_tests/__init__.py | 56 --- .../src/azure_devtools/scenario_tests/base.py | 237 ----------- .../azure_devtools/scenario_tests/config.py | 34 -- .../azure_devtools/scenario_tests/const.py | 14 - .../scenario_tests/decorators.py | 46 -- .../scenario_tests/exceptions.py | 26 -- .../azure_devtools/scenario_tests/patches.py | 37 -- .../scenario_tests/preparers.py | 261 ------------ .../scenario_tests/recording_processors.py | 267 ------------ .../scenario_tests/tests/__init__.py | 4 - .../tests/async_tests/test_preparer_async.py | 60 --- .../scenario_tests/tests/test_config.py | 38 -- .../tests/test_integration_test_base.py | 58 --- .../tests/test_preparer_order.py | 148 ------- .../tests/test_recording_processor.py | 181 -------- .../tests/test_replayable_test.py | 47 --- .../scenario_tests/tests/test_utilities.py | 125 ------ .../scenario_tests/utilities.py | 127 ------ tools/azure-sdk-tools/dev_requirements.txt | 1 - .../devtools_testutils/mgmt_testcase.py | 2 +- tools/azure-sdk-tools/setup.py | 2 +- .../complex_requirements/requirements.txt | 1 - .../relative_requirements.txt | 2 - .../dev_requirements.txt | 1 - .../dev_requirements.txt | 1 - .../tests/test_requirements_parse.py | 17 +- 458 files changed, 112 insertions(+), 4756 deletions(-) delete mode 100644 tools/azure-devtools/LICENSE delete mode 100644 tools/azure-devtools/README.rst delete mode 100644 tools/azure-devtools/dev_requirements.txt delete mode 100644 tools/azure-devtools/doc/scenario_base_tests.md delete mode 100755 tools/azure-devtools/scripts/ci.sh delete mode 100644 tools/azure-devtools/setup.cfg delete mode 100644 tools/azure-devtools/setup.py delete mode 100644 tools/azure-devtools/src/azure_devtools/__init__.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/__init__.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/bot_framework.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/git_tools.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/github_tools.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_command.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_failure.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_help.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_unknown_command.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_webhook_data.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_clone_path.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_configure.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_create_comment.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_dashboard.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_exception_to_github.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_files.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_or_create_pull.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_user.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_manage_git_folder.txt delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/__init__.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/conftest.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_bot_framework.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_git_tools.py delete mode 100644 tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_github_tools.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/__init__.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/base.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/config.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/const.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/decorators.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/exceptions.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/patches.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/preparers.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/recording_processors.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/__init__.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/async_tests/test_preparer_async.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/test_config.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/test_integration_test_base.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/test_preparer_order.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/test_recording_processor.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/test_replayable_test.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/tests/test_utilities.py delete mode 100644 tools/azure-devtools/src/azure_devtools/scenario_tests/utilities.py diff --git a/doc/dev/mgmt/tests.md b/doc/dev/mgmt/tests.md index 5899b513490d..a8cb119e02c4 100644 --- a/doc/dev/mgmt/tests.md +++ b/doc/dev/mgmt/tests.md @@ -14,7 +14,7 @@ IMPORTANT NOTE: All the commands in this page assumes you have loaded the [dev_s # Overview -This page is to help you write tests for Azure Python SDK when these tests require Azure HTTP requests. The Azure SDK test framework uses the [`azure-devtools`][azure_devtools] package, which in turn rests upon on a HTTP recording system ([testproxy][testproxy]) that enables tests dependent on network interaction to be run offline. +This page is to help you write tests for Azure Python SDK when these tests require Azure HTTP requests. The Azure SDK test framework uses the [`azure-sdk-tools`][azure_sdk_tools] package, which in turn rests upon on a HTTP recording system ([testproxy][testproxy]) that enables tests dependent on network interaction to be run offline. In this document, we will describe: - [How to run the tests online (by authenticating with Azure to record new HTTP interactions)](#running-tests-in-live-mode) @@ -260,9 +260,9 @@ Notes: import azure.mgmt.batch from azure.mgmt.batch import models -from azure_devtools.scenario_tests.recording_processors import GeneralNameReplacer from devtools_testutils import ( - AzureMgmtRecordedTestCase, recorded_by_proxy, + AzureMgmtRecordedTestCase, + recorded_by_proxy, ResourceGroupPreparer, StorageAccountPreparer ) @@ -271,8 +271,6 @@ AZURE_ARM_ENDPOINT = "https://centraluseuap.management.azure.com" AZURE_LOCATION = 'eastus' class TestMgmtBatch(AzureMgmtRecordedTestCase): - scrubber = GeneralNameReplacer() - def setup_method(self, method): self.mgmt_batch_client = self.create_mgmt_client( azure.mgmt.batch.BatchManagementClient, @@ -353,7 +351,7 @@ class TestMgmtSearch(AzureMgmtRecordedTestCase): [arm_apis]: https://docs.microsoft.com/rest/api/resources/ -[azure_devtools]: https://pypi.org/project/azure-devtools/ +[azure_sdk_tools]: https://github.com/Azure/azure-sdk-for-python/tree/main/tools/azure-sdk-tools [azure_portal]: https://portal.azure.com/ [decorators]: https://www.python.org/dev/peps/pep-0318/ [dev_setup]: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/dev_setup.md diff --git a/doc/dev/tests.md b/doc/dev/tests.md index 2223c2dafa56..d8a8ef34a4ed 100644 --- a/doc/dev/tests.md +++ b/doc/dev/tests.md @@ -551,179 +551,12 @@ class TestTablesUnitTest(object): For information about more advanced testing scenarios, refer to the [advanced tests notes][advanced_tests_notes]. -## Deprecated testing instructions - -> The testing framework described in this section was used before today's test proxy was adopted. These instructions are -> deprecated and shouldn't be used to write new tests, but may be helpful in understanding and working with test suites -> that haven't migrated to the new system. - -Older SDK tests are based on the `scenario_tests` subpackage located in [`azure-sdk-for-python/tools/azure-devtools/src/azure_devtools`](https://pypi.org/project/azure-devtools/). `scenario_tests` is a general, mostly abstracted framework which provides several useful features for writing SDK tests, ie: - -- HTTP interaction recording and playback using [vcrpy](https://pypi.python.org/pypi/vcrpy) -- Creation and cleanup of helper resources, such as resource groups, storage accounts, etc. which can be used in order to test services -- Processors for modifying requests and responses when writing or reading recordings (for example, to to avoid recording credential information) -- Patches for overriding functions and methods that don't work well with testing frameworks (such as long-running operations) - -Older tests that used `vcrpy` for recording relied on the -[`AzureTestCase`](https://github.com/Azure/azure-sdk-for-python/blob/c4cbcee52fbe486472c6b28af68f751dd3e2d016/tools/azure-sdk-tools/devtools_testutils/azure_testcase.py#L104) -class, which was a precursor to today's `AzureRecordedTestCase`. - -Code in the [`azure-sdk-tools/devtools_testutils`](https://github.com/Azure/azure-sdk-for-python/tree/main/tools/azure-sdk-tools/devtools_testutils) directory provides concrete implementations of the features provided in `scenario_tests` that are oriented around use in SDK testing and that you can use directly in your unit tests. - -### Define credentials (deprecated) - -When you run tests in playback mode, they use a fake credentials file, located at [`tools/azure-sdk-tools/devtools_testutils/mgmt_settings_fake.py`][mgmt_settings_fake] to simulate authenticating with Azure. - -In live mode, the credentials need to be real so that the tests are able to connect to the service. Create a `.env` file at the root of the repository (in the same directory as the `sdk`, `tools`, `eng` folders). In this file you can define any environment variables you need for a test and that will be loaded by the `AzureTestCase` file. - -1. Add the `SUBSCRIPTION_ID` variable with your organizations subscription ID. If you don't have it, you can find it in the "Overview" section of the "Subscriptions" blade in the [Azure portal](https://portal.azure.com/). -2. Define the `AZURE_TENANT_ID`, `AZURE_CLIENT_ID`, and `AZURE_CLIENT_SECRET` which are available after creating a Service Principal or can be retrieved from the Azure Portal if you have already created a Service Principal. If you do not have a Service Principal, check out the [Azure docs](https://docs.microsoft.com/cli/azure/ad/sp?view=azure-cli-latest#az_ad_sp_create_for_rbac) on a simple one line command to create one. The recommended practice is to include your alias or name in the Service Principal name. - Your `.env` file stores secrets in plain text so it is important that the contents of this file are not committed to the git repository. -3. Create the `tools/azure-sdk-tools/devtools_testutils/testsettings_local.cfg` file and copy and paste the following line: - -``` -live-mode: true -``` - -### Create live test resources (deprecated) - -The Azure Python SDK library has two ways of providing live resources to our tests: - -- Using an ArmTemplate and the EnvironmentVariableLoader (we will demonstrate this one) - - [EnvironmentVariableLoader implementation](https://github.com/Azure/azure-sdk-for-python/blob/main/tools/azure-sdk-tools/devtools_testutils/envvariable_loader.py) - - [In line use](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/schemaregistry/azure-schemaregistry/tests/test_schema_registry.py#L30-L39) for the schemaregistry library -- Using an individualized preparer such as the storage preparer - - [Storage preparer implementation](https://github.com/Azure/azure-sdk-for-python/blob/main/tools/azure-sdk-tools/devtools_testutils/storage_testcase.py) - - [In line use](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/storage/azure-storage-blob/tests/test_blob_client.py#L49-L61) for the blob client - -If your library has a management plane library, you can build a preparer specific to your service using the storage preparer as an example. It is recommended that you use a EnvironmentVariableLoader for new libraries and those without management plane libraries. The `EnvironmentVariableLoader` is compatible with the `New-TestResources.ps1` script to deploy resources using an ARM Template. This script and information about running it can be found in the [`eng/common/TestResources`][test_resources] directory. For more information about the engineering systems in Azure SDK, check out their [wiki][engsys_wiki] - -1. Create an Azure Resource Management Template for your specific service and the configuration you need. This can be done in the portal by creating the resources and at the very last step (Review + Create) clicking "Download a template for automation". Save this template to a `test-resources.json` file under the directory that contains your library (`sdk//test-resources.json`). -2. Use the [`New-TestResources.ps1`](https://github.com/Azure/azure-sdk-for-python/tree/main/eng/common/TestResources#on-the-desktop) script to deploy those resources. -3. Set the environment variables returned from step 2 in your current shell or add them to your `.env` file at the root of the repo to save these secrets. If you choose the latter method, you will have to make sure all the key-value pairs are in the format `=`, rather than the `${env:} = ''` formatting used in PowerShell. The names of the environment variables should be in all capital letters, snake case, and be prefixed with the library name. Ie. `TABLES_PRIMARY_KEY`, `FORMRECOGNIZER_ACCOUNT_URL`, `EVENTHUBS_SECRET_KEY`. If the name of the service is more than one word, like Form Recognizer, don't include an underscore between the words. Use `FORMRECOGNIZER_ACCOUNT_URL`, not `FORM_RECOGNIZER_ACCOUNT_URL`. -4. Create a partial implementation of the EnvironmentVariableLoader to pass in your specific environment variables. An example implementation is shown below for schemaregistry - -```python -import functools -from devtools_testutils import EnvironmentVariableLoader - -MyServicePreparer = functools.partial( - EnvironmentVariableLoader, "", - schemaregistry_endpoint="fake_resource.servicebus.windows.net/", - schemaregistry_group="fakegroup" -) -``` - -The parameters for the `functools.partial` method are: - -- The `EnvironmentVariableLoader` class -- The library folder that holds your code (ie. `sdk/schemaregistry`). This value is used to search your environment variables for the appropriate values. -- The remaining arguments are key-value kwargs, with the keys being the environment variables needed for the tests, and the value being a fake value for replacing the actual value in the recordings. The fake value in this implementation will replace the real value in the recording to make sure the secret keys are not committed to the recordings. These values should closely resemble the values because they are used in playback mode and will need to pass any client side validation. The fake value should also be a unique value to the other key-value pairs. - -### Write your tests (deprecated) - -In the `tests` directory create a file with the naming pattern `test_.py`. The base of each testing file will be roughly the same: - -```python -import functools -import pytest - -from devtools_testutils import AzureTestCase, EnvironmentVariableLoader - -from azure.schemaregistry import SchemaRegistryClient - -SchemaRegistryPreparer = functools.partial( - EnvironmentVariableLoader, 'schemaregistry', - schemaregistry_endpoint="fake_resource.servicebus.windows.net/", - schemaregistry_group="fakegroup" -) - -class TestSchemaRegistry(AzureTestCase): - -# Start with any helper functions you might need, for example a client creation method: - def create_schemareg_client(self, endpoint): - credential = self.get_credential(SchemaRegistryClient) - client = self.create_client_from_credential(SchemaRegistryClient, credential=credential, endpoint=endpoint) - return client - - ... - -# Write your tests - @SchemaRegistryPreparer() - def test_client_creation(self, schemaregistry_endpoint): - client = self.create_schemareg_client(schemaregistry_endpoint) - assert client is not None - -``` - -There's a lot going on in the example so we'll take this piece by piece: - -- Import everything you will need in your tests as normal, add to your imports the line `from devtools_testutils import AzureTestCase, EnvironmentVariableLoader`. These two objects give our tests a lot of the desired powers. -- `AzureTestCase`: the test class should inherit from this object (`class TestSchemaRegistry(AzureTestCase)`), doing so sets up the recording infrastructure and the client creation methods. -- `EnvironmentVariableLoader`: this loader serves two purposes. - - First, it will provide the live keys we need to test our package against live resources. - - Second, it will keep those same live keys out of our recordings to make sure that we are not leaking our secrets into the recordings. -- At the top of your test class you should include any helper methods you will need. Most libraries will have a client creation method to eliminate repetitive code. -- Following your helper methods will be your actual tests. All test methods must start with "test". The preparer built at the top of the file should decorate your test in the fashion: `@MyPreparer()`. - - The signature of your test will always contain `self`, and following self will be all the keys that you need from your preparer. A test does not need to have every key passed into it, the test framework will take care of passing in only the parameters specifically requested in the test signature. - -If you need logging functionality for your testing, pytest also offers [logging](https://docs.pytest.org/en/stable/logging.html) capabilities either inline through the `caplog` fixture or with command line flags. - -### An example test (deprecated) - -An example test for schemaregistry looks like: - -```python -class SchemaRegistryTestCase(AzureTestCase): - - ... - @SchemaRegistryPreparer() - def test_schema_basic(self, schemaregistry_endpoint, schemaregistry_group): - client = self.create_client(schemaregistry_endpoint) - schema_name = self.get_resource_name('test-schema-basic') - schema_str = """{"namespace":"example.avro","type":"record","name":"User","fields":[{"name":"name","type":"string"},{"name":"favorite_number","type":["int","null"]},{"name":"favorite_color","type":["string","null"]}]}""" - serialization_type = "Avro" - schema_properties = client.register_schema(schemaregistry_group, schema_name, serialization_type, schema_str) - - assert schema_properties.schema_id is not None - assert schema_properties.location is not None - assert schema_properties.location_by_id is not None - assert schema_properties.version is 1 - assert schema_properties.serialization_type == "Avro" - - with pytest.raises(HttpResponseError): - client.get_schema('a' * 32) -``` - -The `AzureTestCase` class has the ability to define a client by passing in the client object and the account URL, without having to worry about identity. Test files should not import `azure.identity`, the `self.create_basic_client` will take care of loading environment variables and creating the default credentials. - -The test infrastructure heavily leverages the `assert` keyword, which tests if the condition following it is true, and if it is not the program will raise an `AssertionError`. When writing tests, any uncaught exception results in a failure, from an assert or from the code itself (ie. `TypeError`, `ValueError`, `HttpResponseError`, etc.). The assert statements are testing that all the exected properties of the returned object are not `None`, and the last two assert statements verify that the tested properties are a given value. The last two lines of the test use a [context manager](https://docs.python.org/3/library/contextlib.html) used from the `pytest` library that tests whether the following block of code will raise a certain exception. The `client.get_schema('a' * 32)` is expected to fail because it does not exist, and we expect this test to raise an error that is an instance of `HttpResponseError`. - -### Run and record the test (deprecated) - -From your terminal run the `pytest` command to run all the tests that you have written so far. - -```cmd -(env)azure-sdk-for-python\sdk\my-directory\my-library> pytest -``` - -Your update should run smooth and have green dots representing passing tests. Now if you look at the contents of your `tests` directory there should be a new directory called `recording` with four `.yaml` files. Each `yaml` file is a recording for a single test. To run a test in playback mode change the `testsettings_local.cfg` to `live-mode: false` and rerun the tests with the same command. The test infrastructure will use the automatically created `.yaml` recordings to mock the HTTP traffic and run the tests. - -### Purging secrets (deprecated) - -The `yaml` files created from running tests in live mode store the request and response interactions between the library and the service and this can include authorization, account names, shared access signatures, and other secrets. The recordings are included in our public GitHub repository, making it important for us to remove any secrets from these recordings before committing them to the repository. There are two easy ways to remove secrets. The first is the `EnvironmentVariableLoader` implementation, discussed above. This method will automatically purge the keys with the provided fake values. The second way is to use the `self.scrubber.register_name_pair(key, fake_key)` method (This method is a function of the base `AzureTestCase` class), which is used when a secret is dynamically created during a test. For example, [Tables](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/tables/azure-data-tables/tests/_shared/cosmos_testcase.py#L86-L89) uses this method to replace storage account names with standard names. - -#### Special case: Shared Access Signature (deprecated) - -Tests that use the Shared Access Signature (SAS) to authenticate a client should use the [`AzureTestCase.generate_sas`](https://github.com/Azure/azure-sdk-for-python/blob/main/tools/azure-sdk-tools/devtools_testutils/azure_testcase.py#L357-L370) method to generate the SAS and purge the value from the recordings. An example of using this method can be found [here](https://github.com/Azure/azure-sdk-for-python/blob/78650ba08523c14227ce8139cba5f4d1e6ed7956/sdk/tables/azure-data-tables/tests/test_table_entity.py#L1628-L1636). The method takes any number of positional arguments, with the first being the method that creates the SAS, and any number of keyword arguments (\*\*kwargs). The method will be purged appropriately and allow for these tests to be run in playback mode. - [advanced_tests_notes]: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/tests-advanced.md [azure_cli_service_principal]: https://docs.microsoft.com/cli/azure/ad/sp?view=azure-cli-latest#az-ad-sp-create-for-rbac [azure_portal]: https://portal.azure.com/ [azure_recorded_test_case]: https://github.com/Azure/azure-sdk-for-python/blob/7e66e3877519a15c1d4304eb69abf0a2281773/tools/azure-sdk-tools/devtools_testutils/azure_recorded_testcase.py#L44 -[engsys_wiki]: https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/48/Create-a-new-Live-Test-pipeline?anchor=test-resources.json [env_var_docs]: https://github.com/Azure/azure-sdk-for-python/tree/main/tools/azure-sdk-tools/devtools_testutils#use-the-environmentvariableloader [env_var_loader]: https://github.com/Azure/azure-sdk-for-python/blob/main/tools/azure-sdk-tools/devtools_testutils/envvariable_loader.py [generate_sas]: https://github.com/Azure/azure-sdk-for-python/blob/bf4749babb363e2dc972775f4408036e31f361b4/tools/azure-sdk-tools/devtools_testutils/azure_recorded_testcase.py#L196 @@ -733,7 +566,6 @@ Tests that use the Shared Access Signature (SAS) to authenticate a client should [kv_test_resources_outputs]: https://github.com/Azure/azure-sdk-for-python/blob/fbdb860630bcc13c1e355828231161849a9bd5a4/sdk/keyvault/test-resources.json#L255 [kv_test_resources_resources]: https://github.com/Azure/azure-sdk-for-python/blob/fbdb860630bcc13c1e355828231161849a9bd5a4/sdk/keyvault/test-resources.json#L116 [manage_recordings]: https://github.com/Azure/azure-sdk-for-python/blob/main/scripts/manage_recordings.py -[mgmt_settings_fake]: https://github.com/Azure/azure-sdk-for-python/blob/main/tools/azure-sdk-tools/devtools_testutils/mgmt_settings_fake.py [packaging]: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/packaging.md [proxy_general_docs]: https://github.com/Azure/azure-sdk-tools/blob/main/tools/test-proxy/Azure.Sdk.Tools.TestProxy/README.md [proxy_migration_guide]: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/test_proxy_migration_guide.md diff --git a/eng/ci_tools.txt b/eng/ci_tools.txt index 3434d393e29f..4559b9a7877d 100644 --- a/eng/ci_tools.txt +++ b/eng/ci_tools.txt @@ -20,7 +20,7 @@ pytest==7.3.1 pytest-cov==4.0.0 coverage==7.2.5 -# locking packages defined as deps from azure-sdk-tools or azure-devtools +# locking packages defined as deps from azure-sdk-tools Jinja2==3.1.2 MarkupSafe==2.1.3 json-delta==2.0 @@ -33,5 +33,4 @@ ConfigArgParse==1.2.3 six==1.16.0 # local dev packages -./tools/azure-devtools ./tools/azure-sdk-tools[build] diff --git a/eng/conda_test_requirements.txt b/eng/conda_test_requirements.txt index fd1dc5b23c58..8f2144ac6829 100644 --- a/eng/conda_test_requirements.txt +++ b/eng/conda_test_requirements.txt @@ -1,6 +1,5 @@ # install from root of repo aiohttp>=3.0 -tools/azure-devtools tools/azure-sdk-tools mock; aiodns>=2.0 diff --git a/eng/dependency_tools.txt b/eng/dependency_tools.txt index a021c07c5ebc..a4425694e6b4 100644 --- a/eng/dependency_tools.txt +++ b/eng/dependency_tools.txt @@ -1,3 +1,2 @@ ../../../tools/azure-sdk-tools[build] -../../../tools/azure-devtools aiohttp>=3.0; python_version >= '3.5' \ No newline at end of file diff --git a/eng/pipelines/templates/jobs/update_pr.yml b/eng/pipelines/templates/jobs/update_pr.yml index 8262f4ecf4ac..6691b8fadd7e 100644 --- a/eng/pipelines/templates/jobs/update_pr.yml +++ b/eng/pipelines/templates/jobs/update_pr.yml @@ -19,7 +19,6 @@ steps: versionSpec: 3.8 - script: | - python3 -m pip install azure-devtools[ci_tools]>=1.1.0 python3 -m pip install -e $(Build.SourcesDirectory)/tools/azure-sdk-tools[ghtools] displayName: 'Install Azure SDK tools' diff --git a/eng/regression_test_tools.txt b/eng/regression_test_tools.txt index 0ca0311cd7a5..4fc3724a6b70 100644 --- a/eng/regression_test_tools.txt +++ b/eng/regression_test_tools.txt @@ -13,7 +13,7 @@ chardet>=2.0,<5.0 cmarkgfm<0.7.0 typing-extensions<=4.6.3 -# locking packages defined as deps from azure-sdk-tools or azure-devtools +# locking packages defined as deps from azure-sdk-tools pytoml==0.1.21 readme-renderer[md]==25.0 json-delta==2.0 diff --git a/eng/regression_tools.txt b/eng/regression_tools.txt index 98e2325fcff5..c99968e3d2e3 100644 --- a/eng/regression_tools.txt +++ b/eng/regression_tools.txt @@ -15,7 +15,7 @@ wrapt==1.14.1; python_version >= '3.11' MarkupSafe==2.1.3 typing-extensions<=4.6.3 -# locking packages defined as deps from azure-sdk-tools or azure-devtools +# locking packages defined as deps from azure-sdk-tools pytoml==0.1.21 json-delta==2.0 ConfigArgParse==1.2.3 @@ -26,5 +26,4 @@ pytest-cov==4.0.0 coverage==7.2.5 # local dev packages -./tools/azure-devtools ./tools/azure-sdk-tools[build] diff --git a/eng/test_tools.txt b/eng/test_tools.txt index ade5180b7307..23fb836b9d22 100644 --- a/eng/test_tools.txt +++ b/eng/test_tools.txt @@ -9,7 +9,7 @@ bandit==1.6.2 protobuf==3.17.3; python_version == '2.7' pyproject-api<1.6 -# locking packages defined as deps from azure-sdk-tools or azure-devtools +# locking packages defined as deps from azure-sdk-tools Jinja2==3.1.2 MarkupSafe==2.1.3 json-delta==2.0 diff --git a/eng/tox/install_depend_packages.py b/eng/tox/install_depend_packages.py index 85522869de04..3f577e44a440 100644 --- a/eng/tox/install_depend_packages.py +++ b/eng/tox/install_depend_packages.py @@ -277,7 +277,7 @@ def check_req_against_exclusion(req, req_to_exclude): This function evaluates a requirement from a dev_requirements file against a file name. Returns True if the requirement is for the same package listed in "req_to_exclude". False otherwise. - :param req: An incoming "req" looks like a requirement that appears in a dev_requirements file. EG: [ "../../../tools/azure-devtools", + :param req: An incoming "req" looks like a requirement that appears in a dev_requirements file. EG: [ "../../../tools/azure-sdk-tools", "https://docsupport.blob.core.windows.net/repackaged/cffi-1.14.6-cp310-cp310-win_amd64.whl; sys_platform=='win32' and python_version >= '3.10'", "msrestazure>=0.4.11", "pytest" ] diff --git a/scripts/auto_release/main.py b/scripts/auto_release/main.py index 18a9805fe974..c68ad9a8ab15 100644 --- a/scripts/auto_release/main.py +++ b/scripts/auto_release/main.py @@ -393,7 +393,6 @@ def check_dev_requirement(self): file = Path(f'sdk/{self.sdk_folder}/azure-mgmt-{self.package_name}/dev_requirements.txt') content = [ "-e ../../../tools/azure-sdk-tools\n", - "-e ../../../tools/azure-devtools\n", "../../identity/azure-identity\n" ] if not file.exists(): diff --git a/scripts/dev_setup.py b/scripts/dev_setup.py index c902ad2442b8..c5ef416d3bde 100644 --- a/scripts/dev_setup.py +++ b/scripts/dev_setup.py @@ -108,10 +108,6 @@ def select_install_type(pkg, run_develop, exceptions): ) # Install tests dep first -if "azure-devtools" in content_packages: - content_packages.remove("azure-devtools") -content_packages.insert(0, "azure-devtools") - if "azure-sdk-tools" in content_packages: content_packages.remove("azure-sdk-tools") content_packages.insert(1, "azure-sdk-tools") diff --git a/scripts/devops_tasks/common_tasks.py b/scripts/devops_tasks/common_tasks.py index ed78eaefef49..4a9c2376fb3b 100644 --- a/scripts/devops_tasks/common_tasks.py +++ b/scripts/devops_tasks/common_tasks.py @@ -239,7 +239,7 @@ def find_packages_missing_on_pypi(path: str) -> Iterable[str]: def find_tools_packages(root_path): - """Find packages in tools directory. For e.g. azure-sdk-tools, azure-devtools""" + """Find packages in tools directory. For e.g. azure-sdk-tools""" glob_string = os.path.join(root_path, "tools", "*", "setup.py") pkgs = [os.path.basename(os.path.dirname(p)) for p in glob.glob(glob_string)] logging.info("Packages in tools: {}".format(pkgs)) diff --git a/scripts/devops_tasks/test_regression.py b/scripts/devops_tasks/test_regression.py index 22fa46f35164..a6da48f848c2 100644 --- a/scripts/devops_tasks/test_regression.py +++ b/scripts/devops_tasks/test_regression.py @@ -252,7 +252,7 @@ def _install_packages(self, dependent_pkg_path, pkg_to_exclude): working_dir = self.context.package_root_path temp_dir = self.context.temp_path - list_to_exclude = [pkg_to_exclude, "azure-sdk-tools", "azure-devtools"] + list_to_exclude = [pkg_to_exclude, "azure-sdk-tools"] installed_pkgs = [ p.split("==")[0] for p in get_installed_packages(self.context.venv.lib_paths) if p.startswith("azure-") ] @@ -281,7 +281,7 @@ def _install_packages(self, dependent_pkg_path, pkg_to_exclude): logging.info("Extending dev requirement to include azure-sdk-tools") extend_dev_requirements( filtered_dev_req_path, - ["../../../tools/azure-sdk-tools", "../../../tools/azure-devtools"], + ["../../../tools/azure-sdk-tools"], ) logging.info("Installing filtered dev requirements from {}".format(filtered_dev_req_path)) run_check_call( diff --git a/sdk/advisor/azure-mgmt-advisor/dev_requirements.txt b/sdk/advisor/azure-mgmt-advisor/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/advisor/azure-mgmt-advisor/dev_requirements.txt +++ b/sdk/advisor/azure-mgmt-advisor/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/agrifood/azure-agrifood-farming/dev_requirements.txt b/sdk/agrifood/azure-agrifood-farming/dev_requirements.txt index aea71cc4e22a..9c5250fe8afb 100644 --- a/sdk/agrifood/azure-agrifood-farming/dev_requirements.txt +++ b/sdk/agrifood/azure-agrifood-farming/dev_requirements.txt @@ -2,5 +2,4 @@ aiohttp==3.8.3 python-dateutil==2.8.2 -e ../../core/azure-core -e ../../identity/azure-identity --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/agrifood/azure-mgmt-agrifood/dev_requirements.txt b/sdk/agrifood/azure-mgmt-agrifood/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/agrifood/azure-mgmt-agrifood/dev_requirements.txt +++ b/sdk/agrifood/azure-mgmt-agrifood/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/ai/azure-ai-generative/dev_requirements.txt b/sdk/ai/azure-ai-generative/dev_requirements.txt index 50e5bebd70ce..b19ad10b1c07 100644 --- a/sdk/ai/azure-ai-generative/dev_requirements.txt +++ b/sdk/ai/azure-ai-generative/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core --e ../../../tools/azure-devtools ../../identity/azure-identity -e ../../ml/azure-ai-ml -e ../azure-ai-resources diff --git a/sdk/ai/azure-ai-resources/dev_requirements.txt b/sdk/ai/azure-ai-resources/dev_requirements.txt index 7d5946ecf57b..7d05cc166d07 100644 --- a/sdk/ai/azure-ai-resources/dev_requirements.txt +++ b/sdk/ai/azure-ai-resources/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core --e ../../../tools/azure-devtools ../../identity/azure-identity -e ../../ml/azure-ai-ml pytest diff --git a/sdk/aks/azure-mgmt-devspaces/dev_requirements.txt b/sdk/aks/azure-mgmt-devspaces/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/aks/azure-mgmt-devspaces/dev_requirements.txt +++ b/sdk/aks/azure-mgmt-devspaces/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/alertsmanagement/azure-mgmt-alertsmanagement/dev_requirements.txt b/sdk/alertsmanagement/azure-mgmt-alertsmanagement/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/alertsmanagement/azure-mgmt-alertsmanagement/dev_requirements.txt +++ b/sdk/alertsmanagement/azure-mgmt-alertsmanagement/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/dev_requirements.txt b/sdk/anomalydetector/azure-ai-anomalydetector/dev_requirements.txt index ff12ab35dd01..105486471444 100644 --- a/sdk/anomalydetector/azure-ai-anomalydetector/dev_requirements.txt +++ b/sdk/anomalydetector/azure-ai-anomalydetector/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core aiohttp \ No newline at end of file diff --git a/sdk/apicenter/azure-mgmt-apicenter/dev_requirements.txt b/sdk/apicenter/azure-mgmt-apicenter/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/apicenter/azure-mgmt-apicenter/dev_requirements.txt +++ b/sdk/apicenter/azure-mgmt-apicenter/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/apimanagement/azure-mgmt-apimanagement/dev_requirements.txt b/sdk/apimanagement/azure-mgmt-apimanagement/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/apimanagement/azure-mgmt-apimanagement/dev_requirements.txt +++ b/sdk/apimanagement/azure-mgmt-apimanagement/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/app/azure-mgmt-app/dev_requirements.txt b/sdk/app/azure-mgmt-app/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/app/azure-mgmt-app/dev_requirements.txt +++ b/sdk/app/azure-mgmt-app/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/appcomplianceautomation/azure-mgmt-appcomplianceautomation/dev_requirements.txt b/sdk/appcomplianceautomation/azure-mgmt-appcomplianceautomation/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/appcomplianceautomation/azure-mgmt-appcomplianceautomation/dev_requirements.txt +++ b/sdk/appcomplianceautomation/azure-mgmt-appcomplianceautomation/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/dev_requirements.txt b/sdk/appconfiguration/azure-appconfiguration-provider/dev_requirements.txt index 917937525a8e..4bd6de19acc8 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/dev_requirements.txt +++ b/sdk/appconfiguration/azure-appconfiguration-provider/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../core/azure-core ../../appconfiguration/azure-appconfiguration -e ../../identity/azure-identity diff --git a/sdk/appconfiguration/azure-appconfiguration/dev_requirements.txt b/sdk/appconfiguration/azure-appconfiguration/dev_requirements.txt index b0d3f64b6dbd..12473b3a9805 100644 --- a/sdk/appconfiguration/azure-appconfiguration/dev_requirements.txt +++ b/sdk/appconfiguration/azure-appconfiguration/dev_requirements.txt @@ -1,6 +1,4 @@ --e ../../../tools/azure-devtools ../../core/azure-core -e ../../identity/azure-identity aiohttp>=3.0 --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/appconfiguration/azure-mgmt-appconfiguration/dev_requirements.txt b/sdk/appconfiguration/azure-mgmt-appconfiguration/dev_requirements.txt index f05a4e0957b9..dd4d8015a002 100644 --- a/sdk/appconfiguration/azure-mgmt-appconfiguration/dev_requirements.txt +++ b/sdk/appconfiguration/azure-mgmt-appconfiguration/dev_requirements.txt @@ -1,3 +1,2 @@ aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/appcontainers/azure-mgmt-appcontainers/dev_requirements.txt b/sdk/appcontainers/azure-mgmt-appcontainers/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/appcontainers/azure-mgmt-appcontainers/dev_requirements.txt +++ b/sdk/appcontainers/azure-mgmt-appcontainers/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/applicationinsights/azure-applicationinsights/dev_requirements.txt b/sdk/applicationinsights/azure-applicationinsights/dev_requirements.txt index e5330b7d45ea..740c9836a3fc 100644 --- a/sdk/applicationinsights/azure-applicationinsights/dev_requirements.txt +++ b/sdk/applicationinsights/azure-applicationinsights/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools msrestazure -../../core/azure-core --e ../../../tools/azure-devtools \ No newline at end of file +../../core/azure-core \ No newline at end of file diff --git a/sdk/applicationinsights/azure-mgmt-applicationinsights/dev_requirements.txt b/sdk/applicationinsights/azure-mgmt-applicationinsights/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/applicationinsights/azure-mgmt-applicationinsights/dev_requirements.txt +++ b/sdk/applicationinsights/azure-mgmt-applicationinsights/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/appplatform/azure-mgmt-appplatform/dev_requirements.txt b/sdk/appplatform/azure-mgmt-appplatform/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/appplatform/azure-mgmt-appplatform/dev_requirements.txt +++ b/sdk/appplatform/azure-mgmt-appplatform/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/appservice/azure-mgmt-web/dev_requirements.txt b/sdk/appservice/azure-mgmt-web/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/appservice/azure-mgmt-web/dev_requirements.txt +++ b/sdk/appservice/azure-mgmt-web/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/astro/azure-mgmt-astro/dev_requirements.txt b/sdk/astro/azure-mgmt-astro/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/astro/azure-mgmt-astro/dev_requirements.txt +++ b/sdk/astro/azure-mgmt-astro/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/attestation/azure-mgmt-attestation/dev_requirements.txt b/sdk/attestation/azure-mgmt-attestation/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/attestation/azure-mgmt-attestation/dev_requirements.txt +++ b/sdk/attestation/azure-mgmt-attestation/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/attestation/azure-security-attestation/dev_requirements.txt b/sdk/attestation/azure-security-attestation/dev_requirements.txt index 02e19cc3fed6..c206c0e493e0 100644 --- a/sdk/attestation/azure-security-attestation/dev_requirements.txt +++ b/sdk/attestation/azure-security-attestation/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools aiohttp>=3.0 --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core azure-identity diff --git a/sdk/authorization/azure-mgmt-authorization/dev_requirements.txt b/sdk/authorization/azure-mgmt-authorization/dev_requirements.txt index e54e16c7fa30..0b64908b8094 100644 --- a/sdk/authorization/azure-mgmt-authorization/dev_requirements.txt +++ b/sdk/authorization/azure-mgmt-authorization/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../resources/azure-mgmt-resource azure-identity \ No newline at end of file diff --git a/sdk/automanage/azure-mgmt-automanage/dev_requirements.txt b/sdk/automanage/azure-mgmt-automanage/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/automanage/azure-mgmt-automanage/dev_requirements.txt +++ b/sdk/automanage/azure-mgmt-automanage/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/automation/azure-mgmt-automation/dev_requirements.txt b/sdk/automation/azure-mgmt-automation/dev_requirements.txt index d1822c57bb73..970a1a5be9f3 100644 --- a/sdk/automation/azure-mgmt-automation/dev_requirements.txt +++ b/sdk/automation/azure-mgmt-automation/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity azure-mgmt-resource<=21.1.0 \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/dev_requirements.txt b/sdk/azurearcdata/azure-mgmt-azurearcdata/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/dev_requirements.txt +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/azurelargeinstance/azure-mgmt-azurelargeinstance/dev_requirements.txt b/sdk/azurelargeinstance/azure-mgmt-azurelargeinstance/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/azurelargeinstance/azure-mgmt-azurelargeinstance/dev_requirements.txt +++ b/sdk/azurelargeinstance/azure-mgmt-azurelargeinstance/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/azurestack/azure-mgmt-azurestack/dev_requirements.txt b/sdk/azurestack/azure-mgmt-azurestack/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/azurestack/azure-mgmt-azurestack/dev_requirements.txt +++ b/sdk/azurestack/azure-mgmt-azurestack/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/azurestackhci/azure-mgmt-azurestackhci/dev_requirements.txt b/sdk/azurestackhci/azure-mgmt-azurestackhci/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/azurestackhci/azure-mgmt-azurestackhci/dev_requirements.txt +++ b/sdk/azurestackhci/azure-mgmt-azurestackhci/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/dev_requirements.txt b/sdk/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/dev_requirements.txt index 92ee26f9fc75..dd4d8015a002 100644 --- a/sdk/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/dev_requirements.txt +++ b/sdk/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/dev_requirements.txt @@ -1,3 +1,2 @@ aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/batch/azure-batch/dev_requirements.txt b/sdk/batch/azure-batch/dev_requirements.txt index 693bed6d5397..acb495aceca6 100644 --- a/sdk/batch/azure-batch/dev_requirements.txt +++ b/sdk/batch/azure-batch/dev_requirements.txt @@ -2,6 +2,5 @@ -e ../azure-mgmt-batch -e ../../core/azure-core -e ../../identity/azure-identity --e ../../../tools/azure-devtools azure-mgmt-resource<=21.1.0 azure-mgmt-storage<=20.0.0 \ No newline at end of file diff --git a/sdk/batch/azure-mgmt-batch/dev_requirements.txt b/sdk/batch/azure-mgmt-batch/dev_requirements.txt index 85841c50f2e4..6fd0a84811c1 100644 --- a/sdk/batch/azure-mgmt-batch/dev_requirements.txt +++ b/sdk/batch/azure-mgmt-batch/dev_requirements.txt @@ -1,7 +1,6 @@ -e ../../../tools/azure-sdk-tools azure-mgmt-keyvault<9.0.0 azure-mgmt-network<19.0.0 --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource -e ../../storage/azure-mgmt-storage ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/batch/azure-mgmt-batch/tests/test_mgmt_batch.py b/sdk/batch/azure-mgmt-batch/tests/test_mgmt_batch.py index 05d1f2e0cc70..b50f256dafb0 100644 --- a/sdk/batch/azure-mgmt-batch/tests/test_mgmt_batch.py +++ b/sdk/batch/azure-mgmt-batch/tests/test_mgmt_batch.py @@ -16,7 +16,6 @@ from azure.mgmt.batch import models import azure.mgmt.network.models from mgmt_batch_preparers import KeyVaultPreparer, SimpleBatchPreparer -from azure_devtools.scenario_tests.recording_processors import GeneralNameReplacer from devtools_testutils import ( AzureMgmtRecordedTestCase, recorded_by_proxy, ResourceGroupPreparer, @@ -36,7 +35,6 @@ class TestMgmtBatch(AzureMgmtRecordedTestCase): - scrubber = GeneralNameReplacer() def setup_method(self, method): self.mgmt_batch_client = self.create_mgmt_client( diff --git a/sdk/batchai/azure-mgmt-batchai/dev_requirements.txt b/sdk/batchai/azure-mgmt-batchai/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/batchai/azure-mgmt-batchai/dev_requirements.txt +++ b/sdk/batchai/azure-mgmt-batchai/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/billing/azure-mgmt-billing/dev_requirements.txt b/sdk/billing/azure-mgmt-billing/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/billing/azure-mgmt-billing/dev_requirements.txt +++ b/sdk/billing/azure-mgmt-billing/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/billingbenefits/azure-mgmt-billingbenefits/dev_requirements.txt b/sdk/billingbenefits/azure-mgmt-billingbenefits/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/billingbenefits/azure-mgmt-billingbenefits/dev_requirements.txt +++ b/sdk/billingbenefits/azure-mgmt-billingbenefits/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/botservice/azure-mgmt-botservice/dev_requirements.txt b/sdk/botservice/azure-mgmt-botservice/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/botservice/azure-mgmt-botservice/dev_requirements.txt +++ b/sdk/botservice/azure-mgmt-botservice/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/cdn/azure-mgmt-cdn/dev_requirements.txt b/sdk/cdn/azure-mgmt-cdn/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/cdn/azure-mgmt-cdn/dev_requirements.txt +++ b/sdk/cdn/azure-mgmt-cdn/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/changeanalysis/azure-mgmt-changeanalysis/dev_requirements.txt b/sdk/changeanalysis/azure-mgmt-changeanalysis/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/changeanalysis/azure-mgmt-changeanalysis/dev_requirements.txt +++ b/sdk/changeanalysis/azure-mgmt-changeanalysis/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/chaos/azure-mgmt-chaos/dev_requirements.txt b/sdk/chaos/azure-mgmt-chaos/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/chaos/azure-mgmt-chaos/dev_requirements.txt +++ b/sdk/chaos/azure-mgmt-chaos/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitivelanguage/azure-ai-language-conversations/dev_requirements.txt b/sdk/cognitivelanguage/azure-ai-language-conversations/dev_requirements.txt index 76c92a9f039b..9c826d945410 100644 --- a/sdk/cognitivelanguage/azure-ai-language-conversations/dev_requirements.txt +++ b/sdk/cognitivelanguage/azure-ai-language-conversations/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../core/azure-core -e ../../identity/azure-identity aiohttp>=3.0 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt b/sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt index d622e9898c91..9c826d945410 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core --e ../../../tools/azure-devtools -e ../../identity/azure-identity aiohttp>=3.0 diff --git a/sdk/cognitiveservices/azure-cognitiveservices-anomalydetector/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-anomalydetector/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-anomalydetector/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-anomalydetector/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-formrecognizer/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-language-luis/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-language-luis/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-language-luis/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-language-luis/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-language-spellcheck/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-language-spellcheck/dev_requirements.txt index 13ea84a091ed..f09917ec053a 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-language-spellcheck/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-language-spellcheck/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools azure-core diff --git a/sdk/cognitiveservices/azure-cognitiveservices-language-textanalytics/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-language-textanalytics/dev_requirements.txt index b29b06148387..6209d1fe8df9 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-language-textanalytics/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-language-textanalytics/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools azure-mgmt-cognitiveservices<12.0.0 --e ../../../tools/azure-devtools azure-core diff --git a/sdk/cognitiveservices/azure-cognitiveservices-personalizer/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-personalizer/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-personalizer/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-personalizer/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-autosuggest/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-autosuggest/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-autosuggest/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-autosuggest/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-customimagesearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-customimagesearch/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-customimagesearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-customimagesearch/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-customsearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-customsearch/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-customsearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-customsearch/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-entitysearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-entitysearch/dev_requirements.txt index 36b863ce4e32..7101d712107e 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-entitysearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-entitysearch/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools azure-core \ No newline at end of file diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-imagesearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-imagesearch/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-imagesearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-imagesearch/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-videosearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-videosearch/dev_requirements.txt index 13ea84a091ed..f09917ec053a 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-videosearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-videosearch/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools azure-core diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-visualsearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-visualsearch/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-visualsearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-visualsearch/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-search-websearch/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-search-websearch/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-search-websearch/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-search-websearch/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-vision-computervision/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-vision-computervision/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-vision-computervision/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-vision-computervision/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-vision-contentmoderator/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-vision-contentmoderator/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-vision-contentmoderator/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-vision-contentmoderator/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-vision-customvision/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-vision-customvision/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-vision-customvision/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-vision-customvision/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cognitiveservices/azure-cognitiveservices-vision-face/dev_requirements.txt b/sdk/cognitiveservices/azure-cognitiveservices-vision-face/dev_requirements.txt index 36b863ce4e32..7101d712107e 100644 --- a/sdk/cognitiveservices/azure-cognitiveservices-vision-face/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-cognitiveservices-vision-face/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools azure-core \ No newline at end of file diff --git a/sdk/cognitiveservices/azure-mgmt-cognitiveservices/dev_requirements.txt b/sdk/cognitiveservices/azure-mgmt-cognitiveservices/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/cognitiveservices/azure-mgmt-cognitiveservices/dev_requirements.txt +++ b/sdk/cognitiveservices/azure-mgmt-cognitiveservices/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/commerce/azure-mgmt-commerce/dev_requirements.txt b/sdk/commerce/azure-mgmt-commerce/dev_requirements.txt index 00bff4da2800..69e7fdd3cc96 100644 --- a/sdk/commerce/azure-mgmt-commerce/dev_requirements.txt +++ b/sdk/commerce/azure-mgmt-commerce/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/dev_requirements.txt b/sdk/communication/azure-communication-callautomation/dev_requirements.txt index a18db93068ab..f412e02f7f7c 100644 --- a/sdk/communication/azure-communication-callautomation/dev_requirements.txt +++ b/sdk/communication/azure-communication-callautomation/dev_requirements.txt @@ -3,6 +3,5 @@ -e ../azure-communication-identity -e ../azure-communication-phonenumbers -e ../../servicebus/azure-servicebus --e ../../../tools/azure-devtools ../../core/azure-core aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/communication/azure-communication-chat/dev_requirements.txt b/sdk/communication/azure-communication-chat/dev_requirements.txt index 69df41a279ef..4e57fa8b4d69 100644 --- a/sdk/communication/azure-communication-chat/dev_requirements.txt +++ b/sdk/communication/azure-communication-chat/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools -e ../azure-communication-identity aiohttp>=3.0 --e ../../../tools/azure-devtools python-dateutil>=2.8.1 \ No newline at end of file diff --git a/sdk/communication/azure-communication-email/dev_requirements.txt b/sdk/communication/azure-communication-email/dev_requirements.txt index 733dcf452e64..c791805d257c 100644 --- a/sdk/communication/azure-communication-email/dev_requirements.txt +++ b/sdk/communication/azure-communication-email/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../core/azure-core aiohttp>=3.0 diff --git a/sdk/communication/azure-communication-identity/dev_requirements.txt b/sdk/communication/azure-communication-identity/dev_requirements.txt index dd8edf9aa0ab..31fd93a3e3f1 100644 --- a/sdk/communication/azure-communication-identity/dev_requirements.txt +++ b/sdk/communication/azure-communication-identity/dev_requirements.txt @@ -3,6 +3,5 @@ ../../core/azure-core ../azure-mgmt-communication aiohttp>=3.0 --e ../../../tools/azure-devtools parameterized>=0.7.3 python-dateutil>=2.8.0 \ No newline at end of file diff --git a/sdk/communication/azure-communication-jobrouter/dev_requirements.txt b/sdk/communication/azure-communication-jobrouter/dev_requirements.txt index 37ba61024a59..ef07a3898e63 100644 --- a/sdk/communication/azure-communication-jobrouter/dev_requirements.txt +++ b/sdk/communication/azure-communication-jobrouter/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../core/azure-core aiohttp>=3.0 diff --git a/sdk/communication/azure-communication-messages/dev_requirements.txt b/sdk/communication/azure-communication-messages/dev_requirements.txt index 3f40ebef83f7..e86b1c0b17d8 100644 --- a/sdk/communication/azure-communication-messages/dev_requirements.txt +++ b/sdk/communication/azure-communication-messages/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/communication/azure-communication-networktraversal/dev_requirements.txt b/sdk/communication/azure-communication-networktraversal/dev_requirements.txt index 09382560255e..e7f3f4332f3c 100644 --- a/sdk/communication/azure-communication-networktraversal/dev_requirements.txt +++ b/sdk/communication/azure-communication-networktraversal/dev_requirements.txt @@ -2,5 +2,4 @@ -e ../../identity/azure-identity -e ../azure-communication-identity ../../core/azure-core -aiohttp>=3.0 --e ../../../tools/azure-devtools \ No newline at end of file +aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/communication/azure-communication-phonenumbers/dev_requirements.txt b/sdk/communication/azure-communication-phonenumbers/dev_requirements.txt index 5c15154dbb75..20a666edc4ec 100644 --- a/sdk/communication/azure-communication-phonenumbers/dev_requirements.txt +++ b/sdk/communication/azure-communication-phonenumbers/dev_requirements.txt @@ -3,4 +3,3 @@ ../../core/azure-core ../azure-mgmt-communication aiohttp --e ../../../tools/azure-devtools diff --git a/sdk/communication/azure-communication-rooms/dev_requirements.txt b/sdk/communication/azure-communication-rooms/dev_requirements.txt index 2aa11c3af596..76ef5b0b6073 100644 --- a/sdk/communication/azure-communication-rooms/dev_requirements.txt +++ b/sdk/communication/azure-communication-rooms/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../azure-communication-identity ../../core/azure-core diff --git a/sdk/communication/azure-communication-sms/dev_requirements.txt b/sdk/communication/azure-communication-sms/dev_requirements.txt index fdae4a50e982..507b21962ffc 100644 --- a/sdk/communication/azure-communication-sms/dev_requirements.txt +++ b/sdk/communication/azure-communication-sms/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../core/azure-core aiohttp>=3.0 diff --git a/sdk/communication/azure-mgmt-communication/dev_requirements.txt b/sdk/communication/azure-mgmt-communication/dev_requirements.txt index 19851a97b3fe..3c0e14159fe8 100644 --- a/sdk/communication/azure-mgmt-communication/dev_requirements.txt +++ b/sdk/communication/azure-mgmt-communication/dev_requirements.txt @@ -2,5 +2,4 @@ -e ../../notificationhubs/azure-mgmt-notificationhubs -e ../../identity/azure-identity -e ../../core/azure-core --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource diff --git a/sdk/compute/azure-mgmt-avs/dev_requirements.txt b/sdk/compute/azure-mgmt-avs/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/compute/azure-mgmt-avs/dev_requirements.txt +++ b/sdk/compute/azure-mgmt-avs/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/compute/azure-mgmt-compute/dev_requirements.txt b/sdk/compute/azure-mgmt-compute/dev_requirements.txt index 4e1021d11703..08bd0936e914 100644 --- a/sdk/compute/azure-mgmt-compute/dev_requirements.txt +++ b/sdk/compute/azure-mgmt-compute/dev_requirements.txt @@ -4,7 +4,6 @@ -e ../../network/azure-mgmt-network -e ../../resources/azure-mgmt-resource aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-devtools ../../identity/azure-identity azure-storage-blob==12.9.0 azure-mgmt-keyvault==10.0.0 \ No newline at end of file diff --git a/sdk/compute/azure-mgmt-imagebuilder/dev_requirements.txt b/sdk/compute/azure-mgmt-imagebuilder/dev_requirements.txt index ef30fb5c1b9f..6dc9aeac0fde 100644 --- a/sdk/compute/azure-mgmt-imagebuilder/dev_requirements.txt +++ b/sdk/compute/azure-mgmt-imagebuilder/dev_requirements.txt @@ -1,3 +1,2 @@ ../../core/azure-core --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/compute/azure-mgmt-vmwarecloudsimple/dev_requirements.txt b/sdk/compute/azure-mgmt-vmwarecloudsimple/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/compute/azure-mgmt-vmwarecloudsimple/dev_requirements.txt +++ b/sdk/compute/azure-mgmt-vmwarecloudsimple/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/confidentialledger/azure-confidentialledger/dev_requirements.txt b/sdk/confidentialledger/azure-confidentialledger/dev_requirements.txt index b9170a54dd7d..f5a17785aeb9 100644 --- a/sdk/confidentialledger/azure-confidentialledger/dev_requirements.txt +++ b/sdk/confidentialledger/azure-confidentialledger/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools -e ../../core/azure-core --e ../../../tools/azure-devtools -e ../../identity/azure-identity aiohttp \ No newline at end of file diff --git a/sdk/confidentialledger/azure-mgmt-confidentialledger/dev_requirements.txt b/sdk/confidentialledger/azure-mgmt-confidentialledger/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/confidentialledger/azure-mgmt-confidentialledger/dev_requirements.txt +++ b/sdk/confidentialledger/azure-mgmt-confidentialledger/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/confluent/azure-mgmt-confluent/dev_requirements.txt b/sdk/confluent/azure-mgmt-confluent/dev_requirements.txt index 17ac5c35fde1..1cfa079cdfb1 100644 --- a/sdk/confluent/azure-mgmt-confluent/dev_requirements.txt +++ b/sdk/confluent/azure-mgmt-confluent/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource diff --git a/sdk/connectedvmware/azure-mgmt-connectedvmware/dev_requirements.txt b/sdk/connectedvmware/azure-mgmt-connectedvmware/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/connectedvmware/azure-mgmt-connectedvmware/dev_requirements.txt +++ b/sdk/connectedvmware/azure-mgmt-connectedvmware/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/consumption/azure-mgmt-consumption/dev_requirements.txt b/sdk/consumption/azure-mgmt-consumption/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/consumption/azure-mgmt-consumption/dev_requirements.txt +++ b/sdk/consumption/azure-mgmt-consumption/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/dev_requirements.txt b/sdk/containerinstance/azure-mgmt-containerinstance/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/dev_requirements.txt +++ b/sdk/containerinstance/azure-mgmt-containerinstance/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/containerregistry/azure-containerregistry/dev_requirements.txt b/sdk/containerregistry/azure-containerregistry/dev_requirements.txt index 1f0a559f0044..5e43ed212d4d 100644 --- a/sdk/containerregistry/azure-containerregistry/dev_requirements.txt +++ b/sdk/containerregistry/azure-containerregistry/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../core/azure-core # Aiohttp 3.8.6 triggers https://github.com/aio-libs/aiohttp/issues/4581 on pypy for some reasons aiohttp>=3.0, <3.8.6; platform_python_implementation == "PyPy" diff --git a/sdk/containerregistry/azure-mgmt-containerregistry/dev_requirements.txt b/sdk/containerregistry/azure-mgmt-containerregistry/dev_requirements.txt index 8ff2bec862d8..4c04795b3a01 100644 --- a/sdk/containerregistry/azure-mgmt-containerregistry/dev_requirements.txt +++ b/sdk/containerregistry/azure-mgmt-containerregistry/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../storage/azure-mgmt-storage azure-identity \ No newline at end of file diff --git a/sdk/containerservice/azure-mgmt-containerservice/dev_requirements.txt b/sdk/containerservice/azure-mgmt-containerservice/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/containerservice/azure-mgmt-containerservice/dev_requirements.txt +++ b/sdk/containerservice/azure-mgmt-containerservice/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/containerservice/azure-mgmt-containerservicefleet/dev_requirements.txt b/sdk/containerservice/azure-mgmt-containerservicefleet/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/containerservice/azure-mgmt-containerservicefleet/dev_requirements.txt +++ b/sdk/containerservice/azure-mgmt-containerservicefleet/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/contentsafety/azure-ai-contentsafety/dev_requirements.txt b/sdk/contentsafety/azure-ai-contentsafety/dev_requirements.txt index c4e89ba26d71..c82827bb56f4 100644 --- a/sdk/contentsafety/azure-ai-contentsafety/dev_requirements.txt +++ b/sdk/contentsafety/azure-ai-contentsafety/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/core/azure-common/dev_requirements.txt b/sdk/core/azure-common/dev_requirements.txt index 4eebc7a11ac9..4f9a6c3b5482 100644 --- a/sdk/core/azure-common/dev_requirements.txt +++ b/sdk/core/azure-common/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools -e ../azure-core -msrestazure --e ../../../tools/azure-devtools \ No newline at end of file +msrestazure \ No newline at end of file diff --git a/sdk/core/azure-core-experimental/dev_requirements.txt b/sdk/core/azure-core-experimental/dev_requirements.txt index 427d6928eca2..fce971bb6c31 100644 --- a/sdk/core/azure-core-experimental/dev_requirements.txt +++ b/sdk/core/azure-core-experimental/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools ../azure-core --e ../../../tools/azure-devtools js pyodide==0.19.0a1; python_version >= '3.8' httpx==0.23.3 diff --git a/sdk/core/azure-core-tracing-opencensus/dev_requirements.txt b/sdk/core/azure-core-tracing-opencensus/dev_requirements.txt index f9c8d2994225..a4b74a7f9e44 100644 --- a/sdk/core/azure-core-tracing-opencensus/dev_requirements.txt +++ b/sdk/core/azure-core-tracing-opencensus/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools -../azure-core --e ../../../tools/azure-devtools \ No newline at end of file +../azure-core \ No newline at end of file diff --git a/sdk/core/azure-core-tracing-opentelemetry/dev_requirements.txt b/sdk/core/azure-core-tracing-opentelemetry/dev_requirements.txt index dfb9a818f317..4397c64cc730 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/dev_requirements.txt +++ b/sdk/core/azure-core-tracing-opentelemetry/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools ../azure-core --e ../../../tools/azure-devtools opentelemetry-sdk<2.0.0,>=1.12.0 opentelemetry-instrumentation-requests>=0.32b0 requests diff --git a/sdk/core/azure-core/dev_requirements.txt b/sdk/core/azure-core/dev_requirements.txt index 9efe91878533..2f9f36b99021 100644 --- a/sdk/core/azure-core/dev_requirements.txt +++ b/sdk/core/azure-core/dev_requirements.txt @@ -7,7 +7,6 @@ opencensus>=0.6.0 opencensus-ext-azure opencensus-ext-threading -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e tests/testserver_tests/coretestserver pytest-trio azure-storage-blob diff --git a/sdk/core/azure-mgmt-core/dev_requirements.txt b/sdk/core/azure-mgmt-core/dev_requirements.txt index e533a29bbef9..109a15733f4f 100644 --- a/sdk/core/azure-mgmt-core/dev_requirements.txt +++ b/sdk/core/azure-mgmt-core/dev_requirements.txt @@ -4,5 +4,4 @@ typing_extensions>=3.7.2 -e ../azure-core mock;python_version<="2.7" httpretty --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/core/azure-servicemanagement-legacy/dev_requirements.txt b/sdk/core/azure-servicemanagement-legacy/dev_requirements.txt index 8df9fac5b68b..871c725c28c2 100644 --- a/sdk/core/azure-servicemanagement-legacy/dev_requirements.txt +++ b/sdk/core/azure-servicemanagement-legacy/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools -e ../azure-common --e ../../storage/azure-storage-blob --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../storage/azure-storage-blob \ No newline at end of file diff --git a/sdk/core/corehttp/dev_requirements.txt b/sdk/core/corehttp/dev_requirements.txt index edde757ea42d..2c8840f3c85a 100644 --- a/sdk/core/corehttp/dev_requirements.txt +++ b/sdk/core/corehttp/dev_requirements.txt @@ -4,7 +4,6 @@ aiohttp<3.8.6 ; platform_python_implementation == "PyPy" aiohttp ; platform_python_implementation != "PyPy" httpx>=0.25.0 -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e tests/testserver_tests/coretestserver ../../core/azure-core azure-storage-blob diff --git a/sdk/cosmos/azure-cosmos/dev_requirements.txt b/sdk/cosmos/azure-cosmos/dev_requirements.txt index 5af3afe85adb..f6c7095970ba 100644 --- a/sdk/cosmos/azure-cosmos/dev_requirements.txt +++ b/sdk/cosmos/azure-cosmos/dev_requirements.txt @@ -2,4 +2,3 @@ aiohttp>=3.0 -e ../../core/azure-core -e ../../identity/azure-identity -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/dev_requirements.txt b/sdk/cosmos/azure-mgmt-cosmosdb/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/dev_requirements.txt +++ b/sdk/cosmos/azure-mgmt-cosmosdb/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/cosmos/azure-mgmt-documentdb/dev_requirements.txt b/sdk/cosmos/azure-mgmt-documentdb/dev_requirements.txt index 13fd500db73c..13d05507d99f 100644 --- a/sdk/cosmos/azure-mgmt-documentdb/dev_requirements.txt +++ b/sdk/cosmos/azure-mgmt-documentdb/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource \ No newline at end of file diff --git a/sdk/cosmosdbforpostgresql/azure-mgmt-cosmosdbforpostgresql/dev_requirements.txt b/sdk/cosmosdbforpostgresql/azure-mgmt-cosmosdbforpostgresql/dev_requirements.txt index a5a298a60e01..e93f47628ef9 100644 --- a/sdk/cosmosdbforpostgresql/azure-mgmt-cosmosdbforpostgresql/dev_requirements.txt +++ b/sdk/cosmosdbforpostgresql/azure-mgmt-cosmosdbforpostgresql/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity -e ../../resources/azure-mgmt-resource \ No newline at end of file diff --git a/sdk/costmanagement/azure-mgmt-costmanagement/dev_requirements.txt b/sdk/costmanagement/azure-mgmt-costmanagement/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/costmanagement/azure-mgmt-costmanagement/dev_requirements.txt +++ b/sdk/costmanagement/azure-mgmt-costmanagement/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/customproviders/azure-mgmt-customproviders/dev_requirements.txt b/sdk/customproviders/azure-mgmt-customproviders/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/customproviders/azure-mgmt-customproviders/dev_requirements.txt +++ b/sdk/customproviders/azure-mgmt-customproviders/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/customproviders/dev_requirements.txt b/sdk/customproviders/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/customproviders/dev_requirements.txt +++ b/sdk/customproviders/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/dashboard/azure-mgmt-dashboard/dev_requirements.txt b/sdk/dashboard/azure-mgmt-dashboard/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/dashboard/azure-mgmt-dashboard/dev_requirements.txt +++ b/sdk/dashboard/azure-mgmt-dashboard/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/databox/azure-mgmt-databox/dev_requirements.txt b/sdk/databox/azure-mgmt-databox/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/databox/azure-mgmt-databox/dev_requirements.txt +++ b/sdk/databox/azure-mgmt-databox/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/databoxedge/azure-mgmt-databoxedge/dev_requirements.txt b/sdk/databoxedge/azure-mgmt-databoxedge/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/databoxedge/azure-mgmt-databoxedge/dev_requirements.txt +++ b/sdk/databoxedge/azure-mgmt-databoxedge/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/databricks/azure-mgmt-databricks/dev_requirements.txt b/sdk/databricks/azure-mgmt-databricks/dev_requirements.txt index 97b68725b68f..c69e8235385b 100644 --- a/sdk/databricks/azure-mgmt-databricks/dev_requirements.txt +++ b/sdk/databricks/azure-mgmt-databricks/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools azure-mgmt-resource<=21.1.0 \ No newline at end of file diff --git a/sdk/datadog/azure-mgmt-datadog/dev_requirements.txt b/sdk/datadog/azure-mgmt-datadog/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/datadog/azure-mgmt-datadog/dev_requirements.txt +++ b/sdk/datadog/azure-mgmt-datadog/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/datafactory/azure-mgmt-datafactory/dev_requirements.txt b/sdk/datafactory/azure-mgmt-datafactory/dev_requirements.txt index 17ac5c35fde1..1cfa079cdfb1 100644 --- a/sdk/datafactory/azure-mgmt-datafactory/dev_requirements.txt +++ b/sdk/datafactory/azure-mgmt-datafactory/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource diff --git a/sdk/datalake/azure-mgmt-datalake-analytics/dev_requirements.txt b/sdk/datalake/azure-mgmt-datalake-analytics/dev_requirements.txt index d1822c57bb73..970a1a5be9f3 100644 --- a/sdk/datalake/azure-mgmt-datalake-analytics/dev_requirements.txt +++ b/sdk/datalake/azure-mgmt-datalake-analytics/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity azure-mgmt-resource<=21.1.0 \ No newline at end of file diff --git a/sdk/datalake/azure-mgmt-datalake-store/dev_requirements.txt b/sdk/datalake/azure-mgmt-datalake-store/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/datalake/azure-mgmt-datalake-store/dev_requirements.txt +++ b/sdk/datalake/azure-mgmt-datalake-store/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/datamigration/azure-mgmt-datamigration/dev_requirements.txt b/sdk/datamigration/azure-mgmt-datamigration/dev_requirements.txt index 06008714c82d..7fb512ae2c42 100644 --- a/sdk/datamigration/azure-mgmt-datamigration/dev_requirements.txt +++ b/sdk/datamigration/azure-mgmt-datamigration/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../network/azure-mgmt-network --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../network/azure-mgmt-network \ No newline at end of file diff --git a/sdk/dataprotection/azure-mgmt-dataprotection/dev_requirements.txt b/sdk/dataprotection/azure-mgmt-dataprotection/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/dataprotection/azure-mgmt-dataprotection/dev_requirements.txt +++ b/sdk/dataprotection/azure-mgmt-dataprotection/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/datashare/azure-mgmt-datashare/dev_requirements.txt b/sdk/datashare/azure-mgmt-datashare/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/datashare/azure-mgmt-datashare/dev_requirements.txt +++ b/sdk/datashare/azure-mgmt-datashare/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/defendereasm/azure-mgmt-defendereasm/dev_requirements.txt b/sdk/defendereasm/azure-mgmt-defendereasm/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/defendereasm/azure-mgmt-defendereasm/dev_requirements.txt +++ b/sdk/defendereasm/azure-mgmt-defendereasm/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/deploymentmanager/azure-mgmt-deploymentmanager/dev_requirements.txt b/sdk/deploymentmanager/azure-mgmt-deploymentmanager/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/deploymentmanager/azure-mgmt-deploymentmanager/dev_requirements.txt +++ b/sdk/deploymentmanager/azure-mgmt-deploymentmanager/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/desktopvirtualization/azure-mgmt-desktopvirtualization/dev_requirements.txt b/sdk/desktopvirtualization/azure-mgmt-desktopvirtualization/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/desktopvirtualization/azure-mgmt-desktopvirtualization/dev_requirements.txt +++ b/sdk/desktopvirtualization/azure-mgmt-desktopvirtualization/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/devcenter/azure-developer-devcenter/dev_requirements.txt b/sdk/devcenter/azure-developer-devcenter/dev_requirements.txt index c4e89ba26d71..c82827bb56f4 100644 --- a/sdk/devcenter/azure-developer-devcenter/dev_requirements.txt +++ b/sdk/devcenter/azure-developer-devcenter/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/devcenter/azure-mgmt-devcenter/dev_requirements.txt b/sdk/devcenter/azure-mgmt-devcenter/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/dev_requirements.txt +++ b/sdk/devcenter/azure-mgmt-devcenter/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/devhub/azure-mgmt-devhub/dev_requirements.txt b/sdk/devhub/azure-mgmt-devhub/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/devhub/azure-mgmt-devhub/dev_requirements.txt +++ b/sdk/devhub/azure-mgmt-devhub/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/deviceupdate/azure-iot-deviceupdate/dev_requirements.txt b/sdk/deviceupdate/azure-iot-deviceupdate/dev_requirements.txt index 90a6e8bffbb2..32d8bcfd4034 100644 --- a/sdk/deviceupdate/azure-iot-deviceupdate/dev_requirements.txt +++ b/sdk/deviceupdate/azure-iot-deviceupdate/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity aiohttp>=3.0 diff --git a/sdk/deviceupdate/azure-mgmt-deviceupdate/dev_requirements.txt b/sdk/deviceupdate/azure-mgmt-deviceupdate/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/deviceupdate/azure-mgmt-deviceupdate/dev_requirements.txt +++ b/sdk/deviceupdate/azure-mgmt-deviceupdate/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/devtestlabs/azure-mgmt-devtestlabs/dev_requirements.txt b/sdk/devtestlabs/azure-mgmt-devtestlabs/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/devtestlabs/azure-mgmt-devtestlabs/dev_requirements.txt +++ b/sdk/devtestlabs/azure-mgmt-devtestlabs/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/digitaltwins/azure-digitaltwins-core/dev_requirements.txt b/sdk/digitaltwins/azure-digitaltwins-core/dev_requirements.txt index 3d2090d110a3..00aec0a35741 100644 --- a/sdk/digitaltwins/azure-digitaltwins-core/dev_requirements.txt +++ b/sdk/digitaltwins/azure-digitaltwins-core/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools ../../core/azure-core azure-mgmt-authorization azure-mgmt-digitaltwins diff --git a/sdk/digitaltwins/azure-mgmt-digitaltwins/dev_requirements.txt b/sdk/digitaltwins/azure-mgmt-digitaltwins/dev_requirements.txt index d199d6880b57..efbdd0078d06 100644 --- a/sdk/digitaltwins/azure-mgmt-digitaltwins/dev_requirements.txt +++ b/sdk/digitaltwins/azure-mgmt-digitaltwins/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity -e ../../resources/azure-mgmt-msi diff --git a/sdk/dnsresolver/azure-mgmt-dnsresolver/dev_requirements.txt b/sdk/dnsresolver/azure-mgmt-dnsresolver/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/dnsresolver/azure-mgmt-dnsresolver/dev_requirements.txt +++ b/sdk/dnsresolver/azure-mgmt-dnsresolver/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/dev_requirements.txt b/sdk/documentintelligence/azure-ai-documentintelligence/dev_requirements.txt index ff12ab35dd01..105486471444 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/dev_requirements.txt +++ b/sdk/documentintelligence/azure-ai-documentintelligence/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core aiohttp \ No newline at end of file diff --git a/sdk/dynatrace/azure-mgmt-dynatrace/dev_requirements.txt b/sdk/dynatrace/azure-mgmt-dynatrace/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/dynatrace/azure-mgmt-dynatrace/dev_requirements.txt +++ b/sdk/dynatrace/azure-mgmt-dynatrace/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/easm/azure-defender-easm/dev_requirements.txt b/sdk/easm/azure-defender-easm/dev_requirements.txt index c4e89ba26d71..c82827bb56f4 100644 --- a/sdk/easm/azure-defender-easm/dev_requirements.txt +++ b/sdk/easm/azure-defender-easm/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/edgegateway/azure-mgmt-edgegateway/dev_requirements.txt b/sdk/edgegateway/azure-mgmt-edgegateway/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/edgegateway/azure-mgmt-edgegateway/dev_requirements.txt +++ b/sdk/edgegateway/azure-mgmt-edgegateway/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/edgeorder/azure-mgmt-edgeorder/dev_requirements.txt b/sdk/edgeorder/azure-mgmt-edgeorder/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/edgeorder/azure-mgmt-edgeorder/dev_requirements.txt +++ b/sdk/edgeorder/azure-mgmt-edgeorder/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/education/azure-mgmt-education/dev_requirements.txt b/sdk/education/azure-mgmt-education/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/education/azure-mgmt-education/dev_requirements.txt +++ b/sdk/education/azure-mgmt-education/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/elastic/azure-mgmt-elastic/dev_requirements.txt b/sdk/elastic/azure-mgmt-elastic/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/elastic/azure-mgmt-elastic/dev_requirements.txt +++ b/sdk/elastic/azure-mgmt-elastic/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/elasticsan/azure-mgmt-elasticsan/dev_requirements.txt b/sdk/elasticsan/azure-mgmt-elasticsan/dev_requirements.txt index 00bff4da2800..69e7fdd3cc96 100644 --- a/sdk/elasticsan/azure-mgmt-elasticsan/dev_requirements.txt +++ b/sdk/elasticsan/azure-mgmt-elasticsan/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/dev_requirements.txt b/sdk/eventgrid/azure-eventgrid/dev_requirements.txt index 4f784553a0c6..df46fc9d4c4f 100644 --- a/sdk/eventgrid/azure-eventgrid/dev_requirements.txt +++ b/sdk/eventgrid/azure-eventgrid/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/eventgrid/azure-mgmt-eventgrid/dev_requirements.txt b/sdk/eventgrid/azure-mgmt-eventgrid/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/eventgrid/azure-mgmt-eventgrid/dev_requirements.txt +++ b/sdk/eventgrid/azure-mgmt-eventgrid/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/dev_requirements.txt b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/dev_requirements.txt index d2fa40184454..ede154a80634 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/dev_requirements.txt +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core -../azure-eventhub --e ../../../tools/azure-devtools \ No newline at end of file +../azure-eventhub \ No newline at end of file diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob/dev_requirements.txt b/sdk/eventhub/azure-eventhub-checkpointstoreblob/dev_requirements.txt index d2fa40184454..ede154a80634 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob/dev_requirements.txt +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core -../azure-eventhub --e ../../../tools/azure-devtools \ No newline at end of file +../azure-eventhub \ No newline at end of file diff --git a/sdk/eventhub/azure-eventhub-checkpointstoretable/dev_requirements.txt b/sdk/eventhub/azure-eventhub-checkpointstoretable/dev_requirements.txt index 3004452c861c..6195bb36ac8e 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoretable/dev_requirements.txt +++ b/sdk/eventhub/azure-eventhub-checkpointstoretable/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools -aiohttp --e ../../../tools/azure-devtools \ No newline at end of file +aiohttp \ No newline at end of file diff --git a/sdk/eventhub/azure-eventhub/dev_requirements.txt b/sdk/eventhub/azure-eventhub/dev_requirements.txt index 08d8d980de02..45eae1fa80c8 100644 --- a/sdk/eventhub/azure-eventhub/dev_requirements.txt +++ b/sdk/eventhub/azure-eventhub/dev_requirements.txt @@ -5,6 +5,5 @@ azure-mgmt-eventhub<=10.1.0 azure-mgmt-resource==20.0.0 aiohttp; python_version < '3.12' websocket-client --e ../../../tools/azure-devtools ../azure-eventhub-checkpointstoreblob-aio ../azure-eventhub-checkpointstoreblob diff --git a/sdk/eventhub/azure-mgmt-eventhub/dev_requirements.txt b/sdk/eventhub/azure-mgmt-eventhub/dev_requirements.txt index c49accb8c3ab..077fc146f04c 100644 --- a/sdk/eventhub/azure-mgmt-eventhub/dev_requirements.txt +++ b/sdk/eventhub/azure-mgmt-eventhub/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core ../azure-eventhub -azure-data-tables==12.2.0 --e ../../../tools/azure-devtools \ No newline at end of file +azure-data-tables==12.2.0 \ No newline at end of file diff --git a/sdk/extendedlocation/azure-mgmt-extendedlocation/dev_requirements.txt b/sdk/extendedlocation/azure-mgmt-extendedlocation/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/extendedlocation/azure-mgmt-extendedlocation/dev_requirements.txt +++ b/sdk/extendedlocation/azure-mgmt-extendedlocation/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/fluidrelay/azure-mgmt-fluidrelay/dev_requirements.txt b/sdk/fluidrelay/azure-mgmt-fluidrelay/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/fluidrelay/azure-mgmt-fluidrelay/dev_requirements.txt +++ b/sdk/fluidrelay/azure-mgmt-fluidrelay/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/dev_requirements.txt b/sdk/formrecognizer/azure-ai-formrecognizer/dev_requirements.txt index 1d1c7887cf35..892ba07bbcdf 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/dev_requirements.txt +++ b/sdk/formrecognizer/azure-ai-formrecognizer/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../core/azure-core -e ../../identity/azure-identity aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts.py index a5b0d583c3c4..94b7c335315a 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts.py @@ -576,7 +576,7 @@ def test_receipt_continuation_token(self, **kwargs): poller = client.begin_analyze_document("prebuilt-receipt", None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_async.py index e885c9fd6a3f..cb111b602e44 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_async.py @@ -298,7 +298,7 @@ async def test_receipt_continuation_token(self, **kwargs): poller = await client.begin_analyze_document("prebuilt-receipt", None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url.py index aa93118f2405..3d00b2bed46d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url.py @@ -371,7 +371,7 @@ def test_receipt_continuation_token(self, **kwargs): poller = client.begin_analyze_document_from_url(None, None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url_async.py index b906f6db31d9..162ba715f670 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts_from_url_async.py @@ -403,7 +403,7 @@ async def test_receipt_continuation_token(self, **kwargs): poller = await client.begin_analyze_document_from_url("prebuilt-receipt", None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model.py index 77e2d953e0e7..439559be6a08 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model.py @@ -104,7 +104,7 @@ def test_compose_continuation_token(self, **kwargs): result = poller.result() assert result - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model_async.py index 1bd2321ce36c..76d88614cc23 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_compose_model_async.py @@ -108,7 +108,7 @@ async def test_compose_continuation_token(self, **kwargs): result = await poller.result() assert result - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model.py index 2b91449191a3..332e0af0d517 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model.py @@ -202,7 +202,7 @@ def test_copy_continuation_token(self, **kwargs): result = poller.result() assert result - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model_async.py index d219e8285edd..8bbf87a3a573 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_copy_model_async.py @@ -211,7 +211,7 @@ async def test_copy_continuation_token(self, **kwargs): result = await poller.result() assert result - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training.py index c940f060f604..d6c467e500e0 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training.py @@ -270,7 +270,7 @@ def test_build_model_continuation_token(self, **kwargs): poller = client.begin_build_document_model("template", blob_container_url=None, continuation_token=cont_token) result = poller.result() assert result - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training_async.py index ba67653c15f8..0529c958354c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dmac_training_async.py @@ -251,7 +251,7 @@ async def test_build_model_continuation_token(self, **kwargs): poller = await client.begin_build_document_model("template", blob_container_url=None, continuation_token=cont_token) result = await poller.result() assert result - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content.py index 0d26734b9762..6cc45c7f21cc 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content.py @@ -224,7 +224,7 @@ def test_content_continuation_token(self, **kwargs): poller = client.begin_recognize_content(None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @pytest.mark.live_test_only @skip_flaky_test diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_async.py index 7c209531d835..2cc37d86a5e8 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_async.py @@ -236,7 +236,7 @@ async def test_content_continuation_token(self, **kwargs): poller = await client.begin_recognize_content(None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @pytest.mark.live_test_only diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url.py index 6ce48f235796..4e5f62a1620c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url.py @@ -162,7 +162,7 @@ def test_content_continuation_token(self, **kwargs): poller = client.begin_recognize_content_from_url(None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url_async.py index 580473a27c4c..4404b52333ab 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_content_from_url_async.py @@ -132,7 +132,7 @@ async def test_content_continuation_token(self, **kwargs): poller = await client.begin_recognize_content_from_url(None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms.py index 2d2c19c2e98c..369512a29fd5 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms.py @@ -238,7 +238,7 @@ def test_custom_form_continuation_token(self, **kwargs): ) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @pytest.mark.live_test_only @skip_flaky_test diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_async.py index c145d4456b7a..710f54cda6d4 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_async.py @@ -170,7 +170,7 @@ async def test_custom_form_continuation_token(self, **kwargs): ) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @pytest.mark.live_test_only @skip_flaky_test diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url.py index f37c469baeac..726782d55b8f 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url.py @@ -171,7 +171,7 @@ def test_custom_form_continuation_token(self, **kwargs): ) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url_async.py index 96546683d4db..1a6e903dd381 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_custom_forms_from_url_async.py @@ -180,7 +180,7 @@ async def test_custom_form_continuation_token(self, **kwargs): ) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @skip_flaky_test @FormRecognizerPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents.py index 96ee053989c4..dbe7fa7eb822 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents.py @@ -154,7 +154,7 @@ def test_identity_document_continuation_token(self, **kwargs): poller = client.begin_recognize_identity_documents(None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_async.py index a5d6b75a40ce..084c559813a8 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_async.py @@ -162,7 +162,7 @@ async def test_identity_document_continuation_token(self, **kwargs): poller = await client.begin_recognize_identity_documents(None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url.py index c54769c74ee5..b1166fc145e1 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url.py @@ -106,7 +106,7 @@ def test_identity_document_continuation_token(self, **kwargs): poller = client.begin_recognize_identity_documents_from_url(None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url_async.py index c0cba675b483..57a697dd1104 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_identity_documents_from_url_async.py @@ -110,7 +110,7 @@ async def test_identity_document_continuation_token(self, **kwargs): poller = await client.begin_recognize_identity_documents_from_url(None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice.py index db4c3fba47ad..61d654e037fb 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice.py @@ -300,7 +300,7 @@ def test_invoice_continuation_token(self, **kwargs): poller = client.begin_recognize_invoices(None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_async.py index ee9d91bea3bb..60a2957ec8d9 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_async.py @@ -315,7 +315,7 @@ async def test_invoice_continuation_token(self, **kwargs): poller = await client.begin_recognize_invoices(None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url.py index 647df29f6628..f234a2f72627 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url.py @@ -97,7 +97,7 @@ def test_invoice_continuation_token(self, **kwargs): poller = client.begin_recognize_invoices_from_url(None, continuation_token=cont_token) result = poller.result() assert result is not None - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url_async.py index 446f8c3f5afa..54e839fa1ba3 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_frc_invoice_from_url_async.py @@ -102,7 +102,7 @@ async def test_invoice_continuation_token(self, **kwargs): poller = await client.begin_recognize_invoices_from_url(None, continuation_token=cont_token) result = await poller.result() assert result is not None - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @FormRecognizerPreparer() @FormRecognizerClientPreparer(client_kwargs={"api_version": FormRecognizerApiVersion.V2_0}) diff --git a/sdk/graphrbac/azure-graphrbac/dev_requirements.txt b/sdk/graphrbac/azure-graphrbac/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/graphrbac/azure-graphrbac/dev_requirements.txt +++ b/sdk/graphrbac/azure-graphrbac/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/graphservices/azure-mgmt-graphservices/dev_requirements.txt b/sdk/graphservices/azure-mgmt-graphservices/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/graphservices/azure-mgmt-graphservices/dev_requirements.txt +++ b/sdk/graphservices/azure-mgmt-graphservices/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/hanaonazure/azure-mgmt-hanaonazure/dev_requirements.txt b/sdk/hanaonazure/azure-mgmt-hanaonazure/dev_requirements.txt index 97b68725b68f..c69e8235385b 100644 --- a/sdk/hanaonazure/azure-mgmt-hanaonazure/dev_requirements.txt +++ b/sdk/hanaonazure/azure-mgmt-hanaonazure/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools azure-mgmt-resource<=21.1.0 \ No newline at end of file diff --git a/sdk/hardwaresecuritymodules/azure-mgmt-hardwaresecuritymodules/dev_requirements.txt b/sdk/hardwaresecuritymodules/azure-mgmt-hardwaresecuritymodules/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/hardwaresecuritymodules/azure-mgmt-hardwaresecuritymodules/dev_requirements.txt +++ b/sdk/hardwaresecuritymodules/azure-mgmt-hardwaresecuritymodules/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/hdinsight/azure-mgmt-hdinsight/dev_requirements.txt b/sdk/hdinsight/azure-mgmt-hdinsight/dev_requirements.txt index 48376a1e1017..43dea0eb2183 100644 --- a/sdk/hdinsight/azure-mgmt-hdinsight/dev_requirements.txt +++ b/sdk/hdinsight/azure-mgmt-hdinsight/dev_requirements.txt @@ -5,5 +5,4 @@ -e ../../resources/azure-mgmt-resource -e ../../storage/azure-mgmt-storage azure-mgmt-loganalytics==2.0.0 --e ../../resources/azure-mgmt-msi/ --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../resources/azure-mgmt-msi/ \ No newline at end of file diff --git a/sdk/hdinsight/azure-mgmt-hdinsightcontainers/dev_requirements.txt b/sdk/hdinsight/azure-mgmt-hdinsightcontainers/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/hdinsight/azure-mgmt-hdinsightcontainers/dev_requirements.txt +++ b/sdk/hdinsight/azure-mgmt-hdinsightcontainers/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/healthbot/azure-mgmt-healthbot/dev_requirements.txt b/sdk/healthbot/azure-mgmt-healthbot/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/healthbot/azure-mgmt-healthbot/dev_requirements.txt +++ b/sdk/healthbot/azure-mgmt-healthbot/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/healthcareapis/azure-mgmt-healthcareapis/dev_requirements.txt b/sdk/healthcareapis/azure-mgmt-healthcareapis/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/healthcareapis/azure-mgmt-healthcareapis/dev_requirements.txt +++ b/sdk/healthcareapis/azure-mgmt-healthcareapis/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/dev_requirements.txt b/sdk/healthinsights/azure-healthinsights-cancerprofiling/dev_requirements.txt index ff12ab35dd01..105486471444 100644 --- a/sdk/healthinsights/azure-healthinsights-cancerprofiling/dev_requirements.txt +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core aiohttp \ No newline at end of file diff --git a/sdk/healthinsights/azure-healthinsights-clinicalmatching/dev_requirements.txt b/sdk/healthinsights/azure-healthinsights-clinicalmatching/dev_requirements.txt index ff12ab35dd01..105486471444 100644 --- a/sdk/healthinsights/azure-healthinsights-clinicalmatching/dev_requirements.txt +++ b/sdk/healthinsights/azure-healthinsights-clinicalmatching/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core aiohttp \ No newline at end of file diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/dev_requirements.txt b/sdk/healthinsights/azure-healthinsights-radiologyinsights/dev_requirements.txt index ff12ab35dd01..105486471444 100644 --- a/sdk/healthinsights/azure-healthinsights-radiologyinsights/dev_requirements.txt +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core aiohttp \ No newline at end of file diff --git a/sdk/hybridcompute/azure-mgmt-hybridcompute/dev_requirements.txt b/sdk/hybridcompute/azure-mgmt-hybridcompute/dev_requirements.txt index e9e110a3684f..da5daaeffc54 100644 --- a/sdk/hybridcompute/azure-mgmt-hybridcompute/dev_requirements.txt +++ b/sdk/hybridcompute/azure-mgmt-hybridcompute/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity diff --git a/sdk/hybridconnectivity/azure-mgmt-hybridconnectivity/dev_requirements.txt b/sdk/hybridconnectivity/azure-mgmt-hybridconnectivity/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/hybridconnectivity/azure-mgmt-hybridconnectivity/dev_requirements.txt +++ b/sdk/hybridconnectivity/azure-mgmt-hybridconnectivity/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/hybridcontainerservice/azure-mgmt-hybridcontainerservice/dev_requirements.txt b/sdk/hybridcontainerservice/azure-mgmt-hybridcontainerservice/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/hybridcontainerservice/azure-mgmt-hybridcontainerservice/dev_requirements.txt +++ b/sdk/hybridcontainerservice/azure-mgmt-hybridcontainerservice/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/dev_requirements.txt b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/dev_requirements.txt +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/hybridnetwork/azure-mgmt-hybridnetwork/dev_requirements.txt b/sdk/hybridnetwork/azure-mgmt-hybridnetwork/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/hybridnetwork/azure-mgmt-hybridnetwork/dev_requirements.txt +++ b/sdk/hybridnetwork/azure-mgmt-hybridnetwork/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/identity/azure-identity-broker/dev_requirements.txt b/sdk/identity/azure-identity-broker/dev_requirements.txt index f0bbcba64d96..ac8662e232da 100644 --- a/sdk/identity/azure-identity-broker/dev_requirements.txt +++ b/sdk/identity/azure-identity-broker/dev_requirements.txt @@ -2,4 +2,3 @@ aiohttp>=3.0 typing_extensions>=3.7.2 -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/identity/azure-identity/dev_requirements.txt b/sdk/identity/azure-identity/dev_requirements.txt index f0bbcba64d96..ac8662e232da 100644 --- a/sdk/identity/azure-identity/dev_requirements.txt +++ b/sdk/identity/azure-identity/dev_requirements.txt @@ -2,4 +2,3 @@ aiohttp>=3.0 typing_extensions>=3.7.2 -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/identity/azure-identity/tests/managed-identity-live/requirements.txt b/sdk/identity/azure-identity/tests/managed-identity-live/requirements.txt index 2800336a2296..97e0d4f174a8 100644 --- a/sdk/identity/azure-identity/tests/managed-identity-live/requirements.txt +++ b/sdk/identity/azure-identity/tests/managed-identity-live/requirements.txt @@ -1,7 +1,6 @@ ../../../../core/azure-core ../.. ../../../../keyvault/azure-keyvault-secrets -../../../../../tools/azure-devtools ../../../../../tools/azure-sdk-tools pytest pytest-asyncio diff --git a/sdk/iotfirmwaredefense/azure-mgmt-iotfirmwaredefense/dev_requirements.txt b/sdk/iotfirmwaredefense/azure-mgmt-iotfirmwaredefense/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/iotfirmwaredefense/azure-mgmt-iotfirmwaredefense/dev_requirements.txt +++ b/sdk/iotfirmwaredefense/azure-mgmt-iotfirmwaredefense/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/iothub/azure-iot-deviceprovisioning/dev_requirements.txt b/sdk/iothub/azure-iot-deviceprovisioning/dev_requirements.txt index a5eec6e7a4b3..d1419308f4f5 100644 --- a/sdk/iothub/azure-iot-deviceprovisioning/dev_requirements.txt +++ b/sdk/iothub/azure-iot-deviceprovisioning/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../core/azure-core aiohttp diff --git a/sdk/iothub/azure-mgmt-iotcentral/dev_requirements.txt b/sdk/iothub/azure-mgmt-iotcentral/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/iothub/azure-mgmt-iotcentral/dev_requirements.txt +++ b/sdk/iothub/azure-mgmt-iotcentral/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/iothub/azure-mgmt-iothub/dev_requirements.txt b/sdk/iothub/azure-mgmt-iothub/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/iothub/azure-mgmt-iothub/dev_requirements.txt +++ b/sdk/iothub/azure-mgmt-iothub/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/iothub/azure-mgmt-iothubprovisioningservices/dev_requirements.txt b/sdk/iothub/azure-mgmt-iothubprovisioningservices/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/iothub/azure-mgmt-iothubprovisioningservices/dev_requirements.txt +++ b/sdk/iothub/azure-mgmt-iothubprovisioningservices/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/keyvault/azure-keyvault-administration/dev_requirements.txt b/sdk/keyvault/azure-keyvault-administration/dev_requirements.txt index c572163678c1..0409a7b1bec7 100644 --- a/sdk/keyvault/azure-keyvault-administration/dev_requirements.txt +++ b/sdk/keyvault/azure-keyvault-administration/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/keyvault/azure-keyvault-certificates/dev_requirements.txt b/sdk/keyvault/azure-keyvault-certificates/dev_requirements.txt index 9da5daf6a548..caddda1e0040 100644 --- a/sdk/keyvault/azure-keyvault-certificates/dev_requirements.txt +++ b/sdk/keyvault/azure-keyvault-certificates/dev_requirements.txt @@ -1,5 +1,4 @@ ../../core/azure-core --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../identity/azure-identity ../../nspkg/azure-keyvault-nspkg diff --git a/sdk/keyvault/azure-keyvault-keys/dev_requirements.txt b/sdk/keyvault/azure-keyvault-keys/dev_requirements.txt index 5f8d0b14719f..b4a23932910f 100644 --- a/sdk/keyvault/azure-keyvault-keys/dev_requirements.txt +++ b/sdk/keyvault/azure-keyvault-keys/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools ../../core/azure-core -e ../../../tools/azure-sdk-tools ../../nspkg/azure-keyvault-nspkg diff --git a/sdk/keyvault/azure-keyvault-secrets/dev_requirements.txt b/sdk/keyvault/azure-keyvault-secrets/dev_requirements.txt index 49636d82810a..797707b8633a 100644 --- a/sdk/keyvault/azure-keyvault-secrets/dev_requirements.txt +++ b/sdk/keyvault/azure-keyvault-secrets/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools ../../core/azure-core -e ../../identity/azure-identity -e ../../../tools/azure-sdk-tools diff --git a/sdk/keyvault/azure-keyvault/dev_requirements.txt b/sdk/keyvault/azure-keyvault/dev_requirements.txt index a6fc97da776d..f6457a93d5e8 100644 --- a/sdk/keyvault/azure-keyvault/dev_requirements.txt +++ b/sdk/keyvault/azure-keyvault/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/keyvault/azure-mgmt-keyvault/dev_requirements.txt b/sdk/keyvault/azure-mgmt-keyvault/dev_requirements.txt index 09c94a6a1dd7..41036ade91af 100644 --- a/sdk/keyvault/azure-mgmt-keyvault/dev_requirements.txt +++ b/sdk/keyvault/azure-mgmt-keyvault/dev_requirements.txt @@ -1,5 +1,4 @@ aiohttp>=3.0 -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/dev_requirements.txt b/sdk/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/dev_requirements.txt +++ b/sdk/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/kusto/azure-mgmt-kusto/dev_requirements.txt b/sdk/kusto/azure-mgmt-kusto/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/kusto/azure-mgmt-kusto/dev_requirements.txt +++ b/sdk/kusto/azure-mgmt-kusto/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/labservices/azure-mgmt-labservices/dev_requirements.txt b/sdk/labservices/azure-mgmt-labservices/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/labservices/azure-mgmt-labservices/dev_requirements.txt +++ b/sdk/labservices/azure-mgmt-labservices/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/loadtesting/azure-developer-loadtesting/dev_requirements.txt b/sdk/loadtesting/azure-developer-loadtesting/dev_requirements.txt index 0ce780ad6a6c..b2b6484a91fd 100644 --- a/sdk/loadtesting/azure-developer-loadtesting/dev_requirements.txt +++ b/sdk/loadtesting/azure-developer-loadtesting/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/loadtesting/azure-mgmt-loadtesting/dev_requirements.txt b/sdk/loadtesting/azure-mgmt-loadtesting/dev_requirements.txt index 2ca87e192637..0c9c48038350 100644 --- a/sdk/loadtesting/azure-mgmt-loadtesting/dev_requirements.txt +++ b/sdk/loadtesting/azure-mgmt-loadtesting/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-msi ../../identity/azure-identity ../../keyvault/azure-mgmt-keyvault diff --git a/sdk/loganalytics/azure-loganalytics/dev_requirements.txt b/sdk/loganalytics/azure-loganalytics/dev_requirements.txt index bc52520ec4a9..4e5a0ba0f2ff 100644 --- a/sdk/loganalytics/azure-loganalytics/dev_requirements.txt +++ b/sdk/loganalytics/azure-loganalytics/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core -msrestazure --e ../../../tools/azure-devtools \ No newline at end of file +msrestazure \ No newline at end of file diff --git a/sdk/loganalytics/azure-mgmt-loganalytics/dev_requirements.txt b/sdk/loganalytics/azure-mgmt-loganalytics/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/loganalytics/azure-mgmt-loganalytics/dev_requirements.txt +++ b/sdk/loganalytics/azure-mgmt-loganalytics/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/logic/azure-mgmt-logic/dev_requirements.txt b/sdk/logic/azure-mgmt-logic/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/logic/azure-mgmt-logic/dev_requirements.txt +++ b/sdk/logic/azure-mgmt-logic/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/logz/azure-mgmt-logz/dev_requirements.txt b/sdk/logz/azure-mgmt-logz/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/logz/azure-mgmt-logz/dev_requirements.txt +++ b/sdk/logz/azure-mgmt-logz/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/machinelearning/azure-mgmt-guestconfig/dev_requirements.txt b/sdk/machinelearning/azure-mgmt-guestconfig/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/machinelearning/azure-mgmt-guestconfig/dev_requirements.txt +++ b/sdk/machinelearning/azure-mgmt-guestconfig/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/machinelearning/azure-mgmt-machinelearningcompute/dev_requirements.txt b/sdk/machinelearning/azure-mgmt-machinelearningcompute/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/machinelearning/azure-mgmt-machinelearningcompute/dev_requirements.txt +++ b/sdk/machinelearning/azure-mgmt-machinelearningcompute/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/dev_requirements.txt b/sdk/machinelearning/azure-mgmt-machinelearningservices/dev_requirements.txt index 13fd500db73c..13d05507d99f 100644 --- a/sdk/machinelearning/azure-mgmt-machinelearningservices/dev_requirements.txt +++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource \ No newline at end of file diff --git a/sdk/maintenance/azure-mgmt-maintenance/dev_requirements.txt b/sdk/maintenance/azure-mgmt-maintenance/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/maintenance/azure-mgmt-maintenance/dev_requirements.txt +++ b/sdk/maintenance/azure-mgmt-maintenance/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/managedapplications/azure-mgmt-managedapplications/dev_requirements.txt b/sdk/managedapplications/azure-mgmt-managedapplications/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/managedapplications/azure-mgmt-managedapplications/dev_requirements.txt +++ b/sdk/managedapplications/azure-mgmt-managedapplications/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/managednetworkfabric/azure-mgmt-managednetworkfabric/dev_requirements.txt b/sdk/managednetworkfabric/azure-mgmt-managednetworkfabric/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/managednetworkfabric/azure-mgmt-managednetworkfabric/dev_requirements.txt +++ b/sdk/managednetworkfabric/azure-mgmt-managednetworkfabric/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/managedservices/azure-mgmt-managedservices/dev_requirements.txt b/sdk/managedservices/azure-mgmt-managedservices/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/managedservices/azure-mgmt-managedservices/dev_requirements.txt +++ b/sdk/managedservices/azure-mgmt-managedservices/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/managementgroups/azure-mgmt-managementgroups/dev_requirements.txt b/sdk/managementgroups/azure-mgmt-managementgroups/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/managementgroups/azure-mgmt-managementgroups/dev_requirements.txt +++ b/sdk/managementgroups/azure-mgmt-managementgroups/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/managementpartner/azure-mgmt-managementpartner/dev_requirements.txt b/sdk/managementpartner/azure-mgmt-managementpartner/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/managementpartner/azure-mgmt-managementpartner/dev_requirements.txt +++ b/sdk/managementpartner/azure-mgmt-managementpartner/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/maps/azure-maps-geolocation/dev_requirements.txt b/sdk/maps/azure-maps-geolocation/dev_requirements.txt index 1ab09a46e87f..60a4d2ac2b5e 100644 --- a/sdk/maps/azure-maps-geolocation/dev_requirements.txt +++ b/sdk/maps/azure-maps-geolocation/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/maps/azure-maps-render/dev_requirements.txt b/sdk/maps/azure-maps-render/dev_requirements.txt index 1ab09a46e87f..60a4d2ac2b5e 100644 --- a/sdk/maps/azure-maps-render/dev_requirements.txt +++ b/sdk/maps/azure-maps-render/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/maps/azure-maps-route/dev_requirements.txt b/sdk/maps/azure-maps-route/dev_requirements.txt index 1ab09a46e87f..60a4d2ac2b5e 100644 --- a/sdk/maps/azure-maps-route/dev_requirements.txt +++ b/sdk/maps/azure-maps-route/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/maps/azure-maps-search/dev_requirements.txt b/sdk/maps/azure-maps-search/dev_requirements.txt index 1ab09a46e87f..60a4d2ac2b5e 100644 --- a/sdk/maps/azure-maps-search/dev_requirements.txt +++ b/sdk/maps/azure-maps-search/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/maps/azure-mgmt-maps/dev_requirements.txt b/sdk/maps/azure-mgmt-maps/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/maps/azure-mgmt-maps/dev_requirements.txt +++ b/sdk/maps/azure-mgmt-maps/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/marketplaceordering/azure-mgmt-marketplaceordering/dev_requirements.txt b/sdk/marketplaceordering/azure-mgmt-marketplaceordering/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/marketplaceordering/azure-mgmt-marketplaceordering/dev_requirements.txt +++ b/sdk/marketplaceordering/azure-mgmt-marketplaceordering/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/media/azure-media-analytics-edge/dev_requirements.txt b/sdk/media/azure-media-analytics-edge/dev_requirements.txt index 031c5086f3f6..a37330158c88 100644 --- a/sdk/media/azure-media-analytics-edge/dev_requirements.txt +++ b/sdk/media/azure-media-analytics-edge/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/media/azure-mgmt-media/dev_requirements.txt b/sdk/media/azure-mgmt-media/dev_requirements.txt index d82ff8b9d993..1143d136fbf1 100644 --- a/sdk/media/azure-mgmt-media/dev_requirements.txt +++ b/sdk/media/azure-mgmt-media/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools -e ../../storage/azure-mgmt-storage --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource \ No newline at end of file diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/dev_requirements.txt b/sdk/metricsadvisor/azure-ai-metricsadvisor/dev_requirements.txt index 63223f3e049c..29dff3500546 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/dev_requirements.txt +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../core/azure-core aiohttp \ No newline at end of file diff --git a/sdk/mixedreality/azure-mgmt-mixedreality/dev_requirements.txt b/sdk/mixedreality/azure-mgmt-mixedreality/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/mixedreality/azure-mgmt-mixedreality/dev_requirements.txt +++ b/sdk/mixedreality/azure-mgmt-mixedreality/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/mixedreality/azure-mixedreality-authentication/dev_requirements.txt b/sdk/mixedreality/azure-mixedreality-authentication/dev_requirements.txt index d6045fdcc5c3..704f9d971249 100644 --- a/sdk/mixedreality/azure-mixedreality-authentication/dev_requirements.txt +++ b/sdk/mixedreality/azure-mixedreality-authentication/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core aiohttp>=3.0 --e ../../../tools/azure-devtools diff --git a/sdk/ml/azure-ai-ml/dev_requirements.txt b/sdk/ml/azure-ai-ml/dev_requirements.txt index 4d59c982641f..ca34f0d2ce98 100644 --- a/sdk/ml/azure-ai-ml/dev_requirements.txt +++ b/sdk/ml/azure-ai-ml/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core --e ../../../tools/azure-devtools ../../identity/azure-identity marshmallow<3.20 marshmallow-jsonschema==0.10.0 diff --git a/sdk/mobilenetwork/azure-mgmt-mobilenetwork/dev_requirements.txt b/sdk/mobilenetwork/azure-mgmt-mobilenetwork/dev_requirements.txt index 13fd500db73c..13d05507d99f 100644 --- a/sdk/mobilenetwork/azure-mgmt-mobilenetwork/dev_requirements.txt +++ b/sdk/mobilenetwork/azure-mgmt-mobilenetwork/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource \ No newline at end of file diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/dev_requirements.txt b/sdk/modelsrepository/azure-iot-modelsrepository/dev_requirements.txt index 9a9d9bbd3599..62a4e6bbf5da 100644 --- a/sdk/modelsrepository/azure-iot-modelsrepository/dev_requirements.txt +++ b/sdk/modelsrepository/azure-iot-modelsrepository/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools pytest-mock pytest-testdox diff --git a/sdk/monitor/azure-mgmt-monitor/dev_requirements.txt b/sdk/monitor/azure-mgmt-monitor/dev_requirements.txt index 6889fdc26444..95426bc6bf2d 100644 --- a/sdk/monitor/azure-mgmt-monitor/dev_requirements.txt +++ b/sdk/monitor/azure-mgmt-monitor/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-devtools -e ../../storage/azure-mgmt-storage -e ../../eventhub/azure-mgmt-eventhub azure-mgmt-loganalytics diff --git a/sdk/monitor/azure-monitor-ingestion/dev_requirements.txt b/sdk/monitor/azure-monitor-ingestion/dev_requirements.txt index eed46d45a11d..b3c4aa029ca6 100644 --- a/sdk/monitor/azure-monitor-ingestion/dev_requirements.txt +++ b/sdk/monitor/azure-monitor-ingestion/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/dev_requirements.txt b/sdk/monitor/azure-monitor-opentelemetry-exporter/dev_requirements.txt index 39622ae3c9da..a15b67e9a1d1 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/dev_requirements.txt +++ b/sdk/monitor/azure-monitor-opentelemetry-exporter/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/monitor/azure-monitor-opentelemetry/dev_requirements.txt b/sdk/monitor/azure-monitor-opentelemetry/dev_requirements.txt index 32110e7dd2b7..679e4289d7c1 100644 --- a/sdk/monitor/azure-monitor-opentelemetry/dev_requirements.txt +++ b/sdk/monitor/azure-monitor-opentelemetry/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools pytest django fastapi diff --git a/sdk/monitor/azure-monitor-query/dev_requirements.txt b/sdk/monitor/azure-monitor-query/dev_requirements.txt index fcfa054d893f..f72755a0d6ec 100644 --- a/sdk/monitor/azure-monitor-query/dev_requirements.txt +++ b/sdk/monitor/azure-monitor-query/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/netapp/azure-mgmt-netapp/dev_requirements.txt b/sdk/netapp/azure-mgmt-netapp/dev_requirements.txt index 77d774584dd2..605b1cafa0f2 100644 --- a/sdk/netapp/azure-mgmt-netapp/dev_requirements.txt +++ b/sdk/netapp/azure-mgmt-netapp/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../../sdk/identity/azure-identity -e ../../network/azure-mgmt-network -e ../../resources/azure-mgmt-resource \ No newline at end of file diff --git a/sdk/network/azure-mgmt-dns/dev_requirements.txt b/sdk/network/azure-mgmt-dns/dev_requirements.txt index be100443c441..3a799826b705 100644 --- a/sdk/network/azure-mgmt-dns/dev_requirements.txt +++ b/sdk/network/azure-mgmt-dns/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools -e ../azure-mgmt-network --e ../../../tools/azure-devtools ../../identity/azure-identity azure-mgmt-resource<=21.1.0 \ No newline at end of file diff --git a/sdk/network/azure-mgmt-frontdoor/dev_requirements.txt b/sdk/network/azure-mgmt-frontdoor/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/network/azure-mgmt-frontdoor/dev_requirements.txt +++ b/sdk/network/azure-mgmt-frontdoor/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/network/azure-mgmt-network/dev_requirements.txt b/sdk/network/azure-mgmt-network/dev_requirements.txt index e6d22a20a5ea..5fa3768ab7d2 100644 --- a/sdk/network/azure-mgmt-network/dev_requirements.txt +++ b/sdk/network/azure-mgmt-network/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity azure-mgmt-compute==26.1.0 diff --git a/sdk/network/azure-mgmt-privatedns/dev_requirements.txt b/sdk/network/azure-mgmt-privatedns/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/network/azure-mgmt-privatedns/dev_requirements.txt +++ b/sdk/network/azure-mgmt-privatedns/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/networkanalytics/azure-mgmt-networkanalytics/dev_requirements.txt b/sdk/networkanalytics/azure-mgmt-networkanalytics/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/networkanalytics/azure-mgmt-networkanalytics/dev_requirements.txt +++ b/sdk/networkanalytics/azure-mgmt-networkanalytics/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/dev_requirements.txt b/sdk/networkcloud/azure-mgmt-networkcloud/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/dev_requirements.txt +++ b/sdk/networkcloud/azure-mgmt-networkcloud/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/networkfunction/azure-mgmt-networkfunction/dev_requirements.txt b/sdk/networkfunction/azure-mgmt-networkfunction/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/networkfunction/azure-mgmt-networkfunction/dev_requirements.txt +++ b/sdk/networkfunction/azure-mgmt-networkfunction/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/newrelicobservability/azure-mgmt-newrelicobservability/dev_requirements.txt b/sdk/newrelicobservability/azure-mgmt-newrelicobservability/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/newrelicobservability/azure-mgmt-newrelicobservability/dev_requirements.txt +++ b/sdk/newrelicobservability/azure-mgmt-newrelicobservability/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/nginx/azure-mgmt-nginx/dev_requirements.txt b/sdk/nginx/azure-mgmt-nginx/dev_requirements.txt index 13fd500db73c..13d05507d99f 100644 --- a/sdk/nginx/azure-mgmt-nginx/dev_requirements.txt +++ b/sdk/nginx/azure-mgmt-nginx/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource \ No newline at end of file diff --git a/sdk/notificationhubs/azure-mgmt-notificationhubs/dev_requirements.txt b/sdk/notificationhubs/azure-mgmt-notificationhubs/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/notificationhubs/azure-mgmt-notificationhubs/dev_requirements.txt +++ b/sdk/notificationhubs/azure-mgmt-notificationhubs/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/nspkg/azure-agrifood-nspkg/dev_requirements.txt b/sdk/nspkg/azure-agrifood-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-agrifood-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-agrifood-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-ai-language-nspkg/dev_requirements.txt b/sdk/nspkg/azure-ai-language-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-ai-language-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-ai-language-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-ai-nspkg/dev_requirements.txt b/sdk/nspkg/azure-ai-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-ai-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-ai-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-ai-translation-nspkg/dev_requirements.txt b/sdk/nspkg/azure-ai-translation-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-ai-translation-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-ai-translation-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-cognitiveservices-knowledge-nspkg/dev_requirements.txt b/sdk/nspkg/azure-cognitiveservices-knowledge-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-cognitiveservices-knowledge-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-cognitiveservices-knowledge-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-cognitiveservices-language-nspkg/dev_requirements.txt b/sdk/nspkg/azure-cognitiveservices-language-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-cognitiveservices-language-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-cognitiveservices-language-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-cognitiveservices-nspkg/dev_requirements.txt b/sdk/nspkg/azure-cognitiveservices-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-cognitiveservices-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-cognitiveservices-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-cognitiveservices-search-nspkg/dev_requirements.txt b/sdk/nspkg/azure-cognitiveservices-search-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-cognitiveservices-search-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-cognitiveservices-search-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-cognitiveservices-vision-nspkg/dev_requirements.txt b/sdk/nspkg/azure-cognitiveservices-vision-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-cognitiveservices-vision-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-cognitiveservices-vision-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-communication-nspkg/dev_requirements.txt b/sdk/nspkg/azure-communication-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-communication-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-communication-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-data-nspkg/dev_requirements.txt b/sdk/nspkg/azure-data-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-data-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-data-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-digitaltwins-nspkg/dev_requirements.txt b/sdk/nspkg/azure-digitaltwins-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-digitaltwins-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-digitaltwins-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-iot-nspkg/dev_requirements.txt b/sdk/nspkg/azure-iot-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-iot-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-iot-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-keyvault-nspkg/dev_requirements.txt b/sdk/nspkg/azure-keyvault-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-keyvault-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-keyvault-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-media-nspkg/dev_requirements.txt b/sdk/nspkg/azure-media-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-media-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-media-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-messaging-nspkg/dev_requirements.txt b/sdk/nspkg/azure-messaging-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-messaging-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-messaging-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-mgmt-datalake-nspkg/dev_requirements.txt b/sdk/nspkg/azure-mgmt-datalake-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-mgmt-datalake-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-mgmt-datalake-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-mgmt-nspkg/dev_requirements.txt b/sdk/nspkg/azure-mgmt-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-mgmt-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-mgmt-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-nspkg/dev_requirements.txt b/sdk/nspkg/azure-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-purview-nspkg/dev_requirements.txt b/sdk/nspkg/azure-purview-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-purview-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-purview-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-search-nspkg/dev_requirements.txt b/sdk/nspkg/azure-search-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-search-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-search-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-security-nspkg/dev_requirements.txt b/sdk/nspkg/azure-security-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-security-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-security-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-storage-nspkg/dev_requirements.txt b/sdk/nspkg/azure-storage-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-storage-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-storage-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/nspkg/azure-synapse-nspkg/dev_requirements.txt b/sdk/nspkg/azure-synapse-nspkg/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/nspkg/azure-synapse-nspkg/dev_requirements.txt +++ b/sdk/nspkg/azure-synapse-nspkg/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/oep/azure-mgmt-oep/dev_requirements.txt b/sdk/oep/azure-mgmt-oep/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/oep/azure-mgmt-oep/dev_requirements.txt +++ b/sdk/oep/azure-mgmt-oep/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/openai/azure-openai/dev_requirements.txt b/sdk/openai/azure-openai/dev_requirements.txt index 26c97a4a883b..3a7d551667c3 100644 --- a/sdk/openai/azure-openai/dev_requirements.txt +++ b/sdk/openai/azure-openai/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity httpx aiohttp diff --git a/sdk/operationsmanagement/azure-mgmt-operationsmanagement/dev_requirements.txt b/sdk/operationsmanagement/azure-mgmt-operationsmanagement/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/operationsmanagement/azure-mgmt-operationsmanagement/dev_requirements.txt +++ b/sdk/operationsmanagement/azure-mgmt-operationsmanagement/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/orbital/azure-mgmt-orbital/dev_requirements.txt b/sdk/orbital/azure-mgmt-orbital/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/orbital/azure-mgmt-orbital/dev_requirements.txt +++ b/sdk/orbital/azure-mgmt-orbital/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/paloaltonetworks/azure-mgmt-paloaltonetworksngfw/dev_requirements.txt b/sdk/paloaltonetworks/azure-mgmt-paloaltonetworksngfw/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/paloaltonetworks/azure-mgmt-paloaltonetworksngfw/dev_requirements.txt +++ b/sdk/paloaltonetworks/azure-mgmt-paloaltonetworksngfw/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/peering/azure-mgmt-peering/dev_requirements.txt b/sdk/peering/azure-mgmt-peering/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/peering/azure-mgmt-peering/dev_requirements.txt +++ b/sdk/peering/azure-mgmt-peering/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/personalizer/azure-ai-personalizer/dev_requirements.txt b/sdk/personalizer/azure-ai-personalizer/dev_requirements.txt index 1d1c7887cf35..892ba07bbcdf 100644 --- a/sdk/personalizer/azure-ai-personalizer/dev_requirements.txt +++ b/sdk/personalizer/azure-ai-personalizer/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../core/azure-core -e ../../identity/azure-identity aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/playwrighttesting/azure-mgmt-playwrighttesting/dev_requirements.txt b/sdk/playwrighttesting/azure-mgmt-playwrighttesting/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/playwrighttesting/azure-mgmt-playwrighttesting/dev_requirements.txt +++ b/sdk/playwrighttesting/azure-mgmt-playwrighttesting/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/policyinsights/azure-mgmt-policyinsights/dev_requirements.txt b/sdk/policyinsights/azure-mgmt-policyinsights/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/policyinsights/azure-mgmt-policyinsights/dev_requirements.txt +++ b/sdk/policyinsights/azure-mgmt-policyinsights/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/portal/azure-mgmt-portal/dev_requirements.txt b/sdk/portal/azure-mgmt-portal/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/portal/azure-mgmt-portal/dev_requirements.txt +++ b/sdk/portal/azure-mgmt-portal/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/powerbidedicated/azure-mgmt-powerbidedicated/dev_requirements.txt b/sdk/powerbidedicated/azure-mgmt-powerbidedicated/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/powerbidedicated/azure-mgmt-powerbidedicated/dev_requirements.txt +++ b/sdk/powerbidedicated/azure-mgmt-powerbidedicated/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/powerbiembedded/azure-mgmt-powerbiembedded/dev_requirements.txt b/sdk/powerbiembedded/azure-mgmt-powerbiembedded/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/powerbiembedded/azure-mgmt-powerbiembedded/dev_requirements.txt +++ b/sdk/powerbiembedded/azure-mgmt-powerbiembedded/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/purview/azure-mgmt-purview/dev_requirements.txt b/sdk/purview/azure-mgmt-purview/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/purview/azure-mgmt-purview/dev_requirements.txt +++ b/sdk/purview/azure-mgmt-purview/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/purview/azure-purview-administration/dev_requirements.txt b/sdk/purview/azure-purview-administration/dev_requirements.txt index 49a7ca176afe..379c62583680 100644 --- a/sdk/purview/azure-purview-administration/dev_requirements.txt +++ b/sdk/purview/azure-purview-administration/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../nspkg/azure-purview-nspkg aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/purview/azure-purview-catalog/dev_requirements.txt b/sdk/purview/azure-purview-catalog/dev_requirements.txt index 7bcb06628c55..611b899bde0f 100644 --- a/sdk/purview/azure-purview-catalog/dev_requirements.txt +++ b/sdk/purview/azure-purview-catalog/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/purview/azure-purview-datamap/dev_requirements.txt b/sdk/purview/azure-purview-datamap/dev_requirements.txt index c4e89ba26d71..c82827bb56f4 100644 --- a/sdk/purview/azure-purview-datamap/dev_requirements.txt +++ b/sdk/purview/azure-purview-datamap/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/purview/azure-purview-scanning/dev_requirements.txt b/sdk/purview/azure-purview-scanning/dev_requirements.txt index 49a7ca176afe..379c62583680 100644 --- a/sdk/purview/azure-purview-scanning/dev_requirements.txt +++ b/sdk/purview/azure-purview-scanning/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../nspkg/azure-purview-nspkg aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/purview/azure-purview-sharing/dev_requirements.txt b/sdk/purview/azure-purview-sharing/dev_requirements.txt index 49a7ca176afe..379c62583680 100644 --- a/sdk/purview/azure-purview-sharing/dev_requirements.txt +++ b/sdk/purview/azure-purview-sharing/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity ../../nspkg/azure-purview-nspkg aiohttp>=3.0 \ No newline at end of file diff --git a/sdk/purview/azure-purview-workflow/dev_requirements.txt b/sdk/purview/azure-purview-workflow/dev_requirements.txt index c4e89ba26d71..c82827bb56f4 100644 --- a/sdk/purview/azure-purview-workflow/dev_requirements.txt +++ b/sdk/purview/azure-purview-workflow/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/quantum/azure-mgmt-quantum/dev_requirements.txt b/sdk/quantum/azure-mgmt-quantum/dev_requirements.txt index 13fd500db73c..1cfa079cdfb1 100644 --- a/sdk/quantum/azure-mgmt-quantum/dev_requirements.txt +++ b/sdk/quantum/azure-mgmt-quantum/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools --e ../../resources/azure-mgmt-resource \ No newline at end of file +-e ../../resources/azure-mgmt-resource diff --git a/sdk/qumulo/azure-mgmt-qumulo/dev_requirements.txt b/sdk/qumulo/azure-mgmt-qumulo/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/qumulo/azure-mgmt-qumulo/dev_requirements.txt +++ b/sdk/qumulo/azure-mgmt-qumulo/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/quota/azure-mgmt-quota/dev_requirements.txt b/sdk/quota/azure-mgmt-quota/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/quota/azure-mgmt-quota/dev_requirements.txt +++ b/sdk/quota/azure-mgmt-quota/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/rdbms/azure-mgmt-rdbms/dev_requirements.txt b/sdk/rdbms/azure-mgmt-rdbms/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/rdbms/azure-mgmt-rdbms/dev_requirements.txt +++ b/sdk/rdbms/azure-mgmt-rdbms/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservices/dev_requirements.txt b/sdk/recoveryservices/azure-mgmt-recoveryservices/dev_requirements.txt index 39d47a003c46..1b762985173e 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservices/dev_requirements.txt +++ b/sdk/recoveryservices/azure-mgmt-recoveryservices/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools -e ../../resources/azure-mgmt-resource --e ../../../tools/azure-devtools requests \ No newline at end of file diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/dev_requirements.txt b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/dev_requirements.txt index 61227ba1e41d..277008f58058 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/dev_requirements.txt +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools requests \ No newline at end of file diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicessiterecovery/dev_requirements.txt b/sdk/recoveryservices/azure-mgmt-recoveryservicessiterecovery/dev_requirements.txt index 61227ba1e41d..277008f58058 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicessiterecovery/dev_requirements.txt +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicessiterecovery/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools requests \ No newline at end of file diff --git a/sdk/recoveryservicesdatareplication/azure-mgmt-recoveryservicesdatareplication/dev_requirements.txt b/sdk/recoveryservicesdatareplication/azure-mgmt-recoveryservicesdatareplication/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/recoveryservicesdatareplication/azure-mgmt-recoveryservicesdatareplication/dev_requirements.txt +++ b/sdk/recoveryservicesdatareplication/azure-mgmt-recoveryservicesdatareplication/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/redhatopenshift/azure-mgmt-redhatopenshift/dev_requirements.txt b/sdk/redhatopenshift/azure-mgmt-redhatopenshift/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/redhatopenshift/azure-mgmt-redhatopenshift/dev_requirements.txt +++ b/sdk/redhatopenshift/azure-mgmt-redhatopenshift/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/redis/azure-mgmt-redis/dev_requirements.txt b/sdk/redis/azure-mgmt-redis/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/redis/azure-mgmt-redis/dev_requirements.txt +++ b/sdk/redis/azure-mgmt-redis/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/redisenterprise/azure-mgmt-redisenterprise/dev_requirements.txt b/sdk/redisenterprise/azure-mgmt-redisenterprise/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/redisenterprise/azure-mgmt-redisenterprise/dev_requirements.txt +++ b/sdk/redisenterprise/azure-mgmt-redisenterprise/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/regionmove/azure-mgmt-regionmove/dev_requirements.txt b/sdk/regionmove/azure-mgmt-regionmove/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/regionmove/azure-mgmt-regionmove/dev_requirements.txt +++ b/sdk/regionmove/azure-mgmt-regionmove/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/relay/azure-mgmt-relay/dev_requirements.txt b/sdk/relay/azure-mgmt-relay/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/relay/azure-mgmt-relay/dev_requirements.txt +++ b/sdk/relay/azure-mgmt-relay/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/remoterendering/azure-mixedreality-remoterendering/dev_requirements.txt b/sdk/remoterendering/azure-mixedreality-remoterendering/dev_requirements.txt index aacb04dd10bc..3bfc3dea5106 100644 --- a/sdk/remoterendering/azure-mixedreality-remoterendering/dev_requirements.txt +++ b/sdk/remoterendering/azure-mixedreality-remoterendering/dev_requirements.txt @@ -3,4 +3,3 @@ ../../mixedreality/azure-mixedreality-authentication aiohttp>=3.0 -e ../../identity/azure-identity --e ../../../tools/azure-devtools diff --git a/sdk/reservations/azure-mgmt-reservations/dev_requirements.txt b/sdk/reservations/azure-mgmt-reservations/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/reservations/azure-mgmt-reservations/dev_requirements.txt +++ b/sdk/reservations/azure-mgmt-reservations/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/resourceconnector/azure-mgmt-resourceconnector/dev_requirements.txt b/sdk/resourceconnector/azure-mgmt-resourceconnector/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/resourceconnector/azure-mgmt-resourceconnector/dev_requirements.txt +++ b/sdk/resourceconnector/azure-mgmt-resourceconnector/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/resourcehealth/azure-mgmt-resourcehealth/dev_requirements.txt b/sdk/resourcehealth/azure-mgmt-resourcehealth/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/resourcehealth/azure-mgmt-resourcehealth/dev_requirements.txt +++ b/sdk/resourcehealth/azure-mgmt-resourcehealth/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/resourcemover/azure-mgmt-resourcemover/dev_requirements.txt b/sdk/resourcemover/azure-mgmt-resourcemover/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/resourcemover/azure-mgmt-resourcemover/dev_requirements.txt +++ b/sdk/resourcemover/azure-mgmt-resourcemover/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/resources/azure-mgmt-msi/dev_requirements.txt b/sdk/resources/azure-mgmt-msi/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/resources/azure-mgmt-msi/dev_requirements.txt +++ b/sdk/resources/azure-mgmt-msi/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/resources/azure-mgmt-resource/dev_requirements.txt b/sdk/resources/azure-mgmt-resource/dev_requirements.txt index 626c72a81825..a83f7fee8838 100644 --- a/sdk/resources/azure-mgmt-resource/dev_requirements.txt +++ b/sdk/resources/azure-mgmt-resource/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../tools/azure-sdk-tools aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-devtools azure-mgmt-managementgroups==1.0.0 azure-mgmt-msi==1.0.0 azure-identity \ No newline at end of file diff --git a/sdk/resources/azure-mgmt-resourcegraph/dev_requirements.txt b/sdk/resources/azure-mgmt-resourcegraph/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/resources/azure-mgmt-resourcegraph/dev_requirements.txt +++ b/sdk/resources/azure-mgmt-resourcegraph/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/scheduler/azure-mgmt-scheduler/dev_requirements.txt b/sdk/scheduler/azure-mgmt-scheduler/dev_requirements.txt index 00bff4da2800..69e7fdd3cc96 100644 --- a/sdk/scheduler/azure-mgmt-scheduler/dev_requirements.txt +++ b/sdk/scheduler/azure-mgmt-scheduler/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/schemaregistry/azure-schemaregistry-avroencoder/dev_requirements.txt b/sdk/schemaregistry/azure-schemaregistry-avroencoder/dev_requirements.txt index 616f5ffc23fb..508000fb8062 100644 --- a/sdk/schemaregistry/azure-schemaregistry-avroencoder/dev_requirements.txt +++ b/sdk/schemaregistry/azure-schemaregistry-avroencoder/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../identity/azure-identity aiohttp>=3.0 diff --git a/sdk/schemaregistry/azure-schemaregistry-avroserializer/dev_requirements.txt b/sdk/schemaregistry/azure-schemaregistry-avroserializer/dev_requirements.txt index d53cebff6287..f8e239ba4e10 100644 --- a/sdk/schemaregistry/azure-schemaregistry-avroserializer/dev_requirements.txt +++ b/sdk/schemaregistry/azure-schemaregistry-avroserializer/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../identity/azure-identity aiohttp>=3.0; python_version >= '3.5' \ No newline at end of file diff --git a/sdk/schemaregistry/azure-schemaregistry/dev_requirements.txt b/sdk/schemaregistry/azure-schemaregistry/dev_requirements.txt index ca6301aae098..3d285dac392b 100644 --- a/sdk/schemaregistry/azure-schemaregistry/dev_requirements.txt +++ b/sdk/schemaregistry/azure-schemaregistry/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/scvmm/azure-mgmt-scvmm/dev_requirements.txt b/sdk/scvmm/azure-mgmt-scvmm/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/scvmm/azure-mgmt-scvmm/dev_requirements.txt +++ b/sdk/scvmm/azure-mgmt-scvmm/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/search/azure-mgmt-search/dev_requirements.txt b/sdk/search/azure-mgmt-search/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/search/azure-mgmt-search/dev_requirements.txt +++ b/sdk/search/azure-mgmt-search/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/search/azure-search-documents/dev_requirements.txt b/sdk/search/azure-search-documents/dev_requirements.txt index 47530aeb325b..5503b7771edf 100644 --- a/sdk/search/azure-search-documents/dev_requirements.txt +++ b/sdk/search/azure-search-documents/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../nspkg/azure-search-nspkg aiohttp>=3.0 diff --git a/sdk/security/azure-mgmt-security/dev_requirements.txt b/sdk/security/azure-mgmt-security/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/security/azure-mgmt-security/dev_requirements.txt +++ b/sdk/security/azure-mgmt-security/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/securitydevops/azure-mgmt-securitydevops/dev_requirements.txt b/sdk/securitydevops/azure-mgmt-securitydevops/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/securitydevops/azure-mgmt-securitydevops/dev_requirements.txt +++ b/sdk/securitydevops/azure-mgmt-securitydevops/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/dev_requirements.txt b/sdk/securityinsight/azure-mgmt-securityinsight/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/securityinsight/azure-mgmt-securityinsight/dev_requirements.txt +++ b/sdk/securityinsight/azure-mgmt-securityinsight/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/selfhelp/azure-mgmt-selfhelp/dev_requirements.txt b/sdk/selfhelp/azure-mgmt-selfhelp/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/selfhelp/azure-mgmt-selfhelp/dev_requirements.txt +++ b/sdk/selfhelp/azure-mgmt-selfhelp/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/serialconsole/azure-mgmt-serialconsole/dev_requirements.txt b/sdk/serialconsole/azure-mgmt-serialconsole/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/serialconsole/azure-mgmt-serialconsole/dev_requirements.txt +++ b/sdk/serialconsole/azure-mgmt-serialconsole/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/servermanager/azure-mgmt-servermanager/dev_requirements.txt b/sdk/servermanager/azure-mgmt-servermanager/dev_requirements.txt index dca8ecafc9bd..65cb0bfb2254 100644 --- a/sdk/servermanager/azure-mgmt-servermanager/dev_requirements.txt +++ b/sdk/servermanager/azure-mgmt-servermanager/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/servicebus/azure-mgmt-servicebus/dev_requirements.txt b/sdk/servicebus/azure-mgmt-servicebus/dev_requirements.txt index c9d330cb7698..e06c927d8089 100644 --- a/sdk/servicebus/azure-mgmt-servicebus/dev_requirements.txt +++ b/sdk/servicebus/azure-mgmt-servicebus/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/servicebus/azure-servicebus/dev_requirements.txt b/sdk/servicebus/azure-servicebus/dev_requirements.txt index df0be6ea9617..a4d5e2afc24e 100644 --- a/sdk/servicebus/azure-servicebus/dev_requirements.txt +++ b/sdk/servicebus/azure-servicebus/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../core/azure-core -e ../../identity/azure-identity --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools azure-mgmt-servicebus~=8.0.0 aiohttp>=3.0 diff --git a/sdk/servicefabric/azure-mgmt-servicefabric/dev_requirements.txt b/sdk/servicefabric/azure-mgmt-servicefabric/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/servicefabric/azure-mgmt-servicefabric/dev_requirements.txt +++ b/sdk/servicefabric/azure-mgmt-servicefabric/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/servicefabric/azure-servicefabric/dev_requirements.txt b/sdk/servicefabric/azure-servicefabric/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/servicefabric/azure-servicefabric/dev_requirements.txt +++ b/sdk/servicefabric/azure-servicefabric/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/servicefabricmanagedclusters/azure-mgmt-servicefabricmanagedclusters/dev_requirements.txt b/sdk/servicefabricmanagedclusters/azure-mgmt-servicefabricmanagedclusters/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/servicefabricmanagedclusters/azure-mgmt-servicefabricmanagedclusters/dev_requirements.txt +++ b/sdk/servicefabricmanagedclusters/azure-mgmt-servicefabricmanagedclusters/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/servicelinker/azure-mgmt-servicelinker/dev_requirements.txt b/sdk/servicelinker/azure-mgmt-servicelinker/dev_requirements.txt index 13fd500db73c..1cfa079cdfb1 100644 --- a/sdk/servicelinker/azure-mgmt-servicelinker/dev_requirements.txt +++ b/sdk/servicelinker/azure-mgmt-servicelinker/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools --e ../../resources/azure-mgmt-resource \ No newline at end of file +-e ../../resources/azure-mgmt-resource diff --git a/sdk/servicenetworking/azure-mgmt-servicenetworking/dev_requirements.txt b/sdk/servicenetworking/azure-mgmt-servicenetworking/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/servicenetworking/azure-mgmt-servicenetworking/dev_requirements.txt +++ b/sdk/servicenetworking/azure-mgmt-servicenetworking/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/signalr/azure-mgmt-signalr/dev_requirements.txt b/sdk/signalr/azure-mgmt-signalr/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/signalr/azure-mgmt-signalr/dev_requirements.txt +++ b/sdk/signalr/azure-mgmt-signalr/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/sphere/azure-mgmt-sphere/dev_requirements.txt b/sdk/sphere/azure-mgmt-sphere/dev_requirements.txt index 883701a54091..14dc6b6dc63a 100644 --- a/sdk/sphere/azure-mgmt-sphere/dev_requirements.txt +++ b/sdk/sphere/azure-mgmt-sphere/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity -e ../../resources/azure-mgmt-resource diff --git a/sdk/springappdiscovery/azure-mgmt-springappdiscovery/dev_requirements.txt b/sdk/springappdiscovery/azure-mgmt-springappdiscovery/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/springappdiscovery/azure-mgmt-springappdiscovery/dev_requirements.txt +++ b/sdk/springappdiscovery/azure-mgmt-springappdiscovery/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/sql/azure-mgmt-sql/dev_requirements.txt b/sdk/sql/azure-mgmt-sql/dev_requirements.txt index e9e110a3684f..da5daaeffc54 100644 --- a/sdk/sql/azure-mgmt-sql/dev_requirements.txt +++ b/sdk/sql/azure-mgmt-sql/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../resources/azure-mgmt-resource ../../identity/azure-identity diff --git a/sdk/sql/azure-mgmt-sqlvirtualmachine/dev_requirements.txt b/sdk/sql/azure-mgmt-sqlvirtualmachine/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/sql/azure-mgmt-sqlvirtualmachine/dev_requirements.txt +++ b/sdk/sql/azure-mgmt-sqlvirtualmachine/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/storage/azure-mgmt-storage/dev_requirements.txt b/sdk/storage/azure-mgmt-storage/dev_requirements.txt index 8815da15271c..9c10ec1f29d0 100644 --- a/sdk/storage/azure-mgmt-storage/dev_requirements.txt +++ b/sdk/storage/azure-mgmt-storage/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-devtools azure-mgmt-network==19.0.0 diff --git a/sdk/storage/azure-mgmt-storagecache/dev_requirements.txt b/sdk/storage/azure-mgmt-storagecache/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/storage/azure-mgmt-storagecache/dev_requirements.txt +++ b/sdk/storage/azure-mgmt-storagecache/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/storage/azure-mgmt-storageimportexport/dev_requirements.txt b/sdk/storage/azure-mgmt-storageimportexport/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/storage/azure-mgmt-storageimportexport/dev_requirements.txt +++ b/sdk/storage/azure-mgmt-storageimportexport/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/storage/azure-mgmt-storagesync/dev_requirements.txt b/sdk/storage/azure-mgmt-storagesync/dev_requirements.txt index e59279024434..514d5fd52f0f 100644 --- a/sdk/storage/azure-mgmt-storagesync/dev_requirements.txt +++ b/sdk/storage/azure-mgmt-storagesync/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../core/azure-mgmt-core -e ../../core/azure-core \ No newline at end of file diff --git a/sdk/storage/azure-storage-blob-changefeed/dev_requirements.txt b/sdk/storage/azure-storage-blob-changefeed/dev_requirements.txt index 0eccc0117053..0c40746b095b 100644 --- a/sdk/storage/azure-storage-blob-changefeed/dev_requirements.txt +++ b/sdk/storage/azure-storage-blob-changefeed/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../azure-storage-blob -e ../../identity/azure-identity diff --git a/sdk/storage/azure-storage-blob/dev_requirements.txt b/sdk/storage/azure-storage-blob/dev_requirements.txt index 32519f0cf976..988423e32ee9 100644 --- a/sdk/storage/azure-storage-blob/dev_requirements.txt +++ b/sdk/storage/azure-storage-blob/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core azure-identity diff --git a/sdk/storage/azure-storage-extensions/dev_requirements.txt b/sdk/storage/azure-storage-extensions/dev_requirements.txt index a6fc97da776d..f6457a93d5e8 100644 --- a/sdk/storage/azure-storage-extensions/dev_requirements.txt +++ b/sdk/storage/azure-storage-extensions/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/storage/azure-storage-file-datalake/dev_requirements.txt b/sdk/storage/azure-storage-file-datalake/dev_requirements.txt index 5733a33b2ad6..72a718018163 100644 --- a/sdk/storage/azure-storage-file-datalake/dev_requirements.txt +++ b/sdk/storage/azure-storage-file-datalake/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../azure-storage-blob diff --git a/sdk/storage/azure-storage-file-share/dev_requirements.txt b/sdk/storage/azure-storage-file-share/dev_requirements.txt index 7d3e1a6c9d79..650e5dee7bb3 100644 --- a/sdk/storage/azure-storage-file-share/dev_requirements.txt +++ b/sdk/storage/azure-storage-file-share/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core azure-identity diff --git a/sdk/storage/azure-storage-queue/dev_requirements.txt b/sdk/storage/azure-storage-queue/dev_requirements.txt index 96bb60fcae34..102c737a4018 100644 --- a/sdk/storage/azure-storage-queue/dev_requirements.txt +++ b/sdk/storage/azure-storage-queue/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core azure-identity diff --git a/sdk/storageactions/azure-mgmt-storageactions/dev_requirements.txt b/sdk/storageactions/azure-mgmt-storageactions/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/storageactions/azure-mgmt-storageactions/dev_requirements.txt +++ b/sdk/storageactions/azure-mgmt-storageactions/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/storagemover/azure-mgmt-storagemover/dev_requirements.txt b/sdk/storagemover/azure-mgmt-storagemover/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/storagemover/azure-mgmt-storagemover/dev_requirements.txt +++ b/sdk/storagemover/azure-mgmt-storagemover/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/storagepool/azure-mgmt-storagepool/dev_requirements.txt b/sdk/storagepool/azure-mgmt-storagepool/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/storagepool/azure-mgmt-storagepool/dev_requirements.txt +++ b/sdk/storagepool/azure-mgmt-storagepool/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/streamanalytics/azure-mgmt-streamanalytics/dev_requirements.txt b/sdk/streamanalytics/azure-mgmt-streamanalytics/dev_requirements.txt index e5979f38e570..bcb30f12a34e 100644 --- a/sdk/streamanalytics/azure-mgmt-streamanalytics/dev_requirements.txt +++ b/sdk/streamanalytics/azure-mgmt-streamanalytics/dev_requirements.txt @@ -1,4 +1,3 @@ aiohttp>=3.0; python_version >= '3.5' --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/subscription/azure-mgmt-subscription/dev_requirements.txt b/sdk/subscription/azure-mgmt-subscription/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/subscription/azure-mgmt-subscription/dev_requirements.txt +++ b/sdk/subscription/azure-mgmt-subscription/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/support/azure-mgmt-support/dev_requirements.txt b/sdk/support/azure-mgmt-support/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/support/azure-mgmt-support/dev_requirements.txt +++ b/sdk/support/azure-mgmt-support/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/synapse/azure-mgmt-synapse/dev_requirements.txt b/sdk/synapse/azure-mgmt-synapse/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/synapse/azure-mgmt-synapse/dev_requirements.txt +++ b/sdk/synapse/azure-mgmt-synapse/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/synapse/azure-synapse-accesscontrol/dev_requirements.txt b/sdk/synapse/azure-synapse-accesscontrol/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/synapse/azure-synapse-accesscontrol/dev_requirements.txt +++ b/sdk/synapse/azure-synapse-accesscontrol/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/synapse/azure-synapse-artifacts/dev_requirements.txt b/sdk/synapse/azure-synapse-artifacts/dev_requirements.txt index 53de703689db..b88e13491a46 100644 --- a/sdk/synapse/azure-synapse-artifacts/dev_requirements.txt +++ b/sdk/synapse/azure-synapse-artifacts/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../identity/azure-identity diff --git a/sdk/synapse/azure-synapse-managedprivateendpoints/dev_requirements.txt b/sdk/synapse/azure-synapse-managedprivateendpoints/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/synapse/azure-synapse-managedprivateendpoints/dev_requirements.txt +++ b/sdk/synapse/azure-synapse-managedprivateendpoints/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/synapse/azure-synapse-monitoring/dev_requirements.txt b/sdk/synapse/azure-synapse-monitoring/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/synapse/azure-synapse-monitoring/dev_requirements.txt +++ b/sdk/synapse/azure-synapse-monitoring/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/synapse/azure-synapse-spark/dev_requirements.txt b/sdk/synapse/azure-synapse-spark/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/synapse/azure-synapse-spark/dev_requirements.txt +++ b/sdk/synapse/azure-synapse-spark/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/synapse/azure-synapse/dev_requirements.txt b/sdk/synapse/azure-synapse/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/synapse/azure-synapse/dev_requirements.txt +++ b/sdk/synapse/azure-synapse/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/tables/azure-data-tables/dev_requirements.txt b/sdk/tables/azure-data-tables/dev_requirements.txt index 81db0eebcddf..1665efb6369e 100644 --- a/sdk/tables/azure-data-tables/dev_requirements.txt +++ b/sdk/tables/azure-data-tables/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools -e ../../cosmos/azure-mgmt-cosmosdb -e ../../resources/azure-mgmt-resource diff --git a/sdk/template/azure-template/dev_requirements.txt b/sdk/template/azure-template/dev_requirements.txt index 40f4e3536a54..65cb0bfb2254 100644 --- a/sdk/template/azure-template/dev_requirements.txt +++ b/sdk/template/azure-template/dev_requirements.txt @@ -1,4 +1,3 @@ -e ../../../tools/azure-sdk-tools ../../core/azure-core --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/testbase/azure-mgmt-testbase/dev_requirements.txt b/sdk/testbase/azure-mgmt-testbase/dev_requirements.txt index 00bff4da2800..69e7fdd3cc96 100644 --- a/sdk/testbase/azure-mgmt-testbase/dev_requirements.txt +++ b/sdk/testbase/azure-mgmt-testbase/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity \ No newline at end of file diff --git a/sdk/textanalytics/azure-ai-textanalytics/dev_requirements.txt b/sdk/textanalytics/azure-ai-textanalytics/dev_requirements.txt index 76c92a9f039b..9c826d945410 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/dev_requirements.txt +++ b/sdk/textanalytics/azure-ai-textanalytics/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../core/azure-core -e ../../identity/azure-identity aiohttp>=3.0 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py index 35bb934e1744..1eacc3ceb433 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py @@ -1164,7 +1164,7 @@ def test_analyze_continuation_token(self, client): assert document_result.statistics assert self.document_result_to_action_type(document_result) == action_order[action_idx] - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @TextAnalyticsPreparer() def test_generic_action_error_no_target_v3_1( diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py index 404190b38823..99f1113ad02d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py @@ -1242,7 +1242,7 @@ async def test_analyze_continuation_token(self, client): assert document_result.statistics assert self.document_result_to_action_type(document_result) == action_order[action_idx] - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @TextAnalyticsPreparer() async def test_generic_action_error_no_target_v3_1( diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare.py index b9a782ea8c08..3f75f740ea32 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare.py @@ -536,7 +536,7 @@ def test_healthcare_continuation_token(self, client): # assert result.statistics FIXME https://dev.azure.com/msazure/Cognitive%20Services/_workitems/edit/15860714 assert result.entities - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @TextAnalyticsPreparer() @TextAnalyticsClientPreparer() diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare_async.py index 764ad9b3b214..a6de745ea2e4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_healthcare_async.py @@ -567,7 +567,7 @@ async def test_healthcare_continuation_token(self, client): # assert result.statistics FIXME https://dev.azure.com/msazure/Cognitive%20Services/_workitems/edit/15860714 assert result.entities - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @TextAnalyticsPreparer() @TextAnalyticsClientPreparer() diff --git a/sdk/timeseriesinsights/azure-mgmt-timeseriesinsights/dev_requirements.txt b/sdk/timeseriesinsights/azure-mgmt-timeseriesinsights/dev_requirements.txt index 1a1c8d8fc379..f6457a93d5e8 100644 --- a/sdk/timeseriesinsights/azure-mgmt-timeseriesinsights/dev_requirements.txt +++ b/sdk/timeseriesinsights/azure-mgmt-timeseriesinsights/dev_requirements.txt @@ -1,2 +1 @@ --e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools \ No newline at end of file +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/trafficmanager/azure-mgmt-trafficmanager/dev_requirements.txt b/sdk/trafficmanager/azure-mgmt-trafficmanager/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/trafficmanager/azure-mgmt-trafficmanager/dev_requirements.txt +++ b/sdk/trafficmanager/azure-mgmt-trafficmanager/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/translation/azure-ai-translation-document/dev_requirements.txt b/sdk/translation/azure-ai-translation-document/dev_requirements.txt index aa3e343961c2..cfc1f2aa955e 100644 --- a/sdk/translation/azure-ai-translation-document/dev_requirements.txt +++ b/sdk/translation/azure-ai-translation-document/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../core/azure-core azure-storage-blob==12.9.0 -e ../../identity/azure-identity diff --git a/sdk/translation/azure-ai-translation-document/tests/test_translation.py b/sdk/translation/azure-ai-translation-document/tests/test_translation.py index 837b9aa75941..bf7d4cac660f 100644 --- a/sdk/translation/azure-ai-translation-document/tests/test_translation.py +++ b/sdk/translation/azure-ai-translation-document/tests/test_translation.py @@ -511,7 +511,7 @@ def test_translation_continuation_token(self, **kwargs): self._validate_translation_metadata(poller, status="Succeeded", total=1, succeeded=1) for doc in result: self._validate_doc_status(doc, target_language="es") - initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @DocumentTranslationPreparer() @DocumentTranslationClientPreparer() diff --git a/sdk/translation/azure-ai-translation-document/tests/test_translation_async.py b/sdk/translation/azure-ai-translation-document/tests/test_translation_async.py index 54bb0aa395c2..680c35cc05e5 100644 --- a/sdk/translation/azure-ai-translation-document/tests/test_translation_async.py +++ b/sdk/translation/azure-ai-translation-document/tests/test_translation_async.py @@ -514,7 +514,7 @@ async def test_translation_continuation_token(self, **kwargs): self._validate_translation_metadata(poller, status="Succeeded", total=1, succeeded=1) async for doc in result: self._validate_doc_status(doc, target_language="es") - await initial_poller.wait() # necessary so azure-devtools doesn't throw assertion error + await initial_poller.wait() # necessary so devtools_testutils doesn't throw assertion error @DocumentTranslationPreparer() @DocumentTranslationClientPreparer() diff --git a/sdk/translation/azure-ai-translation-text/dev_requirements.txt b/sdk/translation/azure-ai-translation-text/dev_requirements.txt index dba0d490351c..ae60683e8f4e 100644 --- a/sdk/translation/azure-ai-translation-text/dev_requirements.txt +++ b/sdk/translation/azure-ai-translation-text/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools -e ../../core/azure-core -e ../../identity/azure-identity msrestazure diff --git a/sdk/videoanalyzer/azure-media-videoanalyzer-edge/dev_requirements.txt b/sdk/videoanalyzer/azure-media-videoanalyzer-edge/dev_requirements.txt index 198cc317f2f3..e5792aceec86 100644 --- a/sdk/videoanalyzer/azure-media-videoanalyzer-edge/dev_requirements.txt +++ b/sdk/videoanalyzer/azure-media-videoanalyzer-edge/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core -e ../../identity/azure-identity diff --git a/sdk/videoanalyzer/azure-mgmt-videoanalyzer/dev_requirements.txt b/sdk/videoanalyzer/azure-mgmt-videoanalyzer/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/videoanalyzer/azure-mgmt-videoanalyzer/dev_requirements.txt +++ b/sdk/videoanalyzer/azure-mgmt-videoanalyzer/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/vision/azure-ai-vision-imageanalysis/dev_requirements.txt b/sdk/vision/azure-ai-vision-imageanalysis/dev_requirements.txt index ff12ab35dd01..105486471444 100644 --- a/sdk/vision/azure-ai-vision-imageanalysis/dev_requirements.txt +++ b/sdk/vision/azure-ai-vision-imageanalysis/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core aiohttp \ No newline at end of file diff --git a/sdk/voiceservices/azure-mgmt-voiceservices/dev_requirements.txt b/sdk/voiceservices/azure-mgmt-voiceservices/dev_requirements.txt index 13ab3cd586ac..dab09d85bafa 100644 --- a/sdk/voiceservices/azure-mgmt-voiceservices/dev_requirements.txt +++ b/sdk/voiceservices/azure-mgmt-voiceservices/dev_requirements.txt @@ -1,3 +1,2 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity diff --git a/sdk/webpubsub/azure-messaging-webpubsubclient/dev_requirements.txt b/sdk/webpubsub/azure-messaging-webpubsubclient/dev_requirements.txt index 0bd42da89ecb..40e342832071 100644 --- a/sdk/webpubsub/azure-messaging-webpubsubclient/dev_requirements.txt +++ b/sdk/webpubsub/azure-messaging-webpubsubclient/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/webpubsub/azure-messaging-webpubsubservice/dev_requirements.txt b/sdk/webpubsub/azure-messaging-webpubsubservice/dev_requirements.txt index 93cf16dc97aa..62d581936ce7 100644 --- a/sdk/webpubsub/azure-messaging-webpubsubservice/dev_requirements.txt +++ b/sdk/webpubsub/azure-messaging-webpubsubservice/dev_requirements.txt @@ -1,4 +1,3 @@ --e ../../../tools/azure-devtools -e ../../../tools/azure-sdk-tools ../../core/azure-core ../../identity/azure-identity diff --git a/sdk/webpubsub/azure-mgmt-webpubsub/dev_requirements.txt b/sdk/webpubsub/azure-mgmt-webpubsub/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/webpubsub/azure-mgmt-webpubsub/dev_requirements.txt +++ b/sdk/webpubsub/azure-mgmt-webpubsub/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/workloadmonitor/azure-mgmt-workloadmonitor/dev_requirements.txt b/sdk/workloadmonitor/azure-mgmt-workloadmonitor/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/workloadmonitor/azure-mgmt-workloadmonitor/dev_requirements.txt +++ b/sdk/workloadmonitor/azure-mgmt-workloadmonitor/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/workloads/azure-mgmt-workloads/dev_requirements.txt b/sdk/workloads/azure-mgmt-workloads/dev_requirements.txt index c7c93cfae649..6ccb7f031ddd 100644 --- a/sdk/workloads/azure-mgmt-workloads/dev_requirements.txt +++ b/sdk/workloads/azure-mgmt-workloads/dev_requirements.txt @@ -1,2 +1 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools diff --git a/sdk/workloads/azure-mgmt-workloadssapvirtualinstance/dev_requirements.txt b/sdk/workloads/azure-mgmt-workloadssapvirtualinstance/dev_requirements.txt index 79854cd4c2e7..0d385e326111 100644 --- a/sdk/workloads/azure-mgmt-workloadssapvirtualinstance/dev_requirements.txt +++ b/sdk/workloads/azure-mgmt-workloadssapvirtualinstance/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../tools/azure-sdk-tools --e ../../../tools/azure-devtools ../../identity/azure-identity azure-mgmt-msi azure-mgmt-authorization diff --git a/tools/azure-devtools/LICENSE b/tools/azure-devtools/LICENSE deleted file mode 100644 index 21071075c245..000000000000 --- a/tools/azure-devtools/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/tools/azure-devtools/README.rst b/tools/azure-devtools/README.rst deleted file mode 100644 index bdf397897d71..000000000000 --- a/tools/azure-devtools/README.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. image:: https://travis-ci.org/Azure/azure-python-devtools.svg?branch=master - :target: https://travis-ci.org/Azure/azure-python-devtools - -Development tools for Python-based Azure tools -============================================== - -This package contains tools to aid in developing Python-based Azure code. - -This includes the following components: - -scenario_tests --------------- - -A testing framework to handle much of the busywork -associated with testing code that interacts with Azure. - -ci_tools --------- - -Some tooling to help developing CI tools. This includes some Git helpers, -Github RestAPI wrapper and a Bot framework for Github issues. - -Contributing -============ - -This project has adopted the -`Microsoft Open Source Code of Conduct `__. -For more information see the -`Code of Conduct FAQ `__ -or contact -`opencode@microsoft.com `__ -with any additional questions or comments. diff --git a/tools/azure-devtools/dev_requirements.txt b/tools/azure-devtools/dev_requirements.txt deleted file mode 100644 index edf602b5d48d..000000000000 --- a/tools/azure-devtools/dev_requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ --e .[ci_tools] -mock;python_version<="2.7" diff --git a/tools/azure-devtools/doc/scenario_base_tests.md b/tools/azure-devtools/doc/scenario_base_tests.md deleted file mode 100644 index f9645904705a..000000000000 --- a/tools/azure-devtools/doc/scenario_base_tests.md +++ /dev/null @@ -1,101 +0,0 @@ -# How to write ReplayableTest based VCR tests - -The `scenario_tests` package uses the [VCR.py](https://pypi.python.org/pypi/vcrpy) library -to record the HTTP messages exchanged during a program run -and play them back at a later time, -making it useful for creating "scenario tests" -that interact with Azure (or other) services. -These tests can be replayed at a later time without any network activity, -allowing us to detect changes in the Python layers -between the code being tested and the underlying REST API. - - -## Overview - -Tests all derive from the `ReplayableTest` class -found in `azure_devtools.scenario_tests.base`. -This class exposes the VCR tests using the standard Python `unittest` framework -and allows the tests to be discovered by and debugged in Visual Studio. - -When you run a test, -the test driver will automatically detect the test is unrecorded -and record the HTTP requests and responses in a .yaml file -(referred to by VCR.py as a "cassette"). -If the test succeeds, the cassette will be preserved -and future playthroughs of the test will come from the cassette -rather than using actual network communication. - -If the tests are run on TravisCI, -any tests which cannot be replayed will automatically fail. - -`ReplayableTest` itself derives from `IntegrationTestBase`, -which provides some helpful methods for use in more general unit tests -but no functionality pertaining to network communication. - - -## Configuring ReplayableTest - -The only configuration of `ReplayableTest` that is "exposed" -(in the sense of being accessible other than through subclassing) -is whether tests should be run in "live" or "playback" mode. -This can be set in the following two ways, -of which the first takes precedence: -* Set the environment variable `AZURE_TEST_RUN_LIVE`. - Any value will cause the tests to run in live mode; - if the variable is unset the default of playback mode will be used. -* Specify a boolean value for `live-mode` in a configuration file, - the path to which must be specified by a `ReplayableTest` subclass as described below - (i.e. by default no config file will be read). - True values mean "live" mode; false ones mean "playback." - -"Live" and "playback" mode are actually just shorthand for recording modes -in the underlying VCR.py package; -they correspond to "all" and "once" -as described in the [VCR.py documentation](https://vcrpy.readthedocs.io/en/latest/usage.html#record-modes). - -### Subclassing ReplayableTest and features - -Most customization of `ReplayableTest` is accessible only through subclassing. - -The two main users of `ReplayableTest` are -[azure-cli](https://github.com/Azure/azure-cli) -and [azure-sdk-for-python](https://github.com/Azure/azure-sdk-for-python). -Each uses a subclass of `ReplayableTest` to add context-specific functionality -and preserve backward compatibility with test code -prior to the existence of `azure-devtools`. -For example, azure-cli's [compatibility layer](https://github.com/Azure/azure-cli/tree/master/src/azure-cli-testsdk) -adds methods for running CLI commands and evaluating their output. - -Subclasses of `ReplayableTest` can configure its behavior -by passing the following keyword arguments when they call -its `__init__` method (probably using `super`): - -* `config_file`: Path to a configuration file. - It should be in the format described in Python's - [ConfigParser](https://docs.python.org/3/library/configparser.html) docs - and currently allows only the boolean option `live-mode`. -* `recording_dir` and `recording_name`: - Directory path and file name, respectively, - for the recording that should be used for a given test case. - By default, the directory will be a `recordings` directory - in the same location as the file containing the test case, - and the file name will be the same as the test method name. - A `.yaml` extension will be appended to whatever is used for `recording_name`. -* `recording_processors` and `replay_processors`: - Lists of `RecordingProcessor` instances for making changes to requests and responses - during test recording and test playback, respectively. - See [recording_processors.py](https://github.com/Azure/azure-sdk-for-python/blob/main/tools/azure-devtools/src/azure_devtools/scenario_tests/recording_processors.py) - for some examples and how to implement them. -* `recording_patches` and `replay_patches`: - Lists of patches to apply to functions, methods, etc. - during test recording and playback, respectively. - See [patches.py](https://github.com/Azure/azure-sdk-for-python/blob/main/tools/azure-devtools/src/azure_devtools/scenario_tests/patches.py) - for some examples. Note the `mock_in_unit_test` function - which abstracts out some boilerplate for applying a patch. - - - diff --git a/tools/azure-devtools/scripts/ci.sh b/tools/azure-devtools/scripts/ci.sh deleted file mode 100755 index 7fec520d06f8..000000000000 --- a/tools/azure-devtools/scripts/ci.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -pylint src/azure_devtools -pytest src/azure_devtools/scenario_tests/tests --cov=./ \ No newline at end of file diff --git a/tools/azure-devtools/setup.cfg b/tools/azure-devtools/setup.cfg deleted file mode 100644 index 3c6e79cf31da..000000000000 --- a/tools/azure-devtools/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/tools/azure-devtools/setup.py b/tools/azure-devtools/setup.py deleted file mode 100644 index ccd66e9cc9bd..000000000000 --- a/tools/azure-devtools/setup.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python - -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import io -from setuptools import setup - -VERSION = "1.2.1" - -CLASSIFIERS = [ - "Development Status :: 3 - Alpha", - "Intended Audience :: Developers", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "License :: OSI Approved :: MIT License", -] - -DEPENDENCIES = ["ConfigArgParse>=0.12.0", "six>=1.10.0"] - -with io.open("README.rst", "r", encoding="utf-8") as f: - README = f.read() - -setup( - name="azure-devtools", - version=VERSION, - description="Microsoft Azure Development Tools for SDK", - long_description=README, - license="MIT", - author="Microsoft Corporation", - author_email="ptvshelp@microsoft.com", - url="https://github.com/Azure/azure-python-devtools", - zip_safe=False, - classifiers=CLASSIFIERS, - packages=[ - "azure_devtools", - "azure_devtools.scenario_tests", - "azure_devtools.ci_tools", - ], - extras_require={ - "ci_tools": [ - "PyGithub>=1.40", # Can Merge PR after 1.36, "requests" and tests after 1.40 - "GitPython", - "requests>=2.0", - ], - }, - package_dir={"": "src"}, - install_requires=DEPENDENCIES, -) diff --git a/tools/azure-devtools/src/azure_devtools/__init__.py b/tools/azure-devtools/src/azure_devtools/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/__init__.py b/tools/azure-devtools/src/azure_devtools/ci_tools/__init__.py deleted file mode 100644 index 34913fb394d7..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/bot_framework.py b/tools/azure-devtools/src/azure_devtools/ci_tools/bot_framework.py deleted file mode 100644 index aac936ac887f..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/bot_framework.py +++ /dev/null @@ -1,122 +0,0 @@ -from collections import namedtuple -from functools import lru_cache -import logging -import os -import re - -from github import Github, GithubException, UnknownObjectException - -from .github_tools import ( - exception_to_github, -) - -_LOGGER = logging.getLogger(__name__) - - -def order(function): - function.bot_order = True - return function - - -WebhookMetadata = namedtuple("WebhookMetadata", ["repo", "issue", "text", "comment"]) - - -def build_from_issue_comment(gh_token, body): - """Create a WebhookMetadata from a comment added to an issue.""" - if body["action"] in ["created", "edited"]: - github_con = Github(gh_token) - repo = github_con.get_repo(body["repository"]["full_name"]) - issue = repo.get_issue(body["issue"]["number"]) - text = body["comment"]["body"] - try: - comment = issue.get_comment(body["comment"]["id"]) - except UnknownObjectException: - # If the comment has already disapeared, skip the command - return None - return WebhookMetadata(repo, issue, text, comment) - return None - - -def build_from_issues(gh_token, body): - """Create a WebhookMetadata from an opening issue text.""" - if body["action"] in ["opened", "edited"]: - github_con = Github(gh_token) - repo = github_con.get_repo(body["repository"]["full_name"]) - issue = repo.get_issue(body["issue"]["number"]) - text = body["issue"]["body"] - comment = issue # It's where we update the comment: in the issue itself - return WebhookMetadata(repo, issue, text, comment) - return None - - -@lru_cache() -def robot_name_from_env_variable(): - github_con = Github(os.environ["GH_TOKEN"]) - return github_con.get_user().login - - -class BotHandler: - def __init__(self, handler, robot_name=None, gh_token=None): - self.handler = handler - self.gh_token = gh_token or os.environ["GH_TOKEN"] - self.robot_name = robot_name or robot_name_from_env_variable() - - def _is_myself(self, body): - return body["sender"]["login"].lower() == self.robot_name.lower() - - def issue_comment(self, body): - if self._is_myself(body): - return {"message": "I don't talk to myself, I'm not schizo"} - webhook_data = build_from_issue_comment(self.gh_token, body) - return self.manage_comment(webhook_data) - - def issues(self, body): - if self._is_myself(body): - return {"message": "I don't talk to myself, I'm not schizo"} - webhook_data = build_from_issues(self.gh_token, body) - return self.manage_comment(webhook_data) - - def orders(self): - """Return method tagged "order" in the handler.""" - return [ - order_cmd - for order_cmd in dir(self.handler) - if getattr(getattr(self.handler, order_cmd), "bot_order", False) - ] - - def manage_comment(self, webhook_data): - if webhook_data is None: - return {"message": "Nothing for me"} - # Is someone talking to me: - message = re.search("@{} (.*)".format(self.robot_name), webhook_data.text, re.I) - response = None - if message: - command = message.group(1) - split_text = command.lower().split() - orderstr = split_text.pop(0) - if orderstr == "help": - response = self.help_order() - elif orderstr in self.orders(): - try: # Reaction is fun, but it's preview not prod. - # Be careful, don't fail the command if we can't thumbs up... - webhook_data.comment.create_reaction("+1") - except GithubException: - pass - with exception_to_github(webhook_data.issue): # Just in case - response = getattr(self.handler, orderstr)(webhook_data.issue, *split_text) - else: - response = "I didn't understand your command:\n```bash\n{}\n```\nin this context, sorry :(\n".format( - command - ) - response += self.help_order() - if response: - webhook_data.issue.create_comment(response) - return {"message": response} - return {"message": "Nothing for me or exception"} - - def help_order(self): - orders = ["This is what I can do:"] - for orderstr in self.orders(): - orders.append("- `{}`".format(orderstr)) - orders.append("- `help` : this help message") - return "\n".join(orders) diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/git_tools.py b/tools/azure-devtools/src/azure_devtools/ci_tools/git_tools.py deleted file mode 100644 index 5db07fbce923..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/git_tools.py +++ /dev/null @@ -1,109 +0,0 @@ -"""Pure git tools for managing local folder Git. -""" -import logging - -from git import Repo, GitCommandError - -_LOGGER = logging.getLogger(__name__) - - -def checkout_and_create_branch(repo, name): - """Checkout branch. Create it if necessary""" - local_branch = repo.branches[name] if name in repo.branches else None - if not local_branch: - if name in repo.remotes.origin.refs: - # If origin branch exists but not local, git.checkout is the fatest way - # to create local branch with origin link automatically - msg = repo.git.checkout(name) - _LOGGER.debug(msg) - return - # Create local branch, will be link to origin later - local_branch = repo.create_head(name) - local_branch.checkout() - - -def checkout_create_push_branch(repo, name): - """Checkout this branch. Create it if necessary, and push it to origin.""" - try: - repo.git.checkout(name) - _LOGGER.info("Checkout %s success", name) - except GitCommandError: - _LOGGER.info("Checkout %s was impossible (branch does not exist). Creating it and push it.", name) - checkout_and_create_branch(repo, name) - repo.git.push("origin", name, set_upstream=True) - - -def do_commit(repo, message_template, branch_name, hexsha): - "Do a commit if modified/untracked files" - repo.git.add(repo.working_tree_dir) - - if not repo.git.diff(staged=True): - _LOGGER.warning("No modified files in this Autorest run") - return False - - checkout_and_create_branch(repo, branch_name) - msg = message_template.format(hexsha=hexsha) - commit = repo.index.commit(msg) - _LOGGER.info("Commit done: %s", msg) - return commit.hexsha - - -def get_repo_hexsha(git_folder): - """Get the SHA1 of the current repo""" - repo = Repo(str(git_folder)) - if repo.bare: - not_git_hexsha = "notgitrepo" - _LOGGER.warning("Not a git repo, SHA1 used will be: %s", not_git_hexsha) - return not_git_hexsha - hexsha = repo.head.commit.hexsha - _LOGGER.info("Found REST API repo SHA1: %s", hexsha) - return hexsha - - -def checkout_with_fetch(git_folder, refspec, repository="origin"): - """Fetch the refspec, and checkout FETCH_HEAD. - Beware that you will ne in detached head mode. - """ - _LOGGER.info("Trying to fetch and checkout %s", refspec) - repo = Repo(str(git_folder)) - repo.git.fetch(repository, refspec) # FETCH_HEAD should be set - repo.git.checkout("FETCH_HEAD") - _LOGGER.info("Fetch and checkout success for %s", refspec) - - -def clone_to_path(https_authenticated_url, folder, branch_or_commit=None): - """Clone the given URL to the folder. - - :param str branch_or_commit: If specified, switch to this branch. Branch must exist. - """ - _LOGGER.info("Cloning repo") - repo = Repo.clone_from(https_authenticated_url, str(folder)) - # Do NOT clone and set branch at the same time, since we allow branch to be a SHA1 - # And you can't clone a SHA1 - if branch_or_commit: - _LOGGER.info("Checkout branch_or_commit %s", branch_or_commit) - repo.git.checkout(branch_or_commit) - - _LOGGER.info("Clone success") - - -def get_files_in_commit(git_folder, commit_id="HEAD"): - """List of files in HEAD commit.""" - repo = Repo(str(git_folder)) - output = repo.git.diff("--name-only", commit_id + "^", commit_id) - return output.splitlines() - - -def get_diff_file_list(git_folder): - """List of unstaged files.""" - repo = Repo(str(git_folder)) - output = repo.git.diff("--name-only") - return output.splitlines() - - -def get_add_diff_file_list(git_folder): - """List of new files.""" - repo = Repo(str(git_folder)) - repo.git.add("sdk") - output = repo.git.diff("HEAD", "--name-only") - return output.splitlines() diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/github_tools.py b/tools/azure-devtools/src/azure_devtools/ci_tools/github_tools.py deleted file mode 100644 index e2e91330bd57..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/github_tools.py +++ /dev/null @@ -1,356 +0,0 @@ -"""Github tools. -""" -from contextlib import contextmanager -import logging -import os -from pathlib import Path -import shutil -import stat -from subprocess import CalledProcessError -import traceback -from urllib.parse import urlsplit, urlunsplit - -from github import Github, GithubException -from git import Repo - -from .git_tools import clone_to_path as _git_clone_to_path, checkout_with_fetch - -_LOGGER = logging.getLogger(__name__) - - -class ExceptionContext: # pylint: disable=too-few-public-methods - def __init__(self): - self.comment = None - - -@contextmanager -def exception_to_github(github_obj_to_comment, summary=""): - """If any exception comes, log them in the given Github obj.""" - context = ExceptionContext() - try: - yield context - except Exception: # pylint: disable=broad-except - if summary: - summary = ": ({})".format(summary) - error_type = "an unknown error" - try: - raise - except CalledProcessError as err: - error_type = "a Subprocess error" - content = "Command: {}\n".format(err.cmd) - content += "Finished with return code {}\n".format(err.returncode) - if err.output: - content += "and output:\n```shell\n{}\n```".format(err.output) - else: - content += "and no output" - except Exception: # pylint: disable=broad-except - content = "```python\n{}\n```".format(traceback.format_exc()) - response = "
Encountered {}{}

\n\n".format(error_type, summary) - response += content - response += "\n\n

" - context.comment = create_comment(github_obj_to_comment, response) - - -def user_from_token(gh_token): - """Get user login from GitHub token""" - github_con = Github(gh_token) - return github_con.get_user() - - -def create_comment(github_object, body): - """Create a comment, whatever the object is a PR, a commit or an issue.""" - try: - return github_object.create_issue_comment(body) # It's a PR - except AttributeError: - return github_object.create_comment(body) # It's a commit/issue - - -def get_comments(github_object): - """Get a list of comments, whater the object is a PR, a commit or an issue.""" - try: - return github_object.get_issue_comments() # It's a PR - except AttributeError: - return github_object.get_comments() # It's a commit/issue - - -def get_files(github_object): - """Get files from a PR or a commit.""" - try: - return github_object.get_files() # Try as a PR object - except AttributeError: - return github_object.files # Try as a commit object - - -def configure_user(gh_token, repo): - """git config --global user.email "you@example.com" - git config --global user.name "Your Name" - """ - user = user_from_token(gh_token) - repo.git.config("user.email", user.email or "adxpysdk@microsoft.com") - repo.git.config("user.name", user.name or "SwaggerToSDK Automation") - - -def get_full_sdk_id(gh_token, sdk_git_id): - """If the SDK git id is incomplete, try to complete it with user login""" - if not "/" in sdk_git_id: - login = user_from_token(gh_token).login - return "{}/{}".format(login, sdk_git_id) - return sdk_git_id - - -def sync_fork(gh_token, github_repo_id, repo, push=True): - """Sync the current branch in this fork against the direct parent on Github""" - if not gh_token: - _LOGGER.warning("Skipping the upstream repo sync, no token") - return - _LOGGER.info("Check if repo has to be sync with upstream") - github_con = Github(gh_token) - github_repo = github_con.get_repo(github_repo_id) - - if not github_repo.parent: - _LOGGER.warning("This repo has no upstream") - return - - upstream_url = "https://github.com/{}.git".format(github_repo.parent.full_name) - upstream = repo.create_remote("upstream", url=upstream_url) - upstream.fetch() - active_branch_name = repo.active_branch.name - if not active_branch_name in repo.remotes.upstream.refs: - _LOGGER.info("Upstream has no branch %s to merge from", active_branch_name) - return - else: - _LOGGER.info("Merge from upstream") - msg = repo.git.rebase("upstream/{}".format(repo.active_branch.name)) - _LOGGER.debug(msg) - if push: - msg = repo.git.push() - _LOGGER.debug(msg) - - -def get_or_create_pull(github_repo, title, body, head, base, *, none_if_no_commit=False): - """Try to create the PR. If the PR exists, try to find it instead. Raises otherwise. - - You should always use the complete head syntax "org:branch", since the syntax is required - in case of listing. - - if "none_if_no_commit" is set, return None instead of raising exception if the problem - is that head and base are the same. - """ - try: # Try to create or get a PR - return github_repo.create_pull(title=title, body=body, head=head, base=base) - except GithubException as err: - err_message = err.data["errors"][0].get("message", "") - if err.status == 422 and err_message.startswith("A pull request already exists"): - _LOGGER.info("PR already exists, get this PR") - return list(github_repo.get_pulls(head=head, base=base))[0] - elif none_if_no_commit and err.status == 422 and err_message.startswith("No commits between"): - _LOGGER.info("No PR possible since head %s and base %s are the same", head, base) - return None - else: - _LOGGER.warning("Unable to create PR:\n%s", err.data) - raise - except Exception as err: - response = traceback.format_exc() - _LOGGER.warning("Unable to create PR:\n%s", response) - raise - - -def clone_to_path(gh_token, folder, sdk_git_id, branch_or_commit=None, *, pr_number=None): - """Clone the given repo_id to the folder. - - If PR number is specified fetch the magic branches - pull//head or pull//merge from Github. "merge" is tried first, and fallback to "head". - Beware that pr_number implies detached head, and then no push is possible. - - If branch is specified, checkout this branch or commit finally. - - :param str branch_or_commit: If specified, switch to this branch/commit. - :param int pr_number: PR number. - """ - _LOGGER.info("Clone SDK repository %s", sdk_git_id) - url_parsing = urlsplit(sdk_git_id) - sdk_git_id = url_parsing.path - if sdk_git_id.startswith("/"): - sdk_git_id = sdk_git_id[1:] - - credentials_part = "" - if gh_token: - login = user_from_token(gh_token).login - credentials_part = "{user}:{token}@".format(user=login, token=gh_token) - else: - _LOGGER.warning("Will clone the repo without writing credentials") - - https_authenticated_url = "https://{credentials}github.com/{sdk_git_id}.git".format( - credentials=credentials_part, sdk_git_id=sdk_git_id - ) - # Clone the repo - _git_clone_to_path(https_authenticated_url, folder) - # If this is a PR, do some fetch to improve the number of SHA1 available - if pr_number: - try: - checkout_with_fetch(folder, "pull/{}/merge".format(pr_number)) - return - except Exception: # pylint: disable=broad-except - pass # Assume "merge" doesn't exist anymore, fetch "head" - checkout_with_fetch(folder, "pull/{}/head".format(pr_number)) - # If there is SHA1, checkout it. If PR number was given, SHA1 could be inside that PR. - if branch_or_commit: - repo = Repo(str(folder)) - repo.git.checkout(branch_or_commit) - - -def do_pr( - gh_token, sdk_git_id, sdk_pr_target_repo_id, branch_name, base_branch, pr_body="" -): # pylint: disable=too-many-arguments - "Do the PR" - if not gh_token: - _LOGGER.info("Skipping the PR, no token found") - return None - if not sdk_pr_target_repo_id: - _LOGGER.info("Skipping the PR, no target repo id") - return None - - github_con = Github(gh_token) - sdk_pr_target_repo = github_con.get_repo(sdk_pr_target_repo_id) - - if "/" in sdk_git_id: - sdk_git_owner = sdk_git_id.split("/")[0] - _LOGGER.info("Do the PR from %s", sdk_git_owner) - head_name = "{}:{}".format(sdk_git_owner, branch_name) - else: - head_name = branch_name - sdk_git_repo = github_con.get_repo(sdk_git_id) - sdk_git_owner = sdk_git_repo.owner.login - - try: - github_pr = sdk_pr_target_repo.create_pull( - title="Automatic PR from {}".format(branch_name), body=pr_body, head=head_name, base=base_branch - ) - except GithubException as err: - if err.status == 422 and err.data["errors"][0].get("message", "").startswith("A pull request already exists"): - matching_pulls = sdk_pr_target_repo.get_pulls(base=base_branch, head=sdk_git_owner + ":" + head_name) - matching_pull = matching_pulls[0] - _LOGGER.info("PR already exists: %s", matching_pull.html_url) - return matching_pull - raise - _LOGGER.info("Made PR %s", github_pr.html_url) - return github_pr - - -def remove_readonly(func, path, _): - "Clear the readonly bit and reattempt the removal" - os.chmod(path, stat.S_IWRITE) - func(path) - - -@contextmanager -def manage_git_folder(gh_token, temp_dir, git_id, *, pr_number=None): - """Context manager to avoid readonly problem while cleanup the temp dir. - - If PR number is given, use magic branches "pull" from Github. - """ - _LOGGER.debug("Git ID %s", git_id) - if Path(git_id).exists(): - yield git_id - return # Do not erase a local folder, just skip here - - # Clone the specific branch - split_git_id = git_id.split("@") - branch = split_git_id[1] if len(split_git_id) > 1 else None - clone_to_path(gh_token, temp_dir, split_git_id[0], branch_or_commit=branch, pr_number=pr_number) - try: - yield temp_dir - # Pre-cleanup for Windows http://bugs.python.org/issue26660 - finally: - _LOGGER.debug("Preclean Rest folder") - shutil.rmtree(temp_dir, onerror=remove_readonly) - - -class GithubLink: - def __init__(self, gitid, link_type, branch_or_commit, path, token=None): # pylint: disable=too-many-arguments - self.gitid = gitid - self.link_type = link_type - self.branch_or_commit = branch_or_commit - self.path = path - self.token = token - - @classmethod - def from_string(cls, github_url): - parsed = urlsplit(github_url) - netloc = parsed.netloc - if "@" in netloc: - token, netloc = netloc.split("@") - else: - token = None - - split_path = parsed.path.split("/") - split_path.pop(0) # First is always empty - gitid = split_path.pop(0) + "/" + split_path.pop(0) - link_type = split_path.pop(0) if netloc != "raw.githubusercontent.com" else "raw" - branch_or_commit = split_path.pop(0) - path = "/".join(split_path) - return cls(gitid, link_type, branch_or_commit, path, token) - - def __repr__(self): - if self.link_type == "raw": - netloc = "raw.githubusercontent.com" - path = "/".join(["", self.gitid, self.branch_or_commit, self.path]) - # If raw and token, needs to be passed with "Authorization: token ", so nothing to do here - else: - netloc = "github.com" if not self.token else self.token + "@github.com" - path = "/".join(["", self.gitid, self.link_type, self.branch_or_commit, self.path]) - return urlunsplit(("https", netloc, path, "", "")) - - def as_raw_link(self): - """Returns a GithubLink to a raw content.""" - if self.link_type == "raw": - return self # Can be discussed if we need an hard copy, or fail - if self.link_type != "blob": - raise ValueError("Cannot get a download link from a tree link") - return self.__class__(self.gitid, "raw", self.branch_or_commit, self.path, self.token) - - -class DashboardCommentableObject: # pylint: disable=too-few-public-methods - def __init__(self, issue_or_pr, header): - self._issue_or_pr = issue_or_pr - self._header = header - - def create_comment(self, text): - """Mimic issue API, so we can use it everywhere. - Return dashboard comment. - """ - return DashboardComment.get_or_create(self._issue_or_pr, self._header, text) - - -class DashboardComment: - def __init__(self, github_comment, header): - self.github_comment = github_comment - self._header = header - - @classmethod - def get_or_create(cls, issue, header, text=None): - """Get or create the dashboard comment in this issue.""" - for comment in get_comments(issue): - try: - if comment.body.splitlines()[0] == header: - obj = cls(comment, header) - break - except IndexError: # The comment body is empty - pass - # Hooooooo, no dashboard comment, let's create one - else: - comment = create_comment(issue, header) - obj = cls(comment, header) - if text: - obj.edit(text) - return obj - - def edit(self, text): - self.github_comment.edit(self._header + "\n" + text) - - @property - def body(self): - return self.github_comment.body[len(self._header + "\n") :] - - def delete(self): - self.github_comment.delete() diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_command.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_command.txt deleted file mode 100644 index fec50c88c687..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_command.txt +++ /dev/null @@ -1,77 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/17 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4868'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"98b4fc509c1be25d2318a54b8c92958d"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:24 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.067750'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1584:97BA:C8520B:103DCD4:5AFDF1D7')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/17","id":296837951,"number":17,"title":"Bot testing test_bot_basic_command","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-13T18:21:32Z","updated_at":"2018-05-17T21:17:24Z","closed_at":null,"author_association":"OWNER","body":"Issue for test test_bot_basic_command","closed_by":null} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4867'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"725d5cec4f2c42be4592ff68c6cde59c"'), ('Last-Modified', 'Thu, 21 Apr 2016 17:29:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.068194'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1585:97AE:D648:1542E:5AFDF1D7')] -{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":1,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/17 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4866'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"98b4fc509c1be25d2318a54b8c92958d"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:24 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.056033'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1586:97B6:619CDF:7E742E:5AFDF1D7')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/17","id":296837951,"number":17,"title":"Bot testing test_bot_basic_command","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-13T18:21:32Z","updated_at":"2018-05-17T21:17:24Z","closed_at":null,"author_association":"OWNER","body":"Issue for test test_bot_basic_command","closed_by":null} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/17/reactions -{'Accept': 'application/vnd.github.squirrel-girl-preview', 'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"content": "+1"} -200 -[('Date', 'Thu, 17 May 2018 21:19:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4865'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"830905522c930d77c944e2465cbf79e3"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.squirrel-girl-preview'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.049763'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1587:97BA:C85240:103DD1C:5AFDF1D7')] -{"id":19647639,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"content":"+1","created_at":"2018-02-15T16:48:56Z"} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/17/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "I did something with myparameter"} -201 -[('Date', 'Thu, 17 May 2018 21:19:20 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1269'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4864'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"3c8c70479a1f9d4bd626e25a0fb202d5"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015300'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.235969'), ('X-GitHub-Request-Id', '1589:97BA:C8524D:103DD2D:5AFDF1D7')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015300","html_url":"https://github.com/lmazuel/TestingRepo/issues/17#issuecomment-390015300","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17","id":390015300,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:19Z","updated_at":"2018-05-17T21:19:19Z","author_association":"OWNER","body":"I did something with myparameter"} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/17/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:20 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4863'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"74c8cfcaef98bcea9d03825eaf8e8bcb"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.075117'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '158A:97B8:C19E00:FA7576:5AFDF1D8')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015300","html_url":"https://github.com/lmazuel/TestingRepo/issues/17#issuecomment-390015300","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/17","id":390015300,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:19Z","updated_at":"2018-05-17T21:19:19Z","author_association":"OWNER","body":"I did something with myparameter"}] - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390015300 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:19:20 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4862'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.153464'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '158B:97B4:2A9DDC:371568:5AFDF1D8')] - - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_failure.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_failure.txt deleted file mode 100644 index 47387cd8dd4a..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_basic_failure.txt +++ /dev/null @@ -1,77 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/18 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:20 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4861'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"927f79403c0b19d9941c1f9971554c97"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:25 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.091675'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '158C:97B8:C19E27:FA75AE:5AFDF1D8')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/18","id":296839107,"number":18,"title":"Bot testing test_bot_basic_failure","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-13T18:25:38Z","updated_at":"2018-05-17T21:17:25Z","closed_at":null,"author_association":"OWNER","body":"Test test_bot_basic_failure","closed_by":null} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:21 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4860'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"725d5cec4f2c42be4592ff68c6cde59c"'), ('Last-Modified', 'Thu, 21 Apr 2016 17:29:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.071013'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '158D:97B8:C19E34:FA75C6:5AFDF1D8')] -{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":1,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/18 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:21 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4859'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"927f79403c0b19d9941c1f9971554c97"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:25 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.077929'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '158E:97B6:619D50:7E74CE:5AFDF1D9')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/18","id":296839107,"number":18,"title":"Bot testing test_bot_basic_failure","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-13T18:25:38Z","updated_at":"2018-05-17T21:17:25Z","closed_at":null,"author_association":"OWNER","body":"Test test_bot_basic_failure","closed_by":null} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/18/reactions -{'Accept': 'application/vnd.github.squirrel-girl-preview', 'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"content": "+1"} -200 -[('Date', 'Thu, 17 May 2018 21:19:21 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4858'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"f35e383770b095bc94f549fe44edc2fe"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.squirrel-girl-preview'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.068572'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '158F:97BA:C852D8:103DDF9:5AFDF1D9')] -{"id":19647644,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"content":"+1","created_at":"2018-02-15T16:48:58Z"} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/18/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "
Encountered an unknown error

\n\n```python\nsomething to do with an exception\n```\n\n

"} -201 -[('Date', 'Thu, 17 May 2018 21:19:21 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1367'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4857'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"06822f58759ca9c9cd53dc2e99a93569"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015309'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.233947'), ('X-GitHub-Request-Id', '1590:97BA:C852EB:103DE13:5AFDF1D9')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015309","html_url":"https://github.com/lmazuel/TestingRepo/issues/18#issuecomment-390015309","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18","id":390015309,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:21Z","updated_at":"2018-05-17T21:19:21Z","author_association":"OWNER","body":"
Encountered an unknown error

\n\n```python\nsomething to do with an exception\n```\n\n

"} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/18/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:22 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4856'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"a5b1ec4e91e863af61c812af3c2a3308"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.052239'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1591:97BA:C85304:103DE35:5AFDF1D9')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/378008509","html_url":"https://github.com/lmazuel/TestingRepo/issues/18#issuecomment-378008509","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18","id":378008509,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-04-02T18:49:03Z","updated_at":"2018-04-02T18:49:03Z","author_association":"OWNER","body":"
Encountered an unknown error

\n\n```python\nTraceback (most recent call last):\n File \"/home/travis/build/lmazuel/swagger-to-sdk/swaggertosdk/github_tools.py\", line 32, in exception_to_github\n yield context\n File \"/home/travis/build/lmazuel/swagger-to-sdk/swaggertosdk/restapi/bot_framework.py\", line 104, in manage_comment\n response = getattr(self.handler, orderstr)(webhook_data.issue, *split_text)\n File \"/home/travis/build/lmazuel/swagger-to-sdk/tests/test_bot_framework.py\", line 134, in command1\n raise ValueError(\"Not happy\")\nValueError: Not happy\n\n```\n\n

"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390014728","html_url":"https://github.com/lmazuel/TestingRepo/issues/18#issuecomment-390014728","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18","id":390014728,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:17:25Z","updated_at":"2018-05-17T21:17:25Z","author_association":"OWNER","body":"
Encountered an unknown error

\n\n```python\nsomething to do with an exception\n```\n\n

"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015309","html_url":"https://github.com/lmazuel/TestingRepo/issues/18#issuecomment-390015309","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/18","id":390015309,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:21Z","updated_at":"2018-05-17T21:19:21Z","author_association":"OWNER","body":"
Encountered an unknown error

\n\n```python\nsomething to do with an exception\n```\n\n

"}] - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390015309 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:19:22 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4855'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.105747'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '1592:97BA:C85310:103DE44:5AFDF1DA')] - - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_help.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_help.txt deleted file mode 100644 index c597b5fd77ae..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_help.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/16 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:22 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4854'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"dbdbf224af844ba6fe3d35549fe06d65"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:27 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.086366'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1593:97B8:C19EA6:FA766A:5AFDF1DA')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/16","id":296581533,"number":16,"title":"Bot testing test_bot_help","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-02-13T01:16:25Z","updated_at":"2018-05-17T21:17:27Z","closed_at":null,"author_association":"OWNER","body":"This is bot testing. Test framework will use this issue to test if bot can understand what we are saying. Webhook will be faked.","closed_by":null} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:22 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4853'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"725d5cec4f2c42be4592ff68c6cde59c"'), ('Last-Modified', 'Thu, 21 Apr 2016 17:29:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.067798'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1594:97B6:619DAB:7E754C:5AFDF1DA')] -{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":1,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/16 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:22 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4852'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"dbdbf224af844ba6fe3d35549fe06d65"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:27 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.069684'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1595:97B8:C19EC5:FA7690:5AFDF1DA')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/16","id":296581533,"number":16,"title":"Bot testing test_bot_help","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-02-13T01:16:25Z","updated_at":"2018-05-17T21:17:27Z","closed_at":null,"author_association":"OWNER","body":"This is bot testing. Test framework will use this issue to test if bot can understand what we are saying. Webhook will be faked.","closed_by":null} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/16/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "This is what I can do:\n- `command1`\n- `command2`\n- `help` : this help message"} -201 -[('Date', 'Thu, 17 May 2018 21:19:23 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1317'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4851'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"c2544608584665dd2942321d6aab107f"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015316'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.261789'), ('X-GitHub-Request-Id', '1596:97BA:C8533D:103DE8D:5AFDF1DA')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015316","html_url":"https://github.com/lmazuel/TestingRepo/issues/16#issuecomment-390015316","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","id":390015316,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:23Z","updated_at":"2018-05-17T21:19:23Z","author_association":"OWNER","body":"This is what I can do:\n- `command1`\n- `command2`\n- `help` : this help message"} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/16/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:23 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4850'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"9becdc0c2a9bd3482c6eca5b01416246"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.073664'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1597:97BA:C85357:103DEB6:5AFDF1DB')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/365120206","html_url":"https://github.com/lmazuel/TestingRepo/issues/16#issuecomment-365120206","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","id":365120206,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T01:24:00Z","updated_at":"2018-02-13T01:24:00Z","author_association":"OWNER","body":"This is what I can do:\n - `help` : this help message\n - `generate ` : create a PR for this README\n "},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/365120680","html_url":"https://github.com/lmazuel/TestingRepo/issues/16#issuecomment-365120680","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","id":365120680,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T01:26:35Z","updated_at":"2018-02-13T01:26:35Z","author_association":"OWNER","body":"This is what I can do:\n- `help` : this help message"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/365343119","html_url":"https://github.com/lmazuel/TestingRepo/issues/16#issuecomment-365343119","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","id":365343119,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T17:35:27Z","updated_at":"2018-02-13T17:35:27Z","author_association":"OWNER","body":"This is what I can do:\n- `command1`\n- `command2`\n- `help` : this help message"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/365350586","html_url":"https://github.com/lmazuel/TestingRepo/issues/16#issuecomment-365350586","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","id":365350586,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T17:59:45Z","updated_at":"2018-02-13T17:59:45Z","author_association":"OWNER","body":"End message for tests"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015316","html_url":"https://github.com/lmazuel/TestingRepo/issues/16#issuecomment-390015316","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","id":390015316,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:23Z","updated_at":"2018-05-17T21:19:23Z","author_association":"OWNER","body":"This is what I can do:\n- `command1`\n- `command2`\n- `help` : this help message"}] - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390015316 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:19:24 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4849'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.543403'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '1598:97B8:C19F06:FA76E1:5AFDF1DB')] - - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_unknown_command.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_unknown_command.txt deleted file mode 100644 index 2b05c1c97257..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_bot_unknown_command.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/19 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:24 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4848'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"817b6384493b05bdc635dcb4b3ed97e9"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:28 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.072901'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1599:97B6:619DF4:7E75B2:5AFDF1DC')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/19","id":296841237,"number":19,"title":"Bot testing test_bot_unknown_command","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-13T18:32:59Z","updated_at":"2018-05-17T21:17:28Z","closed_at":null,"author_association":"OWNER","body":"Test test_bot_unknown_command","closed_by":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false}} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:24 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4847'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"725d5cec4f2c42be4592ff68c6cde59c"'), ('Last-Modified', 'Thu, 21 Apr 2016 17:29:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.075721'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '159A:97B8:C19F3B:FA772C:5AFDF1DC')] -{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":1,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/19 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:24 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4846'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"817b6384493b05bdc635dcb4b3ed97e9"'), ('Last-Modified', 'Thu, 17 May 2018 21:17:28 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.054579'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '159B:97BA:C853B6:103DF3D:5AFDF1DC')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/19","id":296841237,"number":19,"title":"Bot testing test_bot_unknown_command","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-13T18:32:59Z","updated_at":"2018-05-17T21:17:28Z","closed_at":null,"author_association":"OWNER","body":"Test test_bot_unknown_command","closed_by":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false}} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/19/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "I didn't understand your command:\n```bash\ncommand1 myparameter\n```\nin this context, sorry :(\nThis is what I can do:\n- `help` : this help message"} -201 -[('Date', 'Thu, 17 May 2018 21:19:25 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1387'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4845'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"7e5e5bc1d93fe17033b3690c64d1de5c"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015326'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.287623'), ('X-GitHub-Request-Id', '159C:97BA:C853C6:103DF50:5AFDF1DC')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015326","html_url":"https://github.com/lmazuel/TestingRepo/issues/19#issuecomment-390015326","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19","id":390015326,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:24Z","updated_at":"2018-05-17T21:19:24Z","author_association":"OWNER","body":"I didn't understand your command:\n```bash\ncommand1 myparameter\n```\nin this context, sorry :(\nThis is what I can do:\n- `help` : this help message"} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/19/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:25 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4844'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"2f96a1efc55bec5c0d05b8eb07192251"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.061455'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '159D:97B8:C19F68:FA7775:5AFDF1DD')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390015326","html_url":"https://github.com/lmazuel/TestingRepo/issues/19#issuecomment-390015326","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/19","id":390015326,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:19:24Z","updated_at":"2018-05-17T21:19:24Z","author_association":"OWNER","body":"I didn't understand your command:\n```bash\ncommand1 myparameter\n```\nin this context, sorry :(\nThis is what I can do:\n- `help` : this help message"}] - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390015326 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:19:25 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4843'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.119982'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '159F:97BA:C853F6:103DF8C:5AFDF1DD')] - - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_webhook_data.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_webhook_data.txt deleted file mode 100644 index 7fdc948de8d1..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/BotFrameworkTest.test_webhook_data.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:25 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4842'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"725d5cec4f2c42be4592ff68c6cde59c"'), ('Last-Modified', 'Thu, 21 Apr 2016 17:29:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.053636'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '15A0:97B6:619E2D:7E75FD:5AFDF1DD')] -{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":1,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/16 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:25 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4841'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"7d2748617881607a7850e67e06267e71"'), ('Last-Modified', 'Thu, 17 May 2018 21:19:23 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.076099'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '15A1:97BA:C8540D:103DFB0:5AFDF1DD')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/16","id":296581533,"number":16,"title":"Bot testing test_bot_help","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-02-13T01:16:25Z","updated_at":"2018-05-17T21:19:23Z","closed_at":null,"author_association":"OWNER","body":"This is bot testing. Test framework will use this issue to test if bot can understand what we are saying. Webhook will be faked.","closed_by":null} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:25 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4840'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"725d5cec4f2c42be4592ff68c6cde59c"'), ('Last-Modified', 'Thu, 21 Apr 2016 17:29:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.069166'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '15A2:97BA:C8541C:103DFC4:5AFDF1DD')] -{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":1,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/16 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:26 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4839'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"7d2748617881607a7850e67e06267e71"'), ('Last-Modified', 'Thu, 17 May 2018 21:19:23 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.070185'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '15A3:97B4:2A9E5A:37161B:5AFDF1DD')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/16","id":296581533,"number":16,"title":"Bot testing test_bot_help","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-02-13T01:16:25Z","updated_at":"2018-05-17T21:19:23Z","closed_at":null,"author_association":"OWNER","body":"This is bot testing. Test framework will use this issue to test if bot can understand what we are saying. Webhook will be faked.","closed_by":null} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/365120206 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:26 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4838'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"9ae58cc064227ab7ba03d6700bc43271"'), ('Last-Modified', 'Tue, 08 May 2018 04:10:43 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.060661'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '15A4:97B6:619E50:7E7635:5AFDF1DE')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/365120206","html_url":"https://github.com/lmazuel/TestingRepo/issues/16#issuecomment-365120206","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/16","id":365120206,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T01:24:00Z","updated_at":"2018-02-13T01:24:00Z","author_association":"OWNER","body":"This is what I can do:\n - `help` : this help message\n - `generate ` : create a PR for this README\n "} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:19:26 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4837'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"725d5cec4f2c42be4592ff68c6cde59c"'), ('Last-Modified', 'Thu, 21 Apr 2016 17:29:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.059502'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '15A5:97BA:C85441:103DFF5:5AFDF1DE')] -{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":1,"subscribers_count":1} - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_clone_path.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_clone_path.txt deleted file mode 100644 index a207132972d7..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_clone_path.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:18 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4991'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.048085'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFBC:85AB:4441C25:57B4B8B:5B3FE41A')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:20 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4990'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.093382'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFBE:85A8:208C8EA:29398CF:5B3FE41C')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:22 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4989'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.042008'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFC1:85A8:208C923:2939909:5B3FE41E')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:24 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4988'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.058983'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFC3:85A8:208C95A:2939952:5B3FE41F')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:25 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4987'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.054447'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFC7:85AA:3E20F9D:4F32AB0:5B3FE421')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:29 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4986'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.053094'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFCC:85AB:44420F3:57B51B8:5B3FE424')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/pulls/2 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:33 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4985'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"8a6ef82b7dcdf6548b23e3a686b38341"'), ('Last-Modified', 'Thu, 05 Jul 2018 16:03:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.114799'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFD1:85AB:44422E1:57B544C:5B3FE429')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2","id":70768598,"node_id":"MDExOlB1bGxSZXF1ZXN0NzA3Njg1OTg=","html_url":"https://github.com/lmazuel/TestingRepo/pull/2","diff_url":"https://github.com/lmazuel/TestingRepo/pull/2.diff","patch_url":"https://github.com/lmazuel/TestingRepo/pull/2.patch","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2","number":2,"state":"open","locked":false,"title":"Update README.md","user":{"login":"AutorestCI","id":18218145,"node_id":"MDQ6VXNlcjE4MjE4MTQ1","avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-05-19T21:29:49Z","updated_at":"2018-07-05T16:03:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1d020a4d8788aa40753ca326f0818a8cd805ac93","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/commits","review_comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/comments","review_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2/comments","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/40d2028637a6b5f8f6ae6e595e772d6fc33b93bb","head":{"label":"AutorestCI:AutorestCI-patch-1","ref":"AutorestCI-patch-1","sha":"40d2028637a6b5f8f6ae6e595e772d6fc33b93bb","user":{"login":"AutorestCI","id":18218145,"node_id":"MDQ6VXNlcjE4MjE4MTQ1","avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"repo":{"id":59243826,"node_id":"MDEwOlJlcG9zaXRvcnk1OTI0MzgyNg==","name":"TestingRepo","full_name":"AutorestCI/TestingRepo","owner":{"login":"AutorestCI","id":18218145,"node_id":"MDQ6VXNlcjE4MjE4MTQ1","avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AutorestCI/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":true,"url":"https://api.github.com/repos/AutorestCI/TestingRepo","forks_url":"https://api.github.com/repos/AutorestCI/TestingRepo/forks","keys_url":"https://api.github.com/repos/AutorestCI/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AutorestCI/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AutorestCI/TestingRepo/teams","hooks_url":"https://api.github.com/repos/AutorestCI/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/AutorestCI/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/AutorestCI/TestingRepo/events","assignees_url":"https://api.github.com/repos/AutorestCI/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/AutorestCI/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/AutorestCI/TestingRepo/tags","blobs_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AutorestCI/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/AutorestCI/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/AutorestCI/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/AutorestCI/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/AutorestCI/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/AutorestCI/TestingRepo/subscription","commits_url":"https://api.github.com/repos/AutorestCI/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/AutorestCI/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/AutorestCI/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/AutorestCI/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/AutorestCI/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AutorestCI/TestingRepo/merges","archive_url":"https://api.github.com/repos/AutorestCI/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AutorestCI/TestingRepo/downloads","issues_url":"https://api.github.com/repos/AutorestCI/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/AutorestCI/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/AutorestCI/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/AutorestCI/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AutorestCI/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/AutorestCI/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/AutorestCI/TestingRepo/deployments","created_at":"2016-05-19T21:26:35Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2016-05-19T21:28:13Z","git_url":"git://github.com/AutorestCI/TestingRepo.git","ssh_url":"git@github.com:AutorestCI/TestingRepo.git","clone_url":"https://github.com/AutorestCI/TestingRepo.git","svn_url":"https://github.com/AutorestCI/TestingRepo","homepage":null,"size":1,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"lmazuel:master","ref":"master","sha":"dd82f65f1b6314b18609b8572464b6d328ea70d4","user":{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"repo":{"id":56793153,"node_id":"MDEwOlJlcG9zaXRvcnk1Njc5MzE1Mw==","name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2"},"html":{"href":"https://github.com/lmazuel/TestingRepo/pull/2"},"issue":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2"},"comments":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/40d2028637a6b5f8f6ae6e595e772d6fc33b93bb"}},"author_association":"COLLABORATOR","merged":false,"mergeable":true,"rebaseable":false,"mergeable_state":"clean","merged_by":null,"comments":3,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":2,"deletions":0,"changed_files":1} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:33 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4984'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.039463'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFD3:85A8:208CA76:2939AE7:5B3FE429')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Fri, 06 Jul 2018 21:50:36 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4983'), ('X-RateLimit-Reset', '1530917381'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"10b653fde1e6d20073ad0d69f59b2c3f"'), ('Last-Modified', 'Fri, 08 Jun 2018 04:11:06 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.042491'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'DFDB:85A5:50C84B:6722D2:5B3FE42C')] -{"login":"lmazuel","id":1050156,"node_id":"MDQ6VXNlcjEwNTAxNTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":47,"public_gists":14,"followers":40,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-06-08T04:11:06Z","private_gists":2,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41453,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_configure.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_configure.txt deleted file mode 100644 index c59238163ea6..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_configure.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:30 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4801'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"77a0c498bc6360506f9e7a4dd33857df"'), ('Last-Modified', 'Tue, 08 May 2018 04:10:43 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.050830'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '16F8:97BA:C9220B:104EE7D:5AFDF3C2')] -{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":46,"public_gists":14,"followers":30,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-05-08T04:10:43Z","private_gists":1,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41216,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_create_comment.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_create_comment.txt deleted file mode 100644 index d43df7590331..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_create_comment.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/14 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:31 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4800'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"8bb2ec36d3e6380bc0eabd5bd44e96eb"'), ('Last-Modified', 'Thu, 17 May 2018 21:15:04 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.064500'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '16F9:97BA:C92251:104EED1:5AFDF3C3')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/14","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/14/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/14/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/14","id":291717104,"number":14,"title":"Testing comment","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-01-25T21:12:00Z","updated_at":"2018-05-17T21:15:04Z","closed_at":null,"author_association":"OWNER","body":"","closed_by":null} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/14/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "This is a test"} -201 -[('Date', 'Thu, 17 May 2018 21:27:31 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1251'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4799'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"d2dfbb8c026a93b366703c2905dd6477"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017673'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.445487'), ('X-GitHub-Request-Id', '16FA:97B8:C2461E:FB54DF:5AFDF3C3')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017673","html_url":"https://github.com/lmazuel/TestingRepo/issues/14#issuecomment-390017673","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/14","id":390017673,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:31Z","updated_at":"2018-05-17T21:27:31Z","author_association":"OWNER","body":"This is a test"} - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017673 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:27:32 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4798'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.141787'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '16FB:97BA:C9227D:104EF10:5AFDF3C3')] - - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/pulls/2 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:32 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4797'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"e0597269209bdeaf65893e74635ff339"'), ('Last-Modified', 'Thu, 17 May 2018 21:15:05 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.132533'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '16FC:97B8:C24657:FB552C:5AFDF3C4')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2","id":70768598,"html_url":"https://github.com/lmazuel/TestingRepo/pull/2","diff_url":"https://github.com/lmazuel/TestingRepo/pull/2.diff","patch_url":"https://github.com/lmazuel/TestingRepo/pull/2.patch","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2","number":2,"state":"open","locked":false,"title":"Update README.md","user":{"login":"AutorestCI","id":18218145,"avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-05-19T21:29:49Z","updated_at":"2018-05-17T21:15:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1d020a4d8788aa40753ca326f0818a8cd805ac93","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/commits","review_comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/comments","review_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2/comments","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/40d2028637a6b5f8f6ae6e595e772d6fc33b93bb","head":{"label":"AutorestCI:AutorestCI-patch-1","ref":"AutorestCI-patch-1","sha":"40d2028637a6b5f8f6ae6e595e772d6fc33b93bb","user":{"login":"AutorestCI","id":18218145,"avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"repo":{"id":59243826,"name":"TestingRepo","full_name":"AutorestCI/TestingRepo","owner":{"login":"AutorestCI","id":18218145,"avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AutorestCI/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":true,"url":"https://api.github.com/repos/AutorestCI/TestingRepo","forks_url":"https://api.github.com/repos/AutorestCI/TestingRepo/forks","keys_url":"https://api.github.com/repos/AutorestCI/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AutorestCI/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AutorestCI/TestingRepo/teams","hooks_url":"https://api.github.com/repos/AutorestCI/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/AutorestCI/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/AutorestCI/TestingRepo/events","assignees_url":"https://api.github.com/repos/AutorestCI/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/AutorestCI/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/AutorestCI/TestingRepo/tags","blobs_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AutorestCI/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/AutorestCI/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/AutorestCI/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/AutorestCI/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/AutorestCI/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/AutorestCI/TestingRepo/subscription","commits_url":"https://api.github.com/repos/AutorestCI/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/AutorestCI/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/AutorestCI/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/AutorestCI/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/AutorestCI/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/AutorestCI/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AutorestCI/TestingRepo/merges","archive_url":"https://api.github.com/repos/AutorestCI/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AutorestCI/TestingRepo/downloads","issues_url":"https://api.github.com/repos/AutorestCI/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/AutorestCI/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/AutorestCI/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/AutorestCI/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AutorestCI/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/AutorestCI/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/AutorestCI/TestingRepo/deployments","created_at":"2016-05-19T21:26:35Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2016-05-19T21:28:13Z","git_url":"git://github.com/AutorestCI/TestingRepo.git","ssh_url":"git@github.com:AutorestCI/TestingRepo.git","clone_url":"https://github.com/AutorestCI/TestingRepo.git","svn_url":"https://github.com/AutorestCI/TestingRepo","homepage":null,"size":1,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"lmazuel:master","ref":"master","sha":"dd82f65f1b6314b18609b8572464b6d328ea70d4","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"repo":{"id":56793153,"name":"TestingRepo","full_name":"lmazuel/TestingRepo","owner":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmazuel/TestingRepo","description":"To test to Python Github SDK. Nothing interesting here.","fork":false,"url":"https://api.github.com/repos/lmazuel/TestingRepo","forks_url":"https://api.github.com/repos/lmazuel/TestingRepo/forks","keys_url":"https://api.github.com/repos/lmazuel/TestingRepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmazuel/TestingRepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmazuel/TestingRepo/teams","hooks_url":"https://api.github.com/repos/lmazuel/TestingRepo/hooks","issue_events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/events{/number}","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/events","assignees_url":"https://api.github.com/repos/lmazuel/TestingRepo/assignees{/user}","branches_url":"https://api.github.com/repos/lmazuel/TestingRepo/branches{/branch}","tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/tags","blobs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/{sha}","languages_url":"https://api.github.com/repos/lmazuel/TestingRepo/languages","stargazers_url":"https://api.github.com/repos/lmazuel/TestingRepo/stargazers","contributors_url":"https://api.github.com/repos/lmazuel/TestingRepo/contributors","subscribers_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscribers","subscription_url":"https://api.github.com/repos/lmazuel/TestingRepo/subscription","commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmazuel/TestingRepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmazuel/TestingRepo/contents/{+path}","compare_url":"https://api.github.com/repos/lmazuel/TestingRepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmazuel/TestingRepo/merges","archive_url":"https://api.github.com/repos/lmazuel/TestingRepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmazuel/TestingRepo/downloads","issues_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues{/number}","pulls_url":"https://api.github.com/repos/lmazuel/TestingRepo/pulls{/number}","milestones_url":"https://api.github.com/repos/lmazuel/TestingRepo/milestones{/number}","notifications_url":"https://api.github.com/repos/lmazuel/TestingRepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/labels{/name}","releases_url":"https://api.github.com/repos/lmazuel/TestingRepo/releases{/id}","deployments_url":"https://api.github.com/repos/lmazuel/TestingRepo/deployments","created_at":"2016-04-21T17:29:04Z","updated_at":"2016-04-21T17:29:04Z","pushed_at":"2018-02-14T21:55:42Z","git_url":"git://github.com/lmazuel/TestingRepo.git","ssh_url":"git@github.com:lmazuel/TestingRepo.git","clone_url":"https://github.com/lmazuel/TestingRepo.git","svn_url":"https://github.com/lmazuel/TestingRepo","homepage":null,"size":43,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":10,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2"},"html":{"href":"https://github.com/lmazuel/TestingRepo/pull/2"},"issue":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2"},"comments":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/lmazuel/TestingRepo/statuses/40d2028637a6b5f8f6ae6e595e772d6fc33b93bb"}},"author_association":"COLLABORATOR","merged":false,"mergeable":true,"rebaseable":false,"mergeable_state":"clean","merged_by":null,"comments":3,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":2,"deletions":0,"changed_files":1} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/2/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "This is a test"} -201 -[('Date', 'Thu, 17 May 2018 21:27:32 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1247'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4796'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"b3aba802534abbc06eb4cee35eca6eac"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017676'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.233537'), ('X-GitHub-Request-Id', '16FD:97B8:C2466C:FB5542:5AFDF3C4')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017676","html_url":"https://github.com/lmazuel/TestingRepo/pull/2#issuecomment-390017676","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/2","id":390017676,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:32Z","updated_at":"2018-05-17T21:27:32Z","author_association":"OWNER","body":"This is a test"} - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017676 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:27:33 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4795'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.189453'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '16FE:97BA:C922C2:104EF68:5AFDF3C4')] - - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_dashboard.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_dashboard.txt deleted file mode 100644 index 8b62646b0d02..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_dashboard.txt +++ /dev/null @@ -1,110 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/15 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:33 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4794'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"f7880303c57eae4c85d647cee834e3f6"'), ('Last-Modified', 'Thu, 17 May 2018 21:15:07 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.054964'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '16FF:97BA:C922DA:104EF8A:5AFDF3C5')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/15","id":293729231,"number":15,"title":"Dashboard testing","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-02-02T00:09:29Z","updated_at":"2018-05-17T21:15:07Z","closed_at":null,"author_association":"OWNER","body":"","closed_by":null} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/15/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:33 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4793'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"394698f297e36caa81023c22d91e8f84"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.106485'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1700:97BA:C922E8:104EF9A:5AFDF3C5')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/362444226","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-362444226","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":362444226,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-02T00:10:56Z","updated_at":"2018-02-02T00:59:46Z","author_association":"OWNER","body":"klsfjdlkjflksd\nlskjflkdjf\n"}] - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/15/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:33 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4792'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"394698f297e36caa81023c22d91e8f84"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.066016'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1701:97B8:C246C0:FB55B0:5AFDF3C5')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/362444226","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-362444226","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":362444226,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-02T00:10:56Z","updated_at":"2018-02-02T00:59:46Z","author_association":"OWNER","body":"klsfjdlkjflksd\nlskjflkdjf\n"}] - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/15/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "# MYHEADER"} -201 -[('Date', 'Thu, 17 May 2018 21:27:33 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1247'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4791'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"772f2729f150f5896d0a03475c5dd0c5"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017687'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.190633'), ('X-GitHub-Request-Id', '1702:97B8:C246D0:FB55C5:5AFDF3C5')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017687","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-390017687","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":390017687,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:33Z","updated_at":"2018-05-17T21:27:33Z","author_association":"OWNER","body":"# MYHEADER"} - -https -PATCH -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017687 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "# MYHEADER\n
Encountered an unknown error: (Python bot)

\n\n```python\nsomething to do with an exception\n```\n\n

"} -200 -[('Date', 'Thu, 17 May 2018 21:27:34 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4790'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"bd0982c93a87b03a313876721ccc76a4"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.191203'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1703:97B8:C246F0:FB55EC:5AFDF3C5')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017687","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-390017687","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":390017687,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:33Z","updated_at":"2018-05-17T21:27:34Z","author_association":"OWNER","body":"# MYHEADER\n
Encountered an unknown error: (Python bot)

\n\n```python\nsomething to do with an exception\n```\n\n

"} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/15/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:34 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4789'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"b91f459a1d0337ede82a9105fa62ce19"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.075426'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1704:97BA:C92330:104F002:5AFDF3C6')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/362444226","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-362444226","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":362444226,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-02T00:10:56Z","updated_at":"2018-02-02T00:59:46Z","author_association":"OWNER","body":"klsfjdlkjflksd\nlskjflkdjf\n"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017687","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-390017687","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":390017687,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:33Z","updated_at":"2018-05-17T21:27:34Z","author_association":"OWNER","body":"# MYHEADER\n
Encountered an unknown error: (Python bot)

\n\n```python\nsomething to do with an exception\n```\n\n

"}] - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/15/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:34 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4788'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"b91f459a1d0337ede82a9105fa62ce19"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.070095'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1705:97BA:C92342:104F012:5AFDF3C6')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/362444226","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-362444226","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":362444226,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-02T00:10:56Z","updated_at":"2018-02-02T00:59:46Z","author_association":"OWNER","body":"klsfjdlkjflksd\nlskjflkdjf\n"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017687","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-390017687","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":390017687,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:33Z","updated_at":"2018-05-17T21:27:34Z","author_association":"OWNER","body":"# MYHEADER\n
Encountered an unknown error: (Python bot)

\n\n```python\nsomething to do with an exception\n```\n\n

"}] - -https -PATCH -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017687 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "# MYHEADER\nNew text comment"} -200 -[('Date', 'Thu, 17 May 2018 21:27:34 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4787'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"7d8a8bf4af44d34c832747ad13a83446"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.218436'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1706:97B8:C24728:FB5638:5AFDF3C6')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017687","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-390017687","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":390017687,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:33Z","updated_at":"2018-05-17T21:27:34Z","author_association":"OWNER","body":"# MYHEADER\nNew text comment"} - -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/15/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:35 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4786'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"2765cea7edb0c5332910282095b1d4c1"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.061215'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1707:97B8:C2473C:FB5658:5AFDF3C6')] -[{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/362444226","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-362444226","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":362444226,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-02-02T00:10:56Z","updated_at":"2018-02-02T00:59:46Z","author_association":"OWNER","body":"klsfjdlkjflksd\nlskjflkdjf\n"},{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017687","html_url":"https://github.com/lmazuel/TestingRepo/issues/15#issuecomment-390017687","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/15","id":390017687,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:33Z","updated_at":"2018-05-17T21:27:34Z","author_association":"OWNER","body":"# MYHEADER\nNew text comment"}] - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017687 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:27:35 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4785'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.126890'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '1708:97B4:2AC8C4:374BDD:5AFDF3C7')] - - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_exception_to_github.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_exception_to_github.txt deleted file mode 100644 index 935e64e2fc1f..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_exception_to_github.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/repos/lmazuel/TestingRepo/issues/13 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:35 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4784'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"5d22339274e7041343287e3bfa73f758"'), ('Last-Modified', 'Thu, 17 May 2018 21:15:10 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.057591'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1709:97B6:61F179:7EE505:5AFDF3C7')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13","repository_url":"https://api.github.com/repos/lmazuel/TestingRepo","labels_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13/comments","events_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13/events","html_url":"https://github.com/lmazuel/TestingRepo/issues/13","id":290980764,"number":13,"title":"Testing exception","user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-01-23T20:24:40Z","updated_at":"2018-05-17T21:15:10Z","closed_at":null,"author_association":"OWNER","body":"This unittest is doing something stupid, to test I'm able to log in a generic way the stacktrace in Github","closed_by":null} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/13/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "
Encountered an unknown error

\n\n```python\nsomething to do with an exception\n```\n\n

"} -201 -[('Date', 'Thu, 17 May 2018 21:27:35 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1367'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4783'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"02c13ce01b48f85e423f4eaaa70ae776"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017694'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.207902'), ('X-GitHub-Request-Id', '170A:97BA:C923A8:104F0A2:5AFDF3C7')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017694","html_url":"https://github.com/lmazuel/TestingRepo/issues/13#issuecomment-390017694","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13","id":390017694,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:35Z","updated_at":"2018-05-17T21:27:35Z","author_association":"OWNER","body":"
Encountered an unknown error

\n\n```python\nsomething to do with an exception\n```\n\n

"} - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017694 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:27:36 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4782'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.137629'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '170B:97B6:61F19A:7EE52A:5AFDF3C7')] - - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/13/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "
Encountered an unknown error: (Python bot)

\n\n```python\nsomething to do with an exception\n```\n\n

"} -201 -[('Date', 'Thu, 17 May 2018 21:27:36 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1381'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4781'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"80a0e4c3cf7c8e5152378483fc9b6928"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017696'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.177832'), ('X-GitHub-Request-Id', '170C:97B4:2AC8D4:374BF5:5AFDF3C8')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017696","html_url":"https://github.com/lmazuel/TestingRepo/issues/13#issuecomment-390017696","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13","id":390017696,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:36Z","updated_at":"2018-05-17T21:27:36Z","author_association":"OWNER","body":"
Encountered an unknown error: (Python bot)

\n\n```python\nsomething to do with an exception\n```\n\n

"} - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017696 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:27:36 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4780'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.152868'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '170D:97BA:C923DA:104F0E5:5AFDF3C8')] - - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/13/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "
Encountered a Subprocess error: (Python bot)

\n\nCommand: ['autorest', 'readme.md']\nFinished with return code 2\nand output:\n```shell\nError line 1\nError line 2\n```\n\n

"} -201 -[('Date', 'Thu, 17 May 2018 21:27:36 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1453'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4779'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"1b1b351c9807c836fbc5facac7829561"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017699'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.193468'), ('X-GitHub-Request-Id', '170E:97B6:61F1CD:7EE566:5AFDF3C8')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017699","html_url":"https://github.com/lmazuel/TestingRepo/issues/13#issuecomment-390017699","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13","id":390017699,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:36Z","updated_at":"2018-05-17T21:27:36Z","author_association":"OWNER","body":"
Encountered a Subprocess error: (Python bot)

\n\nCommand: ['autorest', 'readme.md']\nFinished with return code 2\nand output:\n```shell\nError line 1\nError line 2\n```\n\n

"} - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017699 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:27:37 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4778'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.129749'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '170F:97BA:C92400:104F11E:5AFDF3C8')] - - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/issues/13/comments -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"body": "
Encountered a Subprocess error: (Python bot)

\n\nCommand: ['autorest', 'readme.md']\nFinished with return code 2\nand no output\n\n

"} -201 -[('Date', 'Thu, 17 May 2018 21:27:37 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1412'), ('Server', 'GitHub.com'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4777'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', '"c63186bf115722901d5391428f67a13b"'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('Location', 'https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017701'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.211042'), ('X-GitHub-Request-Id', '1710:97B8:C24810:FB5779:5AFDF3C9')] -{"url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/comments/390017701","html_url":"https://github.com/lmazuel/TestingRepo/issues/13#issuecomment-390017701","issue_url":"https://api.github.com/repos/lmazuel/TestingRepo/issues/13","id":390017701,"user":{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false},"created_at":"2018-05-17T21:27:37Z","updated_at":"2018-05-17T21:27:37Z","author_association":"OWNER","body":"
Encountered a Subprocess error: (Python bot)

\n\nCommand: ['autorest', 'readme.md']\nFinished with return code 2\nand no output\n\n

"} - -https -DELETE -api.github.com -None -/repos/lmazuel/TestingRepo/issues/comments/390017701 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -204 -[('Date', 'Thu, 17 May 2018 21:27:37 GMT'), ('Content-Type', 'application/octet-stream'), ('Server', 'GitHub.com'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4776'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.150903'), ('Vary', 'Accept-Encoding'), ('X-GitHub-Request-Id', '1711:97BA:C92421:104F154:5AFDF3C9')] - - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_files.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_files.txt deleted file mode 100644 index 5cc5b47e4f6a..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_files.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/Azure/azure-sdk-for-python/pulls/1833 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:38 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4775'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"efe380b23abd3372e84ff35dbd437a3c"'), ('Last-Modified', 'Thu, 29 Mar 2018 00:23:35 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.134239'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1712:97B8:C2483A:FB57AE:5AFDF3C9')] -{"url":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/1833","id":165209780,"html_url":"https://github.com/Azure/azure-sdk-for-python/pull/1833","diff_url":"https://github.com/Azure/azure-sdk-for-python/pull/1833.diff","patch_url":"https://github.com/Azure/azure-sdk-for-python/pull/1833.patch","issue_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/1833","number":1833,"state":"closed","locked":false,"title":"Automatic PR of restapi_auto_bgsky_master into master","user":{"login":"AutorestCI","id":18218145,"avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"body":"Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2335","created_at":"2018-01-25T19:40:09Z","updated_at":"2018-02-06T18:26:44Z","closed_at":"2018-02-06T18:26:41Z","merged_at":null,"merge_commit_sha":"7a4bc4682149db0f88b1ad628b432fe90ae87786","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":803155593,"url":"https://api.github.com/repos/Azure/azure-sdk-for-python/labels/RestPRMerged","name":"RestPRMerged","color":"0e8a16","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/1833/commits","review_comments_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/1833/comments","review_comment_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/1833/comments","statuses_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/statuses/3d6c419cd2ade53c240c40db96dbe34957351244","head":{"label":"Azure:restapi_auto_bgsky_master","ref":"restapi_auto_bgsky_master","sha":"3d6c419cd2ade53c240c40db96dbe34957351244","user":{"login":"Azure","id":6844498,"avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":4127088,"name":"azure-sdk-for-python","full_name":"Azure/azure-sdk-for-python","owner":{"login":"Azure","id":6844498,"avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Azure/azure-sdk-for-python","description":"Microsoft Azure SDK for Python","fork":false,"url":"https://api.github.com/repos/Azure/azure-sdk-for-python","forks_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/forks","keys_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/teams","hooks_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/events","assignees_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/tags","blobs_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/subscription","commits_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/merges","archive_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/downloads","issues_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/deployments","created_at":"2012-04-24T16:46:12Z","updated_at":"2018-05-16T23:44:09Z","pushed_at":"2018-05-17T20:20:22Z","git_url":"git://github.com/Azure/azure-sdk-for-python.git","ssh_url":"git@github.com:Azure/azure-sdk-for-python.git","clone_url":"https://github.com/Azure/azure-sdk-for-python.git","svn_url":"https://github.com/Azure/azure-sdk-for-python","homepage":"","size":64485,"stargazers_count":536,"watchers_count":536,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":450,"mirror_url":null,"archived":false,"open_issues_count":176,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":450,"open_issues":176,"watchers":536,"default_branch":"master"}},"base":{"label":"Azure:master","ref":"master","sha":"f4715da4f929733b2b95c03142512f85ae8728a5","user":{"login":"Azure","id":6844498,"avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":4127088,"name":"azure-sdk-for-python","full_name":"Azure/azure-sdk-for-python","owner":{"login":"Azure","id":6844498,"avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Azure/azure-sdk-for-python","description":"Microsoft Azure SDK for Python","fork":false,"url":"https://api.github.com/repos/Azure/azure-sdk-for-python","forks_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/forks","keys_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/teams","hooks_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/events","assignees_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/tags","blobs_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/subscription","commits_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/merges","archive_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/downloads","issues_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/deployments","created_at":"2012-04-24T16:46:12Z","updated_at":"2018-05-16T23:44:09Z","pushed_at":"2018-05-17T20:20:22Z","git_url":"git://github.com/Azure/azure-sdk-for-python.git","ssh_url":"git@github.com:Azure/azure-sdk-for-python.git","clone_url":"https://github.com/Azure/azure-sdk-for-python.git","svn_url":"https://github.com/Azure/azure-sdk-for-python","homepage":"","size":64485,"stargazers_count":536,"watchers_count":536,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":450,"mirror_url":null,"archived":false,"open_issues_count":176,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":450,"open_issues":176,"watchers":536,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/1833"},"html":{"href":"https://github.com/Azure/azure-sdk-for-python/pull/1833"},"issue":{"href":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/1833"},"comments":{"href":"https://api.github.com/repos/Azure/azure-sdk-for-python/issues/1833/comments"},"review_comments":{"href":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/1833/comments"},"review_comment":{"href":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Azure/azure-sdk-for-python/pulls/1833/commits"},"statuses":{"href":"https://api.github.com/repos/Azure/azure-sdk-for-python/statuses/3d6c419cd2ade53c240c40db96dbe34957351244"}},"author_association":"MEMBER","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":false,"commits":9,"additions":1941,"deletions":43,"changed_files":23} - -https -GET -api.github.com -None -/repos/Azure/azure-sdk-for-python/pulls/1833/files -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:38 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4774'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"974102d71c3b4d54ea78ae6faeddeb4d"'), ('Last-Modified', 'Thu, 29 Mar 2018 00:23:35 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.104289'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1713:97B6:61F208:7EE5BA:5AFDF3CA')] -[{"sha":"bf24d5ec847de2a0e8e63082550a5bcfeac05048","filename":"azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py","status":"modified","additions":33,"deletions":4,"changes":37,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -14,9 +14,12 @@\n from msrestazure import AzureConfiguration\n from .version import VERSION\n from .operations.usage_details_operations import UsageDetailsOperations\n+from .operations.marketplaces_operations import MarketplacesOperations\n from .operations.reservations_summaries_operations import ReservationsSummariesOperations\n from .operations.reservations_details_operations import ReservationsDetailsOperations\n+from .operations.budgets_operations import BudgetsOperations\n from .operations.operations import Operations\n+from .operations.price_sheet_operations import PriceSheetOperations\n from . import models\n \n \n@@ -30,16 +33,24 @@ class ConsumptionManagementClientConfiguration(AzureConfiguration):\n object`\n :param subscription_id: Azure Subscription ID.\n :type subscription_id: str\n+ :param resource_group_name: Azure Resource Group Name.\n+ :type resource_group_name: str\n+ :param budget_name: Budget Name.\n+ :type budget_name: str\n :param str base_url: Service URL\n \"\"\"\n \n def __init__(\n- self, credentials, subscription_id, base_url=None):\n+ self, credentials, subscription_id, resource_group_name, budget_name, base_url=None):\n \n if credentials is None:\n raise ValueError(\"Parameter 'credentials' must not be None.\")\n if subscription_id is None:\n raise ValueError(\"Parameter 'subscription_id' must not be None.\")\n+ if resource_group_name is None:\n+ raise ValueError(\"Parameter 'resource_group_name' must not be None.\")\n+ if budget_name is None:\n+ raise ValueError(\"Parameter 'budget_name' must not be None.\")\n if not base_url:\n base_url = 'https://management.azure.com'\n \n@@ -50,6 +61,8 @@ def __init__(\n \n self.credentials = credentials\n self.subscription_id = subscription_id\n+ self.resource_group_name = resource_group_name\n+ self.budget_name = budget_name\n \n \n class ConsumptionManagementClient(object):\n@@ -60,37 +73,53 @@ class ConsumptionManagementClient(object):\n \n :ivar usage_details: UsageDetails operations\n :vartype usage_details: azure.mgmt.consumption.operations.UsageDetailsOperations\n+ :ivar marketplaces: Marketplaces operations\n+ :vartype marketplaces: azure.mgmt.consumption.operations.MarketplacesOperations\n :ivar reservations_summaries: ReservationsSummaries operations\n :vartype reservations_summaries: azure.mgmt.consumption.operations.ReservationsSummariesOperations\n :ivar reservations_details: ReservationsDetails operations\n :vartype reservations_details: azure.mgmt.consumption.operations.ReservationsDetailsOperations\n+ :ivar budgets: Budgets operations\n+ :vartype budgets: azure.mgmt.consumption.operations.BudgetsOperations\n :ivar operations: Operations operations\n :vartype operations: azure.mgmt.consumption.operations.Operations\n+ :ivar price_sheet: PriceSheet operations\n+ :vartype price_sheet: azure.mgmt.consumption.operations.PriceSheetOperations\n \n :param credentials: Credentials needed for the client to connect to Azure.\n :type credentials: :mod:`A msrestazure Credentials\n object`\n :param subscription_id: Azure Subscription ID.\n :type subscription_id: str\n+ :param resource_group_name: Azure Resource Group Name.\n+ :type resource_group_name: str\n+ :param budget_name: Budget Name.\n+ :type budget_name: str\n :param str base_url: Service URL\n \"\"\"\n \n def __init__(\n- self, credentials, subscription_id, base_url=None):\n+ self, credentials, subscription_id, resource_group_name, budget_name, base_url=None):\n \n- self.config = ConsumptionManagementClientConfiguration(credentials, subscription_id, base_url)\n+ self.config = ConsumptionManagementClientConfiguration(credentials, subscription_id, resource_group_name, budget_name, base_url)\n self._client = ServiceClient(self.config.credentials, self.config)\n \n client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}\n- self.api_version = '2017-11-30'\n+ self.api_version = '2018-01-31'\n self._serialize = Serializer(client_models)\n self._deserialize = Deserializer(client_models)\n \n self.usage_details = UsageDetailsOperations(\n self._client, self.config, self._serialize, self._deserialize)\n+ self.marketplaces = MarketplacesOperations(\n+ self._client, self.config, self._serialize, self._deserialize)\n self.reservations_summaries = ReservationsSummariesOperations(\n self._client, self.config, self._serialize, self._deserialize)\n self.reservations_details = ReservationsDetailsOperations(\n self._client, self.config, self._serialize, self._deserialize)\n+ self.budgets = BudgetsOperations(\n+ self._client, self.config, self._serialize, self._deserialize)\n self.operations = Operations(\n self._client, self.config, self._serialize, self._deserialize)\n+ self.price_sheet = PriceSheetOperations(\n+ self._client, self.config, self._serialize, self._deserialize)"},{"sha":"d071f7f2e49d6159288f76e17b5cf2c52f900933","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py","status":"modified","additions":28,"deletions":0,"changes":28,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -11,34 +11,62 @@\n \n from .meter_details import MeterDetails\n from .usage_detail import UsageDetail\n+from .marketplace import Marketplace\n from .reservation_summaries import ReservationSummaries\n from .reservation_details import ReservationDetails\n+from .budget_time_period import BudgetTimePeriod\n+from .filters import Filters\n+from .current_spend import CurrentSpend\n+from .notification import Notification\n+from .budget import Budget\n from .error_details import ErrorDetails\n from .error_response import ErrorResponse, ErrorResponseException\n from .operation_display import OperationDisplay\n from .operation import Operation\n from .resource import Resource\n+from .proxy_resource import ProxyResource\n+from .price_sheet_list_result import PriceSheetListResult\n+from .price_sheet_model import PriceSheetModel\n from .usage_detail_paged import UsageDetailPaged\n+from .marketplace_paged import MarketplacePaged\n from .reservation_summaries_paged import ReservationSummariesPaged\n from .reservation_details_paged import ReservationDetailsPaged\n+from .budget_paged import BudgetPaged\n from .operation_paged import OperationPaged\n from .consumption_management_client_enums import (\n+ CategoryType,\n+ TimeGrainType,\n+ OperatorType,\n Datagrain,\n )\n \n __all__ = [\n 'MeterDetails',\n 'UsageDetail',\n+ 'Marketplace',\n 'ReservationSummaries',\n 'ReservationDetails',\n+ 'BudgetTimePeriod',\n+ 'Filters',\n+ 'CurrentSpend',\n+ 'Notification',\n+ 'Budget',\n 'ErrorDetails',\n 'ErrorResponse', 'ErrorResponseException',\n 'OperationDisplay',\n 'Operation',\n 'Resource',\n+ 'ProxyResource',\n+ 'PriceSheetListResult',\n+ 'PriceSheetModel',\n 'UsageDetailPaged',\n+ 'MarketplacePaged',\n 'ReservationSummariesPaged',\n 'ReservationDetailsPaged',\n+ 'BudgetPaged',\n 'OperationPaged',\n+ 'CategoryType',\n+ 'TimeGrainType',\n+ 'OperatorType',\n 'Datagrain',\n ]"},{"sha":"f6485d49266ddf2734c02ab55dceb9aba94bfe0a","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py","status":"added","additions":91,"deletions":0,"changes":91,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,91 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from .proxy_resource import ProxyResource\n+\n+\n+class Budget(ProxyResource):\n+ \"\"\"A budget resource.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar id: Resource Id.\n+ :vartype id: str\n+ :ivar name: Resource name.\n+ :vartype name: str\n+ :ivar type: Resource type.\n+ :vartype type: str\n+ :param e_tag: eTag of the resource. To handle concurrent update scenarion,\n+ this field will be used to determine whether the user is updating the\n+ latest version or not.\n+ :type e_tag: str\n+ :param category: The category of the budget, whether the budget tracks\n+ cost or usage. Possible values include: 'Cost', 'Usage'\n+ :type category: str or ~azure.mgmt.consumption.models.CategoryType\n+ :param amount: The total amount of cost to track with the budget\n+ :type amount: decimal.Decimal\n+ :param time_grain: The time covered by a budget. Tracking of the amount\n+ will be reset based on the time grain. Possible values include: 'Monthly',\n+ 'Quarterly', 'Annually'\n+ :type time_grain: str or ~azure.mgmt.consumption.models.TimeGrainType\n+ :param time_period: Has start and end date of the budget. The start date\n+ must be first of the month and should be less than the end date. Budget\n+ start date must be on or after June 1, 2017. Future start date should not\n+ be more than three months. Past start date should be selected within the\n+ timegrain preiod. There are no restrictions on the end date.\n+ :type time_period: ~azure.mgmt.consumption.models.BudgetTimePeriod\n+ :param filters: May be used to filter budgets by resource group, resource,\n+ or meter.\n+ :type filters: ~azure.mgmt.consumption.models.Filters\n+ :ivar current_spend: The current amount of cost which is being tracked for\n+ a budget.\n+ :vartype current_spend: ~azure.mgmt.consumption.models.CurrentSpend\n+ :param notifications: Dictionary of notifications associated with the\n+ budget. Budget can have up to five notifications.\n+ :type notifications: dict[str,\n+ ~azure.mgmt.consumption.models.Notification]\n+ \"\"\"\n+\n+ _validation = {\n+ 'id': {'readonly': True},\n+ 'name': {'readonly': True},\n+ 'type': {'readonly': True},\n+ 'category': {'required': True},\n+ 'amount': {'required': True},\n+ 'time_grain': {'required': True},\n+ 'time_period': {'required': True},\n+ 'current_spend': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'id': {'key': 'id', 'type': 'str'},\n+ 'name': {'key': 'name', 'type': 'str'},\n+ 'type': {'key': 'type', 'type': 'str'},\n+ 'e_tag': {'key': 'eTag', 'type': 'str'},\n+ 'category': {'key': 'properties.category', 'type': 'str'},\n+ 'amount': {'key': 'properties.amount', 'type': 'decimal'},\n+ 'time_grain': {'key': 'properties.timeGrain', 'type': 'str'},\n+ 'time_period': {'key': 'properties.timePeriod', 'type': 'BudgetTimePeriod'},\n+ 'filters': {'key': 'properties.filters', 'type': 'Filters'},\n+ 'current_spend': {'key': 'properties.currentSpend', 'type': 'CurrentSpend'},\n+ 'notifications': {'key': 'properties.notifications', 'type': '{Notification}'},\n+ }\n+\n+ def __init__(self, category, amount, time_grain, time_period, e_tag=None, filters=None, notifications=None):\n+ super(Budget, self).__init__(e_tag=e_tag)\n+ self.category = category\n+ self.amount = amount\n+ self.time_grain = time_grain\n+ self.time_period = time_period\n+ self.filters = filters\n+ self.current_spend = None\n+ self.notifications = notifications"},{"sha":"2668382253e2d7aaefb8665a466d2482193e0246","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py","status":"added","additions":27,"deletions":0,"changes":27,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,27 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.paging import Paged\n+\n+\n+class BudgetPaged(Paged):\n+ \"\"\"\n+ A paging container for iterating over a list of :class:`Budget ` object\n+ \"\"\"\n+\n+ _attribute_map = {\n+ 'next_link': {'key': 'nextLink', 'type': 'str'},\n+ 'current_page': {'key': 'value', 'type': '[Budget]'}\n+ }\n+\n+ def __init__(self, *args, **kwargs):\n+\n+ super(BudgetPaged, self).__init__(*args, **kwargs)"},{"sha":"2b1c0e78418a1deb6b6147fc90ea53f1a03256d0","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py","status":"added","additions":37,"deletions":0,"changes":37,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,37 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class BudgetTimePeriod(Model):\n+ \"\"\"The start and end date for a budget.\n+\n+ :param start_date: The start date for the budget.\n+ :type start_date: datetime\n+ :param end_date: The end date for the budget. If not provided, we default\n+ this to 10 years from the start date.\n+ :type end_date: datetime\n+ \"\"\"\n+\n+ _validation = {\n+ 'start_date': {'required': True},\n+ }\n+\n+ _attribute_map = {\n+ 'start_date': {'key': 'startDate', 'type': 'iso-8601'},\n+ 'end_date': {'key': 'endDate', 'type': 'iso-8601'},\n+ }\n+\n+ def __init__(self, start_date, end_date=None):\n+ super(BudgetTimePeriod, self).__init__()\n+ self.start_date = start_date\n+ self.end_date = end_date"},{"sha":"bb0db82f76b32c1d02cca1de69b0ecc49b3b548b","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py","status":"modified","additions":20,"deletions":0,"changes":20,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -12,6 +12,26 @@\n from enum import Enum\n \n \n+class CategoryType(Enum):\n+\n+ cost = \"Cost\"\n+ usage = \"Usage\"\n+\n+\n+class TimeGrainType(Enum):\n+\n+ monthly = \"Monthly\"\n+ quarterly = \"Quarterly\"\n+ annually = \"Annually\"\n+\n+\n+class OperatorType(Enum):\n+\n+ equal_to = \"EqualTo\"\n+ greater_than = \"GreaterThan\"\n+ greater_than_or_equal_to = \"GreaterThanOrEqualTo\"\n+\n+\n class Datagrain(Enum):\n \n daily_grain = \"daily\""},{"sha":"839c286b104079f531a4b130f3e01082d63d08ac","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py","status":"added","additions":41,"deletions":0,"changes":41,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,41 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class CurrentSpend(Model):\n+ \"\"\"The current amount of cost which is being tracked for a budget.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar amount: The total amount of cost which is being tracked by the\n+ budget.\n+ :vartype amount: decimal.Decimal\n+ :ivar unit: The unit of measure for the budget amount.\n+ :vartype unit: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'amount': {'readonly': True},\n+ 'unit': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'amount': {'key': 'amount', 'type': 'decimal'},\n+ 'unit': {'key': 'unit', 'type': 'str'},\n+ }\n+\n+ def __init__(self):\n+ super(CurrentSpend, self).__init__()\n+ self.amount = None\n+ self.unit = None"},{"sha":"dc010a065900621f02b77dfe1b389071e597fd73","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py","status":"added","additions":44,"deletions":0,"changes":44,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,44 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class Filters(Model):\n+ \"\"\"May be used to filter budgets by resource group, resource, or meter.\n+\n+ :param resource_groups: The list of filters on resource groups, allowed at\n+ subscription level only.\n+ :type resource_groups: list[str]\n+ :param resources: The list of filters on resources.\n+ :type resources: list[str]\n+ :param meters: The list of filters on meters, mandatory for budgets of\n+ usage category.\n+ :type meters: list[str]\n+ \"\"\"\n+\n+ _validation = {\n+ 'resource_groups': {'max_items': 10, 'min_items': 0},\n+ 'resources': {'max_items': 10, 'min_items': 0},\n+ 'meters': {'max_items': 10, 'min_items': 0},\n+ }\n+\n+ _attribute_map = {\n+ 'resource_groups': {'key': 'resourceGroups', 'type': '[str]'},\n+ 'resources': {'key': 'resources', 'type': '[str]'},\n+ 'meters': {'key': 'meters', 'type': '[str]'},\n+ }\n+\n+ def __init__(self, resource_groups=None, resources=None, meters=None):\n+ super(Filters, self).__init__()\n+ self.resource_groups = resource_groups\n+ self.resources = resources\n+ self.meters = meters"},{"sha":"d401f3fdc397e6aa0d40011f987917ef0984a8bc","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace.py","status":"added","additions":174,"deletions":0,"changes":174,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,174 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from .resource import Resource\n+\n+\n+class Marketplace(Resource):\n+ \"\"\"An marketplace resource.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar id: Resource Id.\n+ :vartype id: str\n+ :ivar name: Resource name.\n+ :vartype name: str\n+ :ivar type: Resource type.\n+ :vartype type: str\n+ :ivar tags: Resource tags.\n+ :vartype tags: dict[str, str]\n+ :ivar billing_period_id: The id of the billing period resource that the\n+ usage belongs to.\n+ :vartype billing_period_id: str\n+ :ivar usage_start: The start of the date time range covered by the usage\n+ detail.\n+ :vartype usage_start: datetime\n+ :ivar usage_end: The end of the date time range covered by the usage\n+ detail.\n+ :vartype usage_end: datetime\n+ :ivar resource_rate: The marketplace resource rate.\n+ :vartype resource_rate: decimal.Decimal\n+ :ivar offer_name: The type of offer.\n+ :vartype offer_name: str\n+ :ivar resource_group: The name of resource group.\n+ :vartype resource_group: str\n+ :ivar order_number: The order number.\n+ :vartype order_number: str\n+ :ivar instance_name: The name of the resource instance that the usage is\n+ about.\n+ :vartype instance_name: str\n+ :ivar instance_id: The uri of the resource instance that the usage is\n+ about.\n+ :vartype instance_id: str\n+ :ivar currency: The ISO currency in which the meter is charged, for\n+ example, USD.\n+ :vartype currency: str\n+ :ivar consumed_quantity: The quantity of usage.\n+ :vartype consumed_quantity: decimal.Decimal\n+ :ivar unit_of_measure: The unit of measure.\n+ :vartype unit_of_measure: str\n+ :ivar pretax_cost: The amount of cost before tax.\n+ :vartype pretax_cost: decimal.Decimal\n+ :ivar is_estimated: The estimated usage is subject to change.\n+ :vartype is_estimated: bool\n+ :ivar meter_id: The meter id.\n+ :vartype meter_id: str\n+ :ivar subscription_guid: Subscription guid.\n+ :vartype subscription_guid: str\n+ :ivar subscription_name: Subscription name.\n+ :vartype subscription_name: str\n+ :ivar account_name: Account name.\n+ :vartype account_name: str\n+ :ivar department_name: Department name.\n+ :vartype department_name: str\n+ :ivar consumed_service: Consumed service name.\n+ :vartype consumed_service: str\n+ :ivar cost_center: The cost center of this department if it is a\n+ department and a costcenter exists\n+ :vartype cost_center: str\n+ :ivar additional_properties: Additional details of this usage item. By\n+ default this is not populated, unless it's specified in $expand.\n+ :vartype additional_properties: str\n+ :ivar publisher_name: The name of publisher.\n+ :vartype publisher_name: str\n+ :ivar plan_name: The name of plan.\n+ :vartype plan_name: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'id': {'readonly': True},\n+ 'name': {'readonly': True},\n+ 'type': {'readonly': True},\n+ 'tags': {'readonly': True},\n+ 'billing_period_id': {'readonly': True},\n+ 'usage_start': {'readonly': True},\n+ 'usage_end': {'readonly': True},\n+ 'resource_rate': {'readonly': True},\n+ 'offer_name': {'readonly': True},\n+ 'resource_group': {'readonly': True},\n+ 'order_number': {'readonly': True},\n+ 'instance_name': {'readonly': True},\n+ 'instance_id': {'readonly': True},\n+ 'currency': {'readonly': True},\n+ 'consumed_quantity': {'readonly': True},\n+ 'unit_of_measure': {'readonly': True},\n+ 'pretax_cost': {'readonly': True},\n+ 'is_estimated': {'readonly': True},\n+ 'meter_id': {'readonly': True},\n+ 'subscription_guid': {'readonly': True},\n+ 'subscription_name': {'readonly': True},\n+ 'account_name': {'readonly': True},\n+ 'department_name': {'readonly': True},\n+ 'consumed_service': {'readonly': True},\n+ 'cost_center': {'readonly': True},\n+ 'additional_properties': {'readonly': True},\n+ 'publisher_name': {'readonly': True},\n+ 'plan_name': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'id': {'key': 'id', 'type': 'str'},\n+ 'name': {'key': 'name', 'type': 'str'},\n+ 'type': {'key': 'type', 'type': 'str'},\n+ 'tags': {'key': 'tags', 'type': '{str}'},\n+ 'billing_period_id': {'key': 'properties.billingPeriodId', 'type': 'str'},\n+ 'usage_start': {'key': 'properties.usageStart', 'type': 'iso-8601'},\n+ 'usage_end': {'key': 'properties.usageEnd', 'type': 'iso-8601'},\n+ 'resource_rate': {'key': 'properties.resourceRate', 'type': 'decimal'},\n+ 'offer_name': {'key': 'properties.offerName', 'type': 'str'},\n+ 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'},\n+ 'order_number': {'key': 'properties.orderNumber', 'type': 'str'},\n+ 'instance_name': {'key': 'properties.instanceName', 'type': 'str'},\n+ 'instance_id': {'key': 'properties.instanceId', 'type': 'str'},\n+ 'currency': {'key': 'properties.currency', 'type': 'str'},\n+ 'consumed_quantity': {'key': 'properties.consumedQuantity', 'type': 'decimal'},\n+ 'unit_of_measure': {'key': 'properties.unitOfMeasure', 'type': 'str'},\n+ 'pretax_cost': {'key': 'properties.pretaxCost', 'type': 'decimal'},\n+ 'is_estimated': {'key': 'properties.isEstimated', 'type': 'bool'},\n+ 'meter_id': {'key': 'properties.meterId', 'type': 'str'},\n+ 'subscription_guid': {'key': 'properties.subscriptionGuid', 'type': 'str'},\n+ 'subscription_name': {'key': 'properties.subscriptionName', 'type': 'str'},\n+ 'account_name': {'key': 'properties.accountName', 'type': 'str'},\n+ 'department_name': {'key': 'properties.departmentName', 'type': 'str'},\n+ 'consumed_service': {'key': 'properties.consumedService', 'type': 'str'},\n+ 'cost_center': {'key': 'properties.costCenter', 'type': 'str'},\n+ 'additional_properties': {'key': 'properties.additionalProperties', 'type': 'str'},\n+ 'publisher_name': {'key': 'properties.publisherName', 'type': 'str'},\n+ 'plan_name': {'key': 'properties.planName', 'type': 'str'},\n+ }\n+\n+ def __init__(self):\n+ super(Marketplace, self).__init__()\n+ self.billing_period_id = None\n+ self.usage_start = None\n+ self.usage_end = None\n+ self.resource_rate = None\n+ self.offer_name = None\n+ self.resource_group = None\n+ self.order_number = None\n+ self.instance_name = None\n+ self.instance_id = None\n+ self.currency = None\n+ self.consumed_quantity = None\n+ self.unit_of_measure = None\n+ self.pretax_cost = None\n+ self.is_estimated = None\n+ self.meter_id = None\n+ self.subscription_guid = None\n+ self.subscription_name = None\n+ self.account_name = None\n+ self.department_name = None\n+ self.consumed_service = None\n+ self.cost_center = None\n+ self.additional_properties = None\n+ self.publisher_name = None\n+ self.plan_name = None"},{"sha":"d360761aca550436c8a2be210180f36920169c06","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace_paged.py","status":"added","additions":27,"deletions":0,"changes":27,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace_paged.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace_paged.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/marketplace_paged.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,27 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.paging import Paged\n+\n+\n+class MarketplacePaged(Paged):\n+ \"\"\"\n+ A paging container for iterating over a list of :class:`Marketplace ` object\n+ \"\"\"\n+\n+ _attribute_map = {\n+ 'next_link': {'key': 'nextLink', 'type': 'str'},\n+ 'current_page': {'key': 'value', 'type': '[Marketplace]'}\n+ }\n+\n+ def __init__(self, *args, **kwargs):\n+\n+ super(MarketplacePaged, self).__init__(*args, **kwargs)"},{"sha":"61e1ca0ed34df63b0df71d2970b19f7fa8a866bd","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py","status":"added","additions":62,"deletions":0,"changes":62,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,62 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class Notification(Model):\n+ \"\"\"The notification associated with a budget.\n+\n+ :param enabled: The notification is enabled or not.\n+ :type enabled: bool\n+ :param operator: The comparison operator. Possible values include:\n+ 'EqualTo', 'GreaterThan', 'GreaterThanOrEqualTo'\n+ :type operator: str or ~azure.mgmt.consumption.models.OperatorType\n+ :param threshold: Threshold value associated with a notification.\n+ Notification is sent when the cost exceeded the threshold. It is always\n+ percent and has to be between 0 and 1000.\n+ :type threshold: decimal.Decimal\n+ :param contact_emails: Email addresses to send the budget notification to\n+ when the threshold is exceeded.\n+ :type contact_emails: list[str]\n+ :param contact_roles: Contact roles to send the budget notification to\n+ when the threshold is exceeded.\n+ :type contact_roles: list[str]\n+ :param contact_groups: Action groups to send the budget notification to\n+ when the threshold is exceeded.\n+ :type contact_groups: list[str]\n+ \"\"\"\n+\n+ _validation = {\n+ 'enabled': {'required': True},\n+ 'operator': {'required': True},\n+ 'threshold': {'required': True},\n+ 'contact_emails': {'required': True, 'max_items': 50, 'min_items': 1},\n+ 'contact_groups': {'max_items': 50, 'min_items': 0},\n+ }\n+\n+ _attribute_map = {\n+ 'enabled': {'key': 'enabled', 'type': 'bool'},\n+ 'operator': {'key': 'operator', 'type': 'str'},\n+ 'threshold': {'key': 'threshold', 'type': 'decimal'},\n+ 'contact_emails': {'key': 'contactEmails', 'type': '[str]'},\n+ 'contact_roles': {'key': 'contactRoles', 'type': '[str]'},\n+ 'contact_groups': {'key': 'contactGroups', 'type': '[str]'},\n+ }\n+\n+ def __init__(self, enabled, operator, threshold, contact_emails, contact_roles=None, contact_groups=None):\n+ super(Notification, self).__init__()\n+ self.enabled = enabled\n+ self.operator = operator\n+ self.threshold = threshold\n+ self.contact_emails = contact_emails\n+ self.contact_roles = contact_roles\n+ self.contact_groups = contact_groups"},{"sha":"6b201161f1dd7f05fef48e2355c696e882bb029c","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_list_result.py","status":"added","additions":41,"deletions":0,"changes":41,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_list_result.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_list_result.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_list_result.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,41 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class PriceSheetListResult(Model):\n+ \"\"\"price sheet result. It contains the pricesheet associated with billing\n+ period.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar value: Price sheet\n+ :vartype value: object\n+ :ivar next_link: The link (url) to the next page of results.\n+ :vartype next_link: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'value': {'readonly': True},\n+ 'next_link': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'value': {'key': 'value', 'type': 'object'},\n+ 'next_link': {'key': 'nextLink', 'type': 'str'},\n+ }\n+\n+ def __init__(self):\n+ super(PriceSheetListResult, self).__init__()\n+ self.value = None\n+ self.next_link = None"},{"sha":"0f51585aa714c16764b94d5170b6f65e3f4b5ac0","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_model.py","status":"added","additions":88,"deletions":0,"changes":88,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_model.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_model.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_model.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,88 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from .resource import Resource\n+\n+\n+class PriceSheetModel(Resource):\n+ \"\"\"An pricesheet resource.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar id: Resource Id.\n+ :vartype id: str\n+ :ivar name: Resource name.\n+ :vartype name: str\n+ :ivar type: Resource type.\n+ :vartype type: str\n+ :ivar tags: Resource tags.\n+ :vartype tags: dict[str, str]\n+ :ivar billing_period_id: The id of the billing period resource that the\n+ usage belongs to.\n+ :vartype billing_period_id: str\n+ :ivar meter_id: The meter id\n+ :vartype meter_id: str\n+ :ivar meter_details: The details about the meter. By default this is not\n+ populated, unless it's specified in $expand.\n+ :vartype meter_details: ~azure.mgmt.consumption.models.MeterDetails\n+ :ivar unit_of_measure: Unit of measure\n+ :vartype unit_of_measure: str\n+ :ivar included_quantity: Included quality for an offer\n+ :vartype included_quantity: decimal.Decimal\n+ :ivar part_number: Part Number\n+ :vartype part_number: str\n+ :ivar unit_price: Unit Price\n+ :vartype unit_price: decimal.Decimal\n+ :ivar currency_code: Currency Code\n+ :vartype currency_code: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'id': {'readonly': True},\n+ 'name': {'readonly': True},\n+ 'type': {'readonly': True},\n+ 'tags': {'readonly': True},\n+ 'billing_period_id': {'readonly': True},\n+ 'meter_id': {'readonly': True},\n+ 'meter_details': {'readonly': True},\n+ 'unit_of_measure': {'readonly': True},\n+ 'included_quantity': {'readonly': True},\n+ 'part_number': {'readonly': True},\n+ 'unit_price': {'readonly': True},\n+ 'currency_code': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'id': {'key': 'id', 'type': 'str'},\n+ 'name': {'key': 'name', 'type': 'str'},\n+ 'type': {'key': 'type', 'type': 'str'},\n+ 'tags': {'key': 'tags', 'type': '{str}'},\n+ 'billing_period_id': {'key': 'properties.billingPeriodId', 'type': 'str'},\n+ 'meter_id': {'key': 'properties.meterId', 'type': 'str'},\n+ 'meter_details': {'key': 'properties.meterDetails', 'type': 'MeterDetails'},\n+ 'unit_of_measure': {'key': 'properties.unitOfMeasure', 'type': 'str'},\n+ 'included_quantity': {'key': 'properties.includedQuantity', 'type': 'decimal'},\n+ 'part_number': {'key': 'properties.partNumber', 'type': 'str'},\n+ 'unit_price': {'key': 'properties.unitPrice', 'type': 'decimal'},\n+ 'currency_code': {'key': 'properties.currencyCode', 'type': 'str'},\n+ }\n+\n+ def __init__(self):\n+ super(PriceSheetModel, self).__init__()\n+ self.billing_period_id = None\n+ self.meter_id = None\n+ self.meter_details = None\n+ self.unit_of_measure = None\n+ self.included_quantity = None\n+ self.part_number = None\n+ self.unit_price = None\n+ self.currency_code = None"},{"sha":"f6a9a40d22d569970958af165de44c9f84162e47","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py","status":"added","additions":51,"deletions":0,"changes":51,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,51 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class ProxyResource(Model):\n+ \"\"\"The Resource model definition.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar id: Resource Id.\n+ :vartype id: str\n+ :ivar name: Resource name.\n+ :vartype name: str\n+ :ivar type: Resource type.\n+ :vartype type: str\n+ :param e_tag: eTag of the resource. To handle concurrent update scenarion,\n+ this field will be used to determine whether the user is updating the\n+ latest version or not.\n+ :type e_tag: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'id': {'readonly': True},\n+ 'name': {'readonly': True},\n+ 'type': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'id': {'key': 'id', 'type': 'str'},\n+ 'name': {'key': 'name', 'type': 'str'},\n+ 'type': {'key': 'type', 'type': 'str'},\n+ 'e_tag': {'key': 'eTag', 'type': 'str'},\n+ }\n+\n+ def __init__(self, e_tag=None):\n+ super(ProxyResource, self).__init__()\n+ self.id = None\n+ self.name = None\n+ self.type = None\n+ self.e_tag = e_tag"},{"sha":"cb1dff45a8f9ca787f34422829a20b142a1b9339","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py","status":"modified","additions":6,"deletions":0,"changes":6,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -10,13 +10,19 @@\n # --------------------------------------------------------------------------\n \n from .usage_details_operations import UsageDetailsOperations\n+from .marketplaces_operations import MarketplacesOperations\n from .reservations_summaries_operations import ReservationsSummariesOperations\n from .reservations_details_operations import ReservationsDetailsOperations\n+from .budgets_operations import BudgetsOperations\n from .operations import Operations\n+from .price_sheet_operations import PriceSheetOperations\n \n __all__ = [\n 'UsageDetailsOperations',\n+ 'MarketplacesOperations',\n 'ReservationsSummariesOperations',\n 'ReservationsDetailsOperations',\n+ 'BudgetsOperations',\n 'Operations',\n+ 'PriceSheetOperations',\n ]"},{"sha":"38562f5af055bad608bd52aee7804a97040fab44","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py","status":"added","additions":514,"deletions":0,"changes":514,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,514 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+import uuid\n+from msrest.pipeline import ClientRawResponse\n+\n+from .. import models\n+\n+\n+class BudgetsOperations(object):\n+ \"\"\"BudgetsOperations operations.\n+\n+ :param client: Client for service requests.\n+ :param config: Configuration of service client.\n+ :param serializer: An object model serializer.\n+ :param deserializer: An objec model deserializer.\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n+ \"\"\"\n+\n+ models = models\n+\n+ def __init__(self, client, config, serializer, deserializer):\n+\n+ self._client = client\n+ self._serialize = serializer\n+ self._deserialize = deserializer\n+ self.api_version = \"2018-01-31\"\n+\n+ self.config = config\n+\n+ def list(\n+ self, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists all budgets for a subscription.\n+\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of Budget\n+ :rtype:\n+ ~azure.mgmt.consumption.models.BudgetPaged[~azure.mgmt.consumption.models.Budget]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.BudgetPaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.BudgetPaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def list_by_resource_group_name(\n+ self, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists all budgets for a resource group under a subscription.\n+\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of Budget\n+ :rtype:\n+ ~azure.mgmt.consumption.models.BudgetPaged[~azure.mgmt.consumption.models.Budget]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'resourceGroupName': self._serialize.url(\"self.config.resource_group_name\", self.config.resource_group_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.BudgetPaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.BudgetPaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def get(\n+ self, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Gets the budget for a subscription by budget name.\n+\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: Budget or ClientRawResponse if raw=true\n+ :rtype: ~azure.mgmt.consumption.models.Budget or\n+ ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'budgetName': self._serialize.url(\"self.config.budget_name\", self.config.budget_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ deserialized = None\n+\n+ if response.status_code == 200:\n+ deserialized = self._deserialize('Budget', response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(deserialized, response)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def create_or_update(\n+ self, parameters, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"The operation to create or update a budget. Update operation requires\n+ latest eTag to be set in the request mandatorily. You may obtain the\n+ latest eTag by performing a get operation. Create operation does not\n+ require eTag.\n+\n+ :param parameters: Parameters supplied to the Create Budget operation.\n+ :type parameters: ~azure.mgmt.consumption.models.Budget\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of None\n+ :rtype: ~azure.mgmt.consumption.models.Budget[None]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'budgetName': self._serialize.url(\"self.config.budget_name\", self.config.budget_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct body\n+ body_content = self._serialize.body(parameters, 'Budget')\n+\n+ # Construct and send request\n+ request = self._client.put(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, body_content, stream=False, **operation_config)\n+\n+ if response.status_code not in [200, 201]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.Budget(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.Budget(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def delete(\n+ self, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"The operation to delete a budget.\n+\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: None or ClientRawResponse if raw=true\n+ :rtype: None or ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'budgetName': self._serialize.url(\"self.config.budget_name\", self.config.budget_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.delete(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(None, response)\n+ return client_raw_response\n+\n+ def get_by_resource_group_name(\n+ self, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Gets the budget for a resource group under a subscription by budget\n+ name.\n+\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: Budget or ClientRawResponse if raw=true\n+ :rtype: ~azure.mgmt.consumption.models.Budget or\n+ ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'resourceGroupName': self._serialize.url(\"self.config.resource_group_name\", self.config.resource_group_name, 'str'),\n+ 'budgetName': self._serialize.url(\"self.config.budget_name\", self.config.budget_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ deserialized = None\n+\n+ if response.status_code == 200:\n+ deserialized = self._deserialize('Budget', response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(deserialized, response)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def create_or_update_by_resource_group_name(\n+ self, parameters, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"The operation to create or update a budget. Update operation requires\n+ latest eTag to be set in the request mandatorily. You may obtain the\n+ latest eTag by performing a get operation. Create operation does not\n+ require eTag.\n+\n+ :param parameters: Parameters supplied to the Create Budget operation.\n+ :type parameters: ~azure.mgmt.consumption.models.Budget\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of None\n+ :rtype: ~azure.mgmt.consumption.models.Budget[None]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'resourceGroupName': self._serialize.url(\"self.config.resource_group_name\", self.config.resource_group_name, 'str'),\n+ 'budgetName': self._serialize.url(\"self.config.budget_name\", self.config.budget_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct body\n+ body_content = self._serialize.body(parameters, 'Budget')\n+\n+ # Construct and send request\n+ request = self._client.put(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, body_content, stream=False, **operation_config)\n+\n+ if response.status_code not in [200, 201]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.Budget(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.Budget(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def delete_by_resource_group_name(\n+ self, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"The operation to delete a budget.\n+\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: None or ClientRawResponse if raw=true\n+ :rtype: None or ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'resourceGroupName': self._serialize.url(\"self.config.resource_group_name\", self.config.resource_group_name, 'str'),\n+ 'budgetName': self._serialize.url(\"self.config.budget_name\", self.config.budget_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.delete(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(None, response)\n+ return client_raw_response"},{"sha":"e74aa82ad6ec36fee8e4c10903efe7a5d5e9a584","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/marketplaces_operations.py","status":"added","additions":209,"deletions":0,"changes":209,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/marketplaces_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/marketplaces_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/marketplaces_operations.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,209 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+import uuid\n+from msrest.pipeline import ClientRawResponse\n+\n+from .. import models\n+\n+\n+class MarketplacesOperations(object):\n+ \"\"\"MarketplacesOperations operations.\n+\n+ :param client: Client for service requests.\n+ :param config: Configuration of service client.\n+ :param serializer: An object model serializer.\n+ :param deserializer: An objec model deserializer.\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n+ \"\"\"\n+\n+ models = models\n+\n+ def __init__(self, client, config, serializer, deserializer):\n+\n+ self._client = client\n+ self._serialize = serializer\n+ self._deserialize = deserializer\n+ self.api_version = \"2018-01-31\"\n+\n+ self.config = config\n+\n+ def list(\n+ self, filter=None, top=None, skiptoken=None, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists the marketplaces for a scope by subscriptionId. Marketplaces are\n+ available via this API only for May 1, 2014 or later.\n+\n+ :param filter: May be used to filter marketplaces by\n+ properties/usageEnd (Utc time), properties/usageStart (Utc time),\n+ properties/resourceGroup, properties/instanceName or\n+ properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le',\n+ 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.\n+ :type filter: str\n+ :param top: May be used to limit the number of results to the most\n+ recent N marketplaces.\n+ :type top: int\n+ :param skiptoken: Skiptoken is only used if a previous operation\n+ returned a partial result. If a previous response contains a nextLink\n+ element, the value of the nextLink element will include a skiptoken\n+ parameter that specifies a starting point to use for subsequent calls.\n+ :type skiptoken: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of Marketplace\n+ :rtype:\n+ ~azure.mgmt.consumption.models.MarketplacePaged[~azure.mgmt.consumption.models.Marketplace]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ if filter is not None:\n+ query_parameters['$filter'] = self._serialize.query(\"filter\", filter, 'str')\n+ if top is not None:\n+ query_parameters['$top'] = self._serialize.query(\"top\", top, 'int', maximum=1000, minimum=1)\n+ if skiptoken is not None:\n+ query_parameters['$skiptoken'] = self._serialize.query(\"skiptoken\", skiptoken, 'str')\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.MarketplacePaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.MarketplacePaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def list_by_billing_period(\n+ self, billing_period_name, filter=None, top=None, skiptoken=None, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists the marketplaces for a scope by billing period and\n+ subscripotionId. Marketplaces are available via this API only for May\n+ 1, 2014 or later.\n+\n+ :param billing_period_name: Billing Period Name.\n+ :type billing_period_name: str\n+ :param filter: May be used to filter marketplaces by\n+ properties/usageEnd (Utc time), properties/usageStart (Utc time),\n+ properties/resourceGroup, properties/instanceName or\n+ properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le',\n+ 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.\n+ :type filter: str\n+ :param top: May be used to limit the number of results to the most\n+ recent N marketplaces.\n+ :type top: int\n+ :param skiptoken: Skiptoken is only used if a previous operation\n+ returned a partial result. If a previous response contains a nextLink\n+ element, the value of the nextLink element will include a skiptoken\n+ parameter that specifies a starting point to use for subsequent calls.\n+ :type skiptoken: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of Marketplace\n+ :rtype:\n+ ~azure.mgmt.consumption.models.MarketplacePaged[~azure.mgmt.consumption.models.Marketplace]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'billingPeriodName': self._serialize.url(\"billing_period_name\", billing_period_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ if filter is not None:\n+ query_parameters['$filter'] = self._serialize.query(\"filter\", filter, 'str')\n+ if top is not None:\n+ query_parameters['$top'] = self._serialize.query(\"top\", top, 'int', maximum=1000, minimum=1)\n+ if skiptoken is not None:\n+ query_parameters['$skiptoken'] = self._serialize.query(\"skiptoken\", skiptoken, 'str')\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.MarketplacePaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.MarketplacePaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized"},{"sha":"f3efdae1c20868aef1cbad552979edb11f41663f","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -22,7 +22,7 @@ class Operations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,7 +32,7 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n@@ -78,7 +78,7 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"701320c573d314526b127b4b3e5f8233852ad8b1","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py","status":"added","additions":176,"deletions":0,"changes":176,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -0,0 +1,176 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+import uuid\n+from msrest.pipeline import ClientRawResponse\n+\n+from .. import models\n+\n+\n+class PriceSheetOperations(object):\n+ \"\"\"PriceSheetOperations operations.\n+\n+ :param client: Client for service requests.\n+ :param config: Configuration of service client.\n+ :param serializer: An object model serializer.\n+ :param deserializer: An objec model deserializer.\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n+ \"\"\"\n+\n+ models = models\n+\n+ def __init__(self, client, config, serializer, deserializer):\n+\n+ self._client = client\n+ self._serialize = serializer\n+ self._deserialize = deserializer\n+ self.api_version = \"2018-01-31\"\n+\n+ self.config = config\n+\n+ def list(\n+ self, expand=None, skiptoken=None, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists the price sheet for a scope by subscriptionId. Price sheets are\n+ available via this API only for May 1, 2014 or later.\n+\n+ :param expand: May be used to expand the properties/meterDetails\n+ within a price sheet. By default, these fields are not included when\n+ returning price sheet.\n+ :type expand: str\n+ :param skiptoken: Skiptoken is only used if a previous operation\n+ returned a partial result. If a previous response contains a nextLink\n+ element, the value of the nextLink element will include a skiptoken\n+ parameter that specifies a starting point to use for subsequent calls.\n+ :type skiptoken: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: PriceSheetListResult or ClientRawResponse if raw=true\n+ :rtype: ~azure.mgmt.consumption.models.PriceSheetListResult or\n+ ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ if expand is not None:\n+ query_parameters['$expand'] = self._serialize.query(\"expand\", expand, 'str')\n+ if skiptoken is not None:\n+ query_parameters['$skiptoken'] = self._serialize.query(\"skiptoken\", skiptoken, 'str')\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ deserialized = None\n+\n+ if response.status_code == 200:\n+ deserialized = self._deserialize('PriceSheetListResult', response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(deserialized, response)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def list_by_billing_period(\n+ self, billing_period_name, expand=None, skiptoken=None, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists the price sheet for a scope by subscriptionId and billing period.\n+ Price sheets are available via this API only for May 1, 2014 or later.\n+\n+ :param billing_period_name: Billing Period Name.\n+ :type billing_period_name: str\n+ :param expand: May be used to expand the properties/meterDetails\n+ within a price sheet. By default, these fields are not included when\n+ returning price sheet.\n+ :type expand: str\n+ :param skiptoken: Skiptoken is only used if a previous operation\n+ returned a partial result. If a previous response contains a nextLink\n+ element, the value of the nextLink element will include a skiptoken\n+ parameter that specifies a starting point to use for subsequent calls.\n+ :type skiptoken: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: PriceSheetListResult or ClientRawResponse if raw=true\n+ :rtype: ~azure.mgmt.consumption.models.PriceSheetListResult or\n+ ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'billingPeriodName': self._serialize.url(\"billing_period_name\", billing_period_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ if expand is not None:\n+ query_parameters['$expand'] = self._serialize.query(\"expand\", expand, 'str')\n+ if skiptoken is not None:\n+ query_parameters['$skiptoken'] = self._serialize.query(\"skiptoken\", skiptoken, 'str')\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ deserialized = None\n+\n+ if response.status_code == 200:\n+ deserialized = self._deserialize('PriceSheetListResult', response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(deserialized, response)\n+ return client_raw_response\n+\n+ return deserialized"},{"sha":"485bb51bf4eb5333baf96a44f51ae286faabb00c","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py","status":"modified","additions":82,"deletions":12,"changes":94,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -22,7 +22,7 @@ class ReservationsDetailsOperations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,19 +32,16 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n- def list(\n- self, scope, filter, custom_headers=None, raw=False, **operation_config):\n+ def list_by_reservation_order(\n+ self, reservation_order_id, filter, custom_headers=None, raw=False, **operation_config):\n \"\"\"Lists the reservations details for provided date range.\n \n- :param scope: The scope of the reservation details. The scope can be\n- 'providers/Microsoft.Capacity/reservationorders/{ReservationOrderId}'\n- or\n- 'providers/Microsoft.Capacity/reservationorders/{ReservationOrderId}/reservations/{ReservationId}'\n- :type scope: str\n+ :param reservation_order_id: Order Id of the reservation\n+ :type reservation_order_id: str\n :param filter: Filter reservation details by date range. The\n properties/UsageDate for start date and end date. The filter supports\n 'le' and 'ge'\n@@ -64,9 +61,9 @@ def internal_paging(next_link=None, raw=False):\n \n if not next_link:\n # Construct URL\n- url = '/{scope}/providers/Microsoft.Consumption/reservationDetails'\n+ url = '/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails'\n path_format_arguments = {\n- 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True)\n+ 'reservationOrderId': self._serialize.url(\"reservation_order_id\", reservation_order_id, 'str')\n }\n url = self._client.format_url(url, **path_format_arguments)\n \n@@ -92,7 +89,80 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.ReservationDetailsPaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.ReservationDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def list_by_reservation_order_and_reservation(\n+ self, reservation_order_id, reservation_id, filter, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists the reservations details for provided date range.\n+\n+ :param reservation_order_id: Order Id of the reservation\n+ :type reservation_order_id: str\n+ :param reservation_id: Id of the reservation\n+ :type reservation_id: str\n+ :param filter: Filter reservation details by date range. The\n+ properties/UsageDate for start date and end date. The filter supports\n+ 'le' and 'ge'\n+ :type filter: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of ReservationDetails\n+ :rtype:\n+ ~azure.mgmt.consumption.models.ReservationDetailsPaged[~azure.mgmt.consumption.models.ReservationDetails]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails'\n+ path_format_arguments = {\n+ 'reservationOrderId': self._serialize.url(\"reservation_order_id\", reservation_order_id, 'str'),\n+ 'reservationId': self._serialize.url(\"reservation_id\", reservation_id, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['$filter'] = self._serialize.query(\"filter\", filter, 'str')\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"2c1c2b451318b518d75a578a83e49e5597c6be6d","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py","status":"modified","additions":86,"deletions":12,"changes":98,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -22,7 +22,7 @@ class ReservationsSummariesOperations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,19 +32,16 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n- def list(\n- self, scope, grain, filter=None, custom_headers=None, raw=False, **operation_config):\n+ def list_by_reservation_order(\n+ self, reservation_order_id, grain, filter=None, custom_headers=None, raw=False, **operation_config):\n \"\"\"Lists the reservations summaries for daily or monthly grain.\n \n- :param scope: The scope of the reservation summaries. The scope can be\n- 'providers/Microsoft.Capacity/reservationorders/{ReservationOrderId}'\n- or\n- 'providers/Microsoft.Capacity/reservationorders/{ReservationOrderId}/reservations/{ReservationId}'\n- :type scope: str\n+ :param reservation_order_id: Order Id of the reservation\n+ :type reservation_order_id: str\n :param grain: Can be daily or monthly. Possible values include:\n 'DailyGrain', 'MonthlyGrain'\n :type grain: str or ~azure.mgmt.consumption.models.Datagrain\n@@ -66,9 +63,9 @@ def internal_paging(next_link=None, raw=False):\n \n if not next_link:\n # Construct URL\n- url = '/{scope}/providers/Microsoft.Consumption/reservationSummaries'\n+ url = '/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries'\n path_format_arguments = {\n- 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True)\n+ 'reservationOrderId': self._serialize.url(\"reservation_order_id\", reservation_order_id, 'str')\n }\n url = self._client.format_url(url, **path_format_arguments)\n \n@@ -96,7 +93,84 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.ReservationSummariesPaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.ReservationSummariesPaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def list_by_reservation_order_and_reservation(\n+ self, reservation_order_id, reservation_id, grain, filter=None, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists the reservations summaries for daily or monthly grain.\n+\n+ :param reservation_order_id: Order Id of the reservation\n+ :type reservation_order_id: str\n+ :param reservation_id: Id of the reservation\n+ :type reservation_id: str\n+ :param grain: Can be daily or monthly. Possible values include:\n+ 'DailyGrain', 'MonthlyGrain'\n+ :type grain: str or ~azure.mgmt.consumption.models.Datagrain\n+ :param filter: Required only for daily grain. The properties/UsageDate\n+ for start date and end date. The filter supports 'le' and 'ge'\n+ :type filter: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of ReservationSummaries\n+ :rtype:\n+ ~azure.mgmt.consumption.models.ReservationSummariesPaged[~azure.mgmt.consumption.models.ReservationSummaries]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries'\n+ path_format_arguments = {\n+ 'reservationOrderId': self._serialize.url(\"reservation_order_id\", reservation_order_id, 'str'),\n+ 'reservationId': self._serialize.url(\"reservation_id\", reservation_id, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['grain'] = self._serialize.query(\"grain\", grain, 'str')\n+ if filter is not None:\n+ query_parameters['$filter'] = self._serialize.query(\"filter\", filter, 'str')\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"a0f6cd91bd084879c4ac7e89959d2231a4b5795e","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py","status":"modified","additions":100,"deletions":11,"changes":111,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -22,7 +22,7 @@ class UsageDetailsOperations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,20 +32,15 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n def list(\n- self, scope, expand=None, filter=None, skiptoken=None, top=None, custom_headers=None, raw=False, **operation_config):\n+ self, expand=None, filter=None, skiptoken=None, top=None, custom_headers=None, raw=False, **operation_config):\n \"\"\"Lists the usage details for a scope by billing period. Usage details\n are available via this API only for May 1, 2014 or later.\n \n- :param scope: The scope of the usage details. The scope can be\n- '/subscriptions/{subscriptionId}' for a subscription, or\n- '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'\n- for a billing perdiod.\n- :type scope: str\n :param expand: May be used to expand the\n properties/additionalProperties or properties/meterDetails within a\n list of usage details. By default, these fields are not included when\n@@ -80,9 +75,9 @@ def internal_paging(next_link=None, raw=False):\n \n if not next_link:\n # Construct URL\n- url = '/{scope}/providers/Microsoft.Consumption/usageDetails'\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails'\n path_format_arguments = {\n- 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True)\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str')\n }\n url = self._client.format_url(url, **path_format_arguments)\n \n@@ -115,7 +110,101 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.UsageDetailPaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.UsageDetailPaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def list_by_billing_period(\n+ self, billing_period_name, expand=None, filter=None, skiptoken=None, top=None, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists the usage details for a scope by billing period. Usage details\n+ are available via this API only for May 1, 2014 or later.\n+\n+ :param billing_period_name: Billing Period Name.\n+ :type billing_period_name: str\n+ :param expand: May be used to expand the\n+ properties/additionalProperties or properties/meterDetails within a\n+ list of usage details. By default, these fields are not included when\n+ listing usage details.\n+ :type expand: str\n+ :param filter: May be used to filter usageDetails by\n+ properties/usageEnd (Utc time), properties/usageStart (Utc time),\n+ properties/resourceGroup, properties/instanceName or\n+ properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le',\n+ 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.\n+ :type filter: str\n+ :param skiptoken: Skiptoken is only used if a previous operation\n+ returned a partial result. If a previous response contains a nextLink\n+ element, the value of the nextLink element will include a skiptoken\n+ parameter that specifies a starting point to use for subsequent calls.\n+ :type skiptoken: str\n+ :param top: May be used to limit the number of results to the most\n+ recent N usageDetails.\n+ :type top: int\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of UsageDetail\n+ :rtype:\n+ ~azure.mgmt.consumption.models.UsageDetailPaged[~azure.mgmt.consumption.models.UsageDetail]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails'\n+ path_format_arguments = {\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'billingPeriodName': self._serialize.url(\"billing_period_name\", billing_period_name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ if expand is not None:\n+ query_parameters['$expand'] = self._serialize.query(\"expand\", expand, 'str')\n+ if filter is not None:\n+ query_parameters['$filter'] = self._serialize.query(\"filter\", filter, 'str')\n+ if skiptoken is not None:\n+ query_parameters['$skiptoken'] = self._serialize.query(\"skiptoken\", skiptoken, 'str')\n+ if top is not None:\n+ query_parameters['$top'] = self._serialize.query(\"top\", top, 'int', maximum=1000, minimum=1)\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"9c644827672b274106be6000914f998e7e703574","filename":"azure-mgmt-consumption/azure/mgmt/consumption/version.py","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/version.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/3d6c419cd2ade53c240c40db96dbe34957351244/azure-mgmt-consumption/azure/mgmt/consumption/version.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/version.py?ref=3d6c419cd2ade53c240c40db96dbe34957351244","patch":"@@ -9,5 +9,5 @@\n # regenerated.\n # --------------------------------------------------------------------------\n \n-VERSION = \"1.1.0\"\n+VERSION = \"1.2.0\"\n "}] - -https -GET -api.github.com -None -/repos/Azure/azure-sdk-for-python/commits/042b7a5840ff471776bb64e46b50950ee9f84430 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:38 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4773'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"dc862e28bdff24590d33c5d927a64947"'), ('Last-Modified', 'Thu, 25 Jan 2018 19:40:02 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.277675'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1714:97BA:C92467:104F1B5:5AFDF3CA')] -{"sha":"042b7a5840ff471776bb64e46b50950ee9f84430","commit":{"author":{"name":"Azure SDK for Python bot","email":"aspysdk2@microsoft.com","date":"2018-01-25T19:40:02Z"},"committer":{"name":"Azure SDK for Python bot","email":"aspysdk2@microsoft.com","date":"2018-01-25T19:40:02Z"},"message":"Generated from a59b564eca116f99d057c9758d0dd40393ce75b7\n\nIntroduce Pricesheet Arm API","tree":{"sha":"a6d63b3754e7f65c6a4fbed3d3e9c5a2d72ce778","url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/trees/a6d63b3754e7f65c6a4fbed3d3e9c5a2d72ce778"},"url":"https://api.github.com/repos/Azure/azure-sdk-for-python/git/commits/042b7a5840ff471776bb64e46b50950ee9f84430","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null}},"url":"https://api.github.com/repos/Azure/azure-sdk-for-python/commits/042b7a5840ff471776bb64e46b50950ee9f84430","html_url":"https://github.com/Azure/azure-sdk-for-python/commit/042b7a5840ff471776bb64e46b50950ee9f84430","comments_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/commits/042b7a5840ff471776bb64e46b50950ee9f84430/comments","author":{"login":"AutorestCI","id":18218145,"avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"committer":{"login":"AutorestCI","id":18218145,"avatar_url":"https://avatars3.githubusercontent.com/u/18218145?v=4","gravatar_id":"","url":"https://api.github.com/users/AutorestCI","html_url":"https://github.com/AutorestCI","followers_url":"https://api.github.com/users/AutorestCI/followers","following_url":"https://api.github.com/users/AutorestCI/following{/other_user}","gists_url":"https://api.github.com/users/AutorestCI/gists{/gist_id}","starred_url":"https://api.github.com/users/AutorestCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutorestCI/subscriptions","organizations_url":"https://api.github.com/users/AutorestCI/orgs","repos_url":"https://api.github.com/users/AutorestCI/repos","events_url":"https://api.github.com/users/AutorestCI/events{/privacy}","received_events_url":"https://api.github.com/users/AutorestCI/received_events","type":"User","site_admin":false},"parents":[{"sha":"f4715da4f929733b2b95c03142512f85ae8728a5","url":"https://api.github.com/repos/Azure/azure-sdk-for-python/commits/f4715da4f929733b2b95c03142512f85ae8728a5","html_url":"https://github.com/Azure/azure-sdk-for-python/commit/f4715da4f929733b2b95c03142512f85ae8728a5"}],"stats":{"total":985,"additions":967,"deletions":18},"files":[{"sha":"55432c5a7edf83b2ce128aa764edf18e8bfb3149","filename":"azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py","status":"modified","additions":21,"deletions":4,"changes":25,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -16,7 +16,9 @@\n from .operations.usage_details_operations import UsageDetailsOperations\n from .operations.reservations_summaries_operations import ReservationsSummariesOperations\n from .operations.reservations_details_operations import ReservationsDetailsOperations\n+from .operations.budgets_operations import BudgetsOperations\n from .operations.operations import Operations\n+from .operations.price_sheet_operations import PriceSheetOperations\n from . import models\n \n \n@@ -30,16 +32,20 @@ class ConsumptionManagementClientConfiguration(AzureConfiguration):\n object`\n :param subscription_id: Azure Subscription ID.\n :type subscription_id: str\n+ :param name: Budget name.\n+ :type name: str\n :param str base_url: Service URL\n \"\"\"\n \n def __init__(\n- self, credentials, subscription_id, base_url=None):\n+ self, credentials, subscription_id, name, base_url=None):\n \n if credentials is None:\n raise ValueError(\"Parameter 'credentials' must not be None.\")\n if subscription_id is None:\n raise ValueError(\"Parameter 'subscription_id' must not be None.\")\n+ if name is None:\n+ raise ValueError(\"Parameter 'name' must not be None.\")\n if not base_url:\n base_url = 'https://management.azure.com'\n \n@@ -50,6 +56,7 @@ def __init__(\n \n self.credentials = credentials\n self.subscription_id = subscription_id\n+ self.name = name\n \n \n class ConsumptionManagementClient(object):\n@@ -64,25 +71,31 @@ class ConsumptionManagementClient(object):\n :vartype reservations_summaries: azure.mgmt.consumption.operations.ReservationsSummariesOperations\n :ivar reservations_details: ReservationsDetails operations\n :vartype reservations_details: azure.mgmt.consumption.operations.ReservationsDetailsOperations\n+ :ivar budgets: Budgets operations\n+ :vartype budgets: azure.mgmt.consumption.operations.BudgetsOperations\n :ivar operations: Operations operations\n :vartype operations: azure.mgmt.consumption.operations.Operations\n+ :ivar price_sheet: PriceSheet operations\n+ :vartype price_sheet: azure.mgmt.consumption.operations.PriceSheetOperations\n \n :param credentials: Credentials needed for the client to connect to Azure.\n :type credentials: :mod:`A msrestazure Credentials\n object`\n :param subscription_id: Azure Subscription ID.\n :type subscription_id: str\n+ :param name: Budget name.\n+ :type name: str\n :param str base_url: Service URL\n \"\"\"\n \n def __init__(\n- self, credentials, subscription_id, base_url=None):\n+ self, credentials, subscription_id, name, base_url=None):\n \n- self.config = ConsumptionManagementClientConfiguration(credentials, subscription_id, base_url)\n+ self.config = ConsumptionManagementClientConfiguration(credentials, subscription_id, name, base_url)\n self._client = ServiceClient(self.config.credentials, self.config)\n \n client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}\n- self.api_version = '2017-11-30'\n+ self.api_version = '2018-01-31'\n self._serialize = Serializer(client_models)\n self._deserialize = Deserializer(client_models)\n \n@@ -92,5 +105,9 @@ def __init__(\n self._client, self.config, self._serialize, self._deserialize)\n self.reservations_details = ReservationsDetailsOperations(\n self._client, self.config, self._serialize, self._deserialize)\n+ self.budgets = BudgetsOperations(\n+ self._client, self.config, self._serialize, self._deserialize)\n self.operations = Operations(\n self._client, self.config, self._serialize, self._deserialize)\n+ self.price_sheet = PriceSheetOperations(\n+ self._client, self.config, self._serialize, self._deserialize)"},{"sha":"2565b46a9d2b4dc2df7fa591699f866b2f496d1b","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py","status":"modified","additions":24,"deletions":0,"changes":24,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/__init__.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -13,16 +13,28 @@\n from .usage_detail import UsageDetail\n from .reservation_summaries import ReservationSummaries\n from .reservation_details import ReservationDetails\n+from .budget_time_period import BudgetTimePeriod\n+from .filters import Filters\n+from .current_spend import CurrentSpend\n+from .notification import Notification\n+from .budget import Budget\n from .error_details import ErrorDetails\n from .error_response import ErrorResponse, ErrorResponseException\n from .operation_display import OperationDisplay\n from .operation import Operation\n from .resource import Resource\n+from .proxy_resource import ProxyResource\n+from .price_sheet import PriceSheet\n from .usage_detail_paged import UsageDetailPaged\n from .reservation_summaries_paged import ReservationSummariesPaged\n from .reservation_details_paged import ReservationDetailsPaged\n+from .budget_paged import BudgetPaged\n from .operation_paged import OperationPaged\n+from .price_sheet_paged import PriceSheetPaged\n from .consumption_management_client_enums import (\n+ CategoryType,\n+ TimeGrainType,\n+ OperatorType,\n Datagrain,\n )\n \n@@ -31,14 +43,26 @@\n 'UsageDetail',\n 'ReservationSummaries',\n 'ReservationDetails',\n+ 'BudgetTimePeriod',\n+ 'Filters',\n+ 'CurrentSpend',\n+ 'Notification',\n+ 'Budget',\n 'ErrorDetails',\n 'ErrorResponse', 'ErrorResponseException',\n 'OperationDisplay',\n 'Operation',\n 'Resource',\n+ 'ProxyResource',\n+ 'PriceSheet',\n 'UsageDetailPaged',\n 'ReservationSummariesPaged',\n 'ReservationDetailsPaged',\n+ 'BudgetPaged',\n 'OperationPaged',\n+ 'PriceSheetPaged',\n+ 'CategoryType',\n+ 'TimeGrainType',\n+ 'OperatorType',\n 'Datagrain',\n ]"},{"sha":"f6485d49266ddf2734c02ab55dceb9aba94bfe0a","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py","status":"added","additions":91,"deletions":0,"changes":91,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/budget.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,91 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from .proxy_resource import ProxyResource\n+\n+\n+class Budget(ProxyResource):\n+ \"\"\"A budget resource.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar id: Resource Id.\n+ :vartype id: str\n+ :ivar name: Resource name.\n+ :vartype name: str\n+ :ivar type: Resource type.\n+ :vartype type: str\n+ :param e_tag: eTag of the resource. To handle concurrent update scenarion,\n+ this field will be used to determine whether the user is updating the\n+ latest version or not.\n+ :type e_tag: str\n+ :param category: The category of the budget, whether the budget tracks\n+ cost or usage. Possible values include: 'Cost', 'Usage'\n+ :type category: str or ~azure.mgmt.consumption.models.CategoryType\n+ :param amount: The total amount of cost to track with the budget\n+ :type amount: decimal.Decimal\n+ :param time_grain: The time covered by a budget. Tracking of the amount\n+ will be reset based on the time grain. Possible values include: 'Monthly',\n+ 'Quarterly', 'Annually'\n+ :type time_grain: str or ~azure.mgmt.consumption.models.TimeGrainType\n+ :param time_period: Has start and end date of the budget. The start date\n+ must be first of the month and should be less than the end date. Budget\n+ start date must be on or after June 1, 2017. Future start date should not\n+ be more than three months. Past start date should be selected within the\n+ timegrain preiod. There are no restrictions on the end date.\n+ :type time_period: ~azure.mgmt.consumption.models.BudgetTimePeriod\n+ :param filters: May be used to filter budgets by resource group, resource,\n+ or meter.\n+ :type filters: ~azure.mgmt.consumption.models.Filters\n+ :ivar current_spend: The current amount of cost which is being tracked for\n+ a budget.\n+ :vartype current_spend: ~azure.mgmt.consumption.models.CurrentSpend\n+ :param notifications: Dictionary of notifications associated with the\n+ budget. Budget can have up to five notifications.\n+ :type notifications: dict[str,\n+ ~azure.mgmt.consumption.models.Notification]\n+ \"\"\"\n+\n+ _validation = {\n+ 'id': {'readonly': True},\n+ 'name': {'readonly': True},\n+ 'type': {'readonly': True},\n+ 'category': {'required': True},\n+ 'amount': {'required': True},\n+ 'time_grain': {'required': True},\n+ 'time_period': {'required': True},\n+ 'current_spend': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'id': {'key': 'id', 'type': 'str'},\n+ 'name': {'key': 'name', 'type': 'str'},\n+ 'type': {'key': 'type', 'type': 'str'},\n+ 'e_tag': {'key': 'eTag', 'type': 'str'},\n+ 'category': {'key': 'properties.category', 'type': 'str'},\n+ 'amount': {'key': 'properties.amount', 'type': 'decimal'},\n+ 'time_grain': {'key': 'properties.timeGrain', 'type': 'str'},\n+ 'time_period': {'key': 'properties.timePeriod', 'type': 'BudgetTimePeriod'},\n+ 'filters': {'key': 'properties.filters', 'type': 'Filters'},\n+ 'current_spend': {'key': 'properties.currentSpend', 'type': 'CurrentSpend'},\n+ 'notifications': {'key': 'properties.notifications', 'type': '{Notification}'},\n+ }\n+\n+ def __init__(self, category, amount, time_grain, time_period, e_tag=None, filters=None, notifications=None):\n+ super(Budget, self).__init__(e_tag=e_tag)\n+ self.category = category\n+ self.amount = amount\n+ self.time_grain = time_grain\n+ self.time_period = time_period\n+ self.filters = filters\n+ self.current_spend = None\n+ self.notifications = notifications"},{"sha":"2668382253e2d7aaefb8665a466d2482193e0246","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py","status":"added","additions":27,"deletions":0,"changes":27,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_paged.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,27 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.paging import Paged\n+\n+\n+class BudgetPaged(Paged):\n+ \"\"\"\n+ A paging container for iterating over a list of :class:`Budget ` object\n+ \"\"\"\n+\n+ _attribute_map = {\n+ 'next_link': {'key': 'nextLink', 'type': 'str'},\n+ 'current_page': {'key': 'value', 'type': '[Budget]'}\n+ }\n+\n+ def __init__(self, *args, **kwargs):\n+\n+ super(BudgetPaged, self).__init__(*args, **kwargs)"},{"sha":"2b1c0e78418a1deb6b6147fc90ea53f1a03256d0","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py","status":"added","additions":37,"deletions":0,"changes":37,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/budget_time_period.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,37 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class BudgetTimePeriod(Model):\n+ \"\"\"The start and end date for a budget.\n+\n+ :param start_date: The start date for the budget.\n+ :type start_date: datetime\n+ :param end_date: The end date for the budget. If not provided, we default\n+ this to 10 years from the start date.\n+ :type end_date: datetime\n+ \"\"\"\n+\n+ _validation = {\n+ 'start_date': {'required': True},\n+ }\n+\n+ _attribute_map = {\n+ 'start_date': {'key': 'startDate', 'type': 'iso-8601'},\n+ 'end_date': {'key': 'endDate', 'type': 'iso-8601'},\n+ }\n+\n+ def __init__(self, start_date, end_date=None):\n+ super(BudgetTimePeriod, self).__init__()\n+ self.start_date = start_date\n+ self.end_date = end_date"},{"sha":"bb0db82f76b32c1d02cca1de69b0ecc49b3b548b","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py","status":"modified","additions":20,"deletions":0,"changes":20,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/consumption_management_client_enums.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -12,6 +12,26 @@\n from enum import Enum\n \n \n+class CategoryType(Enum):\n+\n+ cost = \"Cost\"\n+ usage = \"Usage\"\n+\n+\n+class TimeGrainType(Enum):\n+\n+ monthly = \"Monthly\"\n+ quarterly = \"Quarterly\"\n+ annually = \"Annually\"\n+\n+\n+class OperatorType(Enum):\n+\n+ equal_to = \"EqualTo\"\n+ greater_than = \"GreaterThan\"\n+ greater_than_or_equal_to = \"GreaterThanOrEqualTo\"\n+\n+\n class Datagrain(Enum):\n \n daily_grain = \"daily\""},{"sha":"839c286b104079f531a4b130f3e01082d63d08ac","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py","status":"added","additions":41,"deletions":0,"changes":41,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/current_spend.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,41 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class CurrentSpend(Model):\n+ \"\"\"The current amount of cost which is being tracked for a budget.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar amount: The total amount of cost which is being tracked by the\n+ budget.\n+ :vartype amount: decimal.Decimal\n+ :ivar unit: The unit of measure for the budget amount.\n+ :vartype unit: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'amount': {'readonly': True},\n+ 'unit': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'amount': {'key': 'amount', 'type': 'decimal'},\n+ 'unit': {'key': 'unit', 'type': 'str'},\n+ }\n+\n+ def __init__(self):\n+ super(CurrentSpend, self).__init__()\n+ self.amount = None\n+ self.unit = None"},{"sha":"dc010a065900621f02b77dfe1b389071e597fd73","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py","status":"added","additions":44,"deletions":0,"changes":44,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/filters.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,44 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class Filters(Model):\n+ \"\"\"May be used to filter budgets by resource group, resource, or meter.\n+\n+ :param resource_groups: The list of filters on resource groups, allowed at\n+ subscription level only.\n+ :type resource_groups: list[str]\n+ :param resources: The list of filters on resources.\n+ :type resources: list[str]\n+ :param meters: The list of filters on meters, mandatory for budgets of\n+ usage category.\n+ :type meters: list[str]\n+ \"\"\"\n+\n+ _validation = {\n+ 'resource_groups': {'max_items': 10, 'min_items': 0},\n+ 'resources': {'max_items': 10, 'min_items': 0},\n+ 'meters': {'max_items': 10, 'min_items': 0},\n+ }\n+\n+ _attribute_map = {\n+ 'resource_groups': {'key': 'resourceGroups', 'type': '[str]'},\n+ 'resources': {'key': 'resources', 'type': '[str]'},\n+ 'meters': {'key': 'meters', 'type': '[str]'},\n+ }\n+\n+ def __init__(self, resource_groups=None, resources=None, meters=None):\n+ super(Filters, self).__init__()\n+ self.resource_groups = resource_groups\n+ self.resources = resources\n+ self.meters = meters"},{"sha":"61e1ca0ed34df63b0df71d2970b19f7fa8a866bd","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py","status":"added","additions":62,"deletions":0,"changes":62,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/notification.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,62 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class Notification(Model):\n+ \"\"\"The notification associated with a budget.\n+\n+ :param enabled: The notification is enabled or not.\n+ :type enabled: bool\n+ :param operator: The comparison operator. Possible values include:\n+ 'EqualTo', 'GreaterThan', 'GreaterThanOrEqualTo'\n+ :type operator: str or ~azure.mgmt.consumption.models.OperatorType\n+ :param threshold: Threshold value associated with a notification.\n+ Notification is sent when the cost exceeded the threshold. It is always\n+ percent and has to be between 0 and 1000.\n+ :type threshold: decimal.Decimal\n+ :param contact_emails: Email addresses to send the budget notification to\n+ when the threshold is exceeded.\n+ :type contact_emails: list[str]\n+ :param contact_roles: Contact roles to send the budget notification to\n+ when the threshold is exceeded.\n+ :type contact_roles: list[str]\n+ :param contact_groups: Action groups to send the budget notification to\n+ when the threshold is exceeded.\n+ :type contact_groups: list[str]\n+ \"\"\"\n+\n+ _validation = {\n+ 'enabled': {'required': True},\n+ 'operator': {'required': True},\n+ 'threshold': {'required': True},\n+ 'contact_emails': {'required': True, 'max_items': 50, 'min_items': 1},\n+ 'contact_groups': {'max_items': 50, 'min_items': 0},\n+ }\n+\n+ _attribute_map = {\n+ 'enabled': {'key': 'enabled', 'type': 'bool'},\n+ 'operator': {'key': 'operator', 'type': 'str'},\n+ 'threshold': {'key': 'threshold', 'type': 'decimal'},\n+ 'contact_emails': {'key': 'contactEmails', 'type': '[str]'},\n+ 'contact_roles': {'key': 'contactRoles', 'type': '[str]'},\n+ 'contact_groups': {'key': 'contactGroups', 'type': '[str]'},\n+ }\n+\n+ def __init__(self, enabled, operator, threshold, contact_emails, contact_roles=None, contact_groups=None):\n+ super(Notification, self).__init__()\n+ self.enabled = enabled\n+ self.operator = operator\n+ self.threshold = threshold\n+ self.contact_emails = contact_emails\n+ self.contact_roles = contact_roles\n+ self.contact_groups = contact_groups"},{"sha":"bc5f89b78fbeb0a81a93d089f3a640f8e63ff3a2","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet.py","status":"added","additions":88,"deletions":0,"changes":88,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,88 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from .resource import Resource\n+\n+\n+class PriceSheet(Resource):\n+ \"\"\"An pricesheet resource.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar id: Resource Id.\n+ :vartype id: str\n+ :ivar name: Resource name.\n+ :vartype name: str\n+ :ivar type: Resource type.\n+ :vartype type: str\n+ :ivar tags: Resource tags.\n+ :vartype tags: dict[str, str]\n+ :ivar billing_period_id: The id of the billing period resource that the\n+ usage belongs to.\n+ :vartype billing_period_id: str\n+ :ivar meter_id: The meter id\n+ :vartype meter_id: str\n+ :ivar meter_details: The details about the meter. By default this is not\n+ populated, unless it's specified in $expand.\n+ :vartype meter_details: ~azure.mgmt.consumption.models.MeterDetails\n+ :ivar unit_of_measure: Unit of measure\n+ :vartype unit_of_measure: str\n+ :ivar included_quantity: Included quality for an offer\n+ :vartype included_quantity: decimal.Decimal\n+ :ivar part_number: Part Number\n+ :vartype part_number: str\n+ :ivar unit_price: Unit Price\n+ :vartype unit_price: decimal.Decimal\n+ :ivar currency_code: Currency Code\n+ :vartype currency_code: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'id': {'readonly': True},\n+ 'name': {'readonly': True},\n+ 'type': {'readonly': True},\n+ 'tags': {'readonly': True},\n+ 'billing_period_id': {'readonly': True},\n+ 'meter_id': {'readonly': True},\n+ 'meter_details': {'readonly': True},\n+ 'unit_of_measure': {'readonly': True},\n+ 'included_quantity': {'readonly': True},\n+ 'part_number': {'readonly': True},\n+ 'unit_price': {'readonly': True},\n+ 'currency_code': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'id': {'key': 'id', 'type': 'str'},\n+ 'name': {'key': 'name', 'type': 'str'},\n+ 'type': {'key': 'type', 'type': 'str'},\n+ 'tags': {'key': 'tags', 'type': '{str}'},\n+ 'billing_period_id': {'key': 'properties.billingPeriodId', 'type': 'str'},\n+ 'meter_id': {'key': 'properties.meterId', 'type': 'str'},\n+ 'meter_details': {'key': 'properties.meterDetails', 'type': 'MeterDetails'},\n+ 'unit_of_measure': {'key': 'properties.unitOfMeasure', 'type': 'str'},\n+ 'included_quantity': {'key': 'properties.includedQuantity', 'type': 'decimal'},\n+ 'part_number': {'key': 'properties.partNumber', 'type': 'str'},\n+ 'unit_price': {'key': 'properties.unitPrice', 'type': 'decimal'},\n+ 'currency_code': {'key': 'properties.currencyCode', 'type': 'str'},\n+ }\n+\n+ def __init__(self):\n+ super(PriceSheet, self).__init__()\n+ self.billing_period_id = None\n+ self.meter_id = None\n+ self.meter_details = None\n+ self.unit_of_measure = None\n+ self.included_quantity = None\n+ self.part_number = None\n+ self.unit_price = None\n+ self.currency_code = None"},{"sha":"5dfe48207a52fc6efd11d8a2108a89bbed439301","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_paged.py","status":"added","additions":27,"deletions":0,"changes":27,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_paged.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_paged.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/price_sheet_paged.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,27 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.paging import Paged\n+\n+\n+class PriceSheetPaged(Paged):\n+ \"\"\"\n+ A paging container for iterating over a list of :class:`PriceSheet ` object\n+ \"\"\"\n+\n+ _attribute_map = {\n+ 'next_link': {'key': 'nextLink', 'type': 'str'},\n+ 'current_page': {'key': 'value', 'type': '[PriceSheet]'}\n+ }\n+\n+ def __init__(self, *args, **kwargs):\n+\n+ super(PriceSheetPaged, self).__init__(*args, **kwargs)"},{"sha":"f6a9a40d22d569970958af165de44c9f84162e47","filename":"azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py","status":"added","additions":51,"deletions":0,"changes":51,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/models/proxy_resource.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,51 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+from msrest.serialization import Model\n+\n+\n+class ProxyResource(Model):\n+ \"\"\"The Resource model definition.\n+\n+ Variables are only populated by the server, and will be ignored when\n+ sending a request.\n+\n+ :ivar id: Resource Id.\n+ :vartype id: str\n+ :ivar name: Resource name.\n+ :vartype name: str\n+ :ivar type: Resource type.\n+ :vartype type: str\n+ :param e_tag: eTag of the resource. To handle concurrent update scenarion,\n+ this field will be used to determine whether the user is updating the\n+ latest version or not.\n+ :type e_tag: str\n+ \"\"\"\n+\n+ _validation = {\n+ 'id': {'readonly': True},\n+ 'name': {'readonly': True},\n+ 'type': {'readonly': True},\n+ }\n+\n+ _attribute_map = {\n+ 'id': {'key': 'id', 'type': 'str'},\n+ 'name': {'key': 'name', 'type': 'str'},\n+ 'type': {'key': 'type', 'type': 'str'},\n+ 'e_tag': {'key': 'eTag', 'type': 'str'},\n+ }\n+\n+ def __init__(self, e_tag=None):\n+ super(ProxyResource, self).__init__()\n+ self.id = None\n+ self.name = None\n+ self.type = None\n+ self.e_tag = e_tag"},{"sha":"f791e0bc747d0bcd880175ab41f6f1a94f599bb1","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py","status":"modified","additions":4,"deletions":0,"changes":4,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/__init__.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -12,11 +12,15 @@\n from .usage_details_operations import UsageDetailsOperations\n from .reservations_summaries_operations import ReservationsSummariesOperations\n from .reservations_details_operations import ReservationsDetailsOperations\n+from .budgets_operations import BudgetsOperations\n from .operations import Operations\n+from .price_sheet_operations import PriceSheetOperations\n \n __all__ = [\n 'UsageDetailsOperations',\n 'ReservationsSummariesOperations',\n 'ReservationsDetailsOperations',\n+ 'BudgetsOperations',\n 'Operations',\n+ 'PriceSheetOperations',\n ]"},{"sha":"1694905cc3b44bf71f17a69479734d1a90f0128a","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py","status":"added","additions":297,"deletions":0,"changes":297,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/budgets_operations.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,297 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+import uuid\n+from msrest.pipeline import ClientRawResponse\n+\n+from .. import models\n+\n+\n+class BudgetsOperations(object):\n+ \"\"\"BudgetsOperations operations.\n+\n+ :param client: Client for service requests.\n+ :param config: Configuration of service client.\n+ :param serializer: An object model serializer.\n+ :param deserializer: An objec model deserializer.\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n+ \"\"\"\n+\n+ models = models\n+\n+ def __init__(self, client, config, serializer, deserializer):\n+\n+ self._client = client\n+ self._serialize = serializer\n+ self._deserialize = deserializer\n+ self.api_version = \"2018-01-31\"\n+\n+ self.config = config\n+\n+ def list(\n+ self, scope, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Lists all budgets for a scope.\n+\n+ :param scope: The scope of the budgets. The scope can be\n+ 'subscriptions/{subscriptionId}' for a subscription, or\n+ 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}' for a\n+ resource group under a subscription.\n+ :type scope: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of Budget\n+ :rtype:\n+ ~azure.mgmt.consumption.models.BudgetPaged[~azure.mgmt.consumption.models.Budget]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/{scope}/providers/Microsoft.Consumption/budgets'\n+ path_format_arguments = {\n+ 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True),\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.BudgetPaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.BudgetPaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def get(\n+ self, scope, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Gets the budget for a scope by budget name.\n+\n+ :param scope: The scope of the budgets. The scope can be\n+ 'subscriptions/{subscriptionId}' for a subscription, or\n+ 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}' for a\n+ resource group under a subscription.\n+ :type scope: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: Budget or ClientRawResponse if raw=true\n+ :rtype: ~azure.mgmt.consumption.models.Budget or\n+ ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/{scope}/providers/Microsoft.Consumption/budgets/{name}'\n+ path_format_arguments = {\n+ 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True),\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'name': self._serialize.url(\"self.config.name\", self.config.name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ deserialized = None\n+\n+ if response.status_code == 200:\n+ deserialized = self._deserialize('Budget', response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(deserialized, response)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def create_or_update(\n+ self, scope, parameters, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"The operation to create or update a budget. Update operation requires\n+ latest eTag to be set in the request mandatorily. You may obtain the\n+ latest eTag by performing a get operation. Create operation does not\n+ require eTag.\n+\n+ :param scope: The scope of the budgets. The scope can be\n+ 'subscriptions/{subscriptionId}' for a subscription, or\n+ 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}' for a\n+ resource group under a subscription.\n+ :type scope: str\n+ :param parameters: Parameters supplied to the Create Budget operation.\n+ :type parameters: ~azure.mgmt.consumption.models.Budget\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of None\n+ :rtype: ~azure.mgmt.consumption.models.Budget[None]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/{scope}/providers/Microsoft.Consumption/budgets/{name}'\n+ path_format_arguments = {\n+ 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True),\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'name': self._serialize.url(\"self.config.name\", self.config.name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct body\n+ body_content = self._serialize.body(parameters, 'Budget')\n+\n+ # Construct and send request\n+ request = self._client.put(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, body_content, stream=False, **operation_config)\n+\n+ if response.status_code not in [200, 201]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.Budget(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.Budget(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized\n+\n+ def delete(\n+ self, scope, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"The operation to delete a budget.\n+\n+ :param scope: The scope of the budgets. The scope can be\n+ 'subscriptions/{subscriptionId}' for a subscription, or\n+ 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}' for a\n+ resource group under a subscription.\n+ :type scope: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: None or ClientRawResponse if raw=true\n+ :rtype: None or ~msrest.pipeline.ClientRawResponse\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ # Construct URL\n+ url = '/{scope}/providers/Microsoft.Consumption/budgets/{name}'\n+ path_format_arguments = {\n+ 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True),\n+ 'subscriptionId': self._serialize.url(\"self.config.subscription_id\", self.config.subscription_id, 'str'),\n+ 'name': self._serialize.url(\"self.config.name\", self.config.name, 'str')\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.delete(url, query_parameters)\n+ response = self._client.send(request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ if raw:\n+ client_raw_response = ClientRawResponse(None, response)\n+ return client_raw_response"},{"sha":"f3efdae1c20868aef1cbad552979edb11f41663f","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/operations.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -22,7 +22,7 @@ class Operations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,7 +32,7 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n@@ -78,7 +78,7 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"d5663fb7895a1f04d509f50a5821dbe9b94704dc","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py","status":"added","additions":119,"deletions":0,"changes":119,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/price_sheet_operations.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -0,0 +1,119 @@\n+# coding=utf-8\n+# --------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+#\n+# Code generated by Microsoft (R) AutoRest Code Generator.\n+# Changes may cause incorrect behavior and will be lost if the code is\n+# regenerated.\n+# --------------------------------------------------------------------------\n+\n+import uuid\n+from msrest.pipeline import ClientRawResponse\n+\n+from .. import models\n+\n+\n+class PriceSheetOperations(object):\n+ \"\"\"PriceSheetOperations operations.\n+\n+ :param client: Client for service requests.\n+ :param config: Configuration of service client.\n+ :param serializer: An object model serializer.\n+ :param deserializer: An objec model deserializer.\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n+ \"\"\"\n+\n+ models = models\n+\n+ def __init__(self, client, config, serializer, deserializer):\n+\n+ self._client = client\n+ self._serialize = serializer\n+ self._deserialize = deserializer\n+ self.api_version = \"2018-01-31\"\n+\n+ self.config = config\n+\n+ def list(\n+ self, scope, expand=None, skiptoken=None, custom_headers=None, raw=False, **operation_config):\n+ \"\"\"Returns the price sheet associated with subscription guid, for a scope\n+ by billing period.\n+\n+ :param scope: The scope of the price sheet. The scope can be\n+ '/subscriptions/{subscriptionId}' for a subscription, or\n+ '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodId}'\n+ for a billing period.\n+ :type scope: str\n+ :param expand: May be used to expand the properties/meterDetails\n+ within a price sheet. By default, these fields are not included when\n+ returning price sheet.\n+ :type expand: str\n+ :param skiptoken: Skiptoken is only used if a previous operation\n+ returned a partial result. If a previous response contains a nextLink\n+ element, the value of the nextLink element will include a skiptoken\n+ parameter that specifies a starting point to use for subsequent calls.\n+ :type skiptoken: str\n+ :param dict custom_headers: headers that will be added to the request\n+ :param bool raw: returns the direct response alongside the\n+ deserialized response\n+ :param operation_config: :ref:`Operation configuration\n+ overrides`.\n+ :return: An iterator like instance of PriceSheet\n+ :rtype:\n+ ~azure.mgmt.consumption.models.PriceSheetPaged[~azure.mgmt.consumption.models.PriceSheet]\n+ :raises:\n+ :class:`ErrorResponseException`\n+ \"\"\"\n+ def internal_paging(next_link=None, raw=False):\n+\n+ if not next_link:\n+ # Construct URL\n+ url = '/{scope}/providers/Microsoft.Consumption/pricesheets/default'\n+ path_format_arguments = {\n+ 'scope': self._serialize.url(\"scope\", scope, 'str', skip_quote=True)\n+ }\n+ url = self._client.format_url(url, **path_format_arguments)\n+\n+ # Construct parameters\n+ query_parameters = {}\n+ if expand is not None:\n+ query_parameters['$expand'] = self._serialize.query(\"expand\", expand, 'str')\n+ if skiptoken is not None:\n+ query_parameters['$skiptoken'] = self._serialize.query(\"skiptoken\", skiptoken, 'str')\n+ query_parameters['api-version'] = self._serialize.query(\"self.api_version\", self.api_version, 'str')\n+\n+ else:\n+ url = next_link\n+ query_parameters = {}\n+\n+ # Construct headers\n+ header_parameters = {}\n+ header_parameters['Content-Type'] = 'application/json; charset=utf-8'\n+ if self.config.generate_client_request_id:\n+ header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())\n+ if custom_headers:\n+ header_parameters.update(custom_headers)\n+ if self.config.accept_language is not None:\n+ header_parameters['accept-language'] = self._serialize.header(\"self.config.accept_language\", self.config.accept_language, 'str')\n+\n+ # Construct and send request\n+ request = self._client.get(url, query_parameters)\n+ response = self._client.send(\n+ request, header_parameters, stream=False, **operation_config)\n+\n+ if response.status_code not in [200]:\n+ raise models.ErrorResponseException(self._deserialize, response)\n+\n+ return response\n+\n+ # Deserialize response\n+ deserialized = models.PriceSheetPaged(internal_paging, self._deserialize.dependencies)\n+\n+ if raw:\n+ header_dict = {}\n+ client_raw_response = models.PriceSheetPaged(internal_paging, self._deserialize.dependencies, header_dict)\n+ return client_raw_response\n+\n+ return deserialized"},{"sha":"300e09f55c73071474db4e279693c0d4eef7d4db","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_details_operations.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -22,7 +22,7 @@ class ReservationsDetailsOperations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,7 +32,7 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n@@ -92,7 +92,7 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"2c5124d9e9e4263cb4b1279bd8347fb627d199c5","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/reservations_summaries_operations.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -22,7 +22,7 @@ class ReservationsSummariesOperations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,7 +32,7 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n@@ -96,7 +96,7 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"69abfd9386466b0d517e293a16264e8082e42147","filename":"azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py","status":"modified","additions":4,"deletions":4,"changes":8,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/operations/usage_details_operations.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -22,7 +22,7 @@ class UsageDetailsOperations(object):\n :param config: Configuration of service client.\n :param serializer: An object model serializer.\n :param deserializer: An objec model deserializer.\n- :ivar api_version: Version of the API to be used with the client request. The current version is 2017-11-30. Constant value: \"2017-11-30\".\n+ :ivar api_version: Version of the API to be used with the client request. The current version is 2018-01-31. Constant value: \"2018-01-31\".\n \"\"\"\n \n models = models\n@@ -32,7 +32,7 @@ def __init__(self, client, config, serializer, deserializer):\n self._client = client\n self._serialize = serializer\n self._deserialize = deserializer\n- self.api_version = \"2017-11-30\"\n+ self.api_version = \"2018-01-31\"\n \n self.config = config\n \n@@ -44,7 +44,7 @@ def list(\n :param scope: The scope of the usage details. The scope can be\n '/subscriptions/{subscriptionId}' for a subscription, or\n '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'\n- for a billing perdiod.\n+ for a billing period.\n :type scope: str\n :param expand: May be used to expand the\n properties/additionalProperties or properties/meterDetails within a\n@@ -115,7 +115,7 @@ def internal_paging(next_link=None, raw=False):\n # Construct and send request\n request = self._client.get(url, query_parameters)\n response = self._client.send(\n- request, header_parameters, **operation_config)\n+ request, header_parameters, stream=False, **operation_config)\n \n if response.status_code not in [200]:\n raise models.ErrorResponseException(self._deserialize, response)"},{"sha":"7bae806554140ef811329cd7f7e3a8e337d580fe","filename":"azure-mgmt-consumption/azure/mgmt/consumption/version.py","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/Azure/azure-sdk-for-python/blob/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/version.py","raw_url":"https://github.com/Azure/azure-sdk-for-python/raw/042b7a5840ff471776bb64e46b50950ee9f84430/azure-mgmt-consumption/azure/mgmt/consumption/version.py","contents_url":"https://api.github.com/repos/Azure/azure-sdk-for-python/contents/azure-mgmt-consumption/azure/mgmt/consumption/version.py?ref=042b7a5840ff471776bb64e46b50950ee9f84430","patch":"@@ -9,5 +9,5 @@\n # regenerated.\n # --------------------------------------------------------------------------\n \n-VERSION = \"1.1.0\"\n+VERSION = \"2018-01-31\"\n "}]} - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_or_create_pull.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_or_create_pull.txt deleted file mode 100644 index 70d25dd0519d..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_or_create_pull.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/pulls -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"title": "Title", "body": "Body", "base": "b2", "head": "b1"} -422 -[('Date', 'Thu, 17 May 2018 21:27:38 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '209'), ('Server', 'GitHub.com'), ('Status', '422 Unprocessable Entity'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4772'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.087848'), ('X-GitHub-Request-Id', '1715:97B6:61F22E:7EE5EA:5AFDF3CA')] -{"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"No commits between b2 and b1"}],"documentation_url":"https://developer.github.com/v3/pulls/#create-a-pull-request"} - -https -POST -api.github.com -None -/repos/lmazuel/TestingRepo/pulls -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'} -{"title": "Title", "body": "Body", "base": "b2", "head": "b1"} -422 -[('Date', 'Thu, 17 May 2018 21:27:39 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '209'), ('Server', 'GitHub.com'), ('Status', '422 Unprocessable Entity'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4771'), ('X-RateLimit-Reset', '1526593184'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.118070'), ('X-GitHub-Request-Id', '1716:97B8:C24888:FB581B:5AFDF3CA')] -{"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"No commits between b2 and b1"}],"documentation_url":"https://developer.github.com/v3/pulls/#create-a-pull-request"} - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_user.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_user.txt deleted file mode 100644 index 059d39112e47..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_get_user.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:39 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4770'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"77a0c498bc6360506f9e7a4dd33857df"'), ('Last-Modified', 'Tue, 08 May 2018 04:10:43 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.048690'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1717:97B6:61F247:7EE60C:5AFDF3CB')] -{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":46,"public_gists":14,"followers":30,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-05-08T04:10:43Z","private_gists":1,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41216,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_manage_git_folder.txt b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_manage_git_folder.txt deleted file mode 100644 index e994d3de5241..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/ReplayData/GithubTools.test_manage_git_folder.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:39 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4769'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"77a0c498bc6360506f9e7a4dd33857df"'), ('Last-Modified', 'Tue, 08 May 2018 04:10:43 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.070117'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '1719:97B6:61F253:7EE61B:5AFDF3CB')] -{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":46,"public_gists":14,"followers":30,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-05-08T04:10:43Z","private_gists":1,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41216,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:42 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4768'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"77a0c498bc6360506f9e7a4dd33857df"'), ('Last-Modified', 'Tue, 08 May 2018 04:10:43 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.054549'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '171C:97B6:61F309:7EE6FD:5AFDF3CE')] -{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":46,"public_gists":14,"followers":30,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-05-08T04:10:43Z","private_gists":1,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41216,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -None -200 -[('Date', 'Thu, 17 May 2018 21:27:46 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4767'), ('X-RateLimit-Reset', '1526593184'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"77a0c498bc6360506f9e7a4dd33857df"'), ('Last-Modified', 'Tue, 08 May 2018 04:10:43 GMT'), ('X-OAuth-Scopes', 'repo, user'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-Runtime-rack', '0.063164'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '171F:97B8:C24AB5:FB5AD5:5AFDF3D2')] -{"login":"lmazuel","id":1050156,"avatar_url":"https://avatars3.githubusercontent.com/u/1050156?v=4","gravatar_id":"","url":"https://api.github.com/users/lmazuel","html_url":"https://github.com/lmazuel","followers_url":"https://api.github.com/users/lmazuel/followers","following_url":"https://api.github.com/users/lmazuel/following{/other_user}","gists_url":"https://api.github.com/users/lmazuel/gists{/gist_id}","starred_url":"https://api.github.com/users/lmazuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmazuel/subscriptions","organizations_url":"https://api.github.com/users/lmazuel/orgs","repos_url":"https://api.github.com/users/lmazuel/repos","events_url":"https://api.github.com/users/lmazuel/events{/privacy}","received_events_url":"https://api.github.com/users/lmazuel/received_events","type":"User","site_admin":false,"name":"Laurent Mazuel","company":"Microsoft.","blog":"","location":"Redmond, WA, USA","email":"lmazuel@microsoft.com","hireable":null,"bio":"Azure SDK for Python","public_repos":46,"public_gists":14,"followers":30,"following":11,"created_at":"2011-09-14T12:44:37Z","updated_at":"2018-05-08T04:10:43Z","private_gists":1,"total_private_repos":4,"owned_private_repos":0,"disk_usage":41216,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/__init__.py b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/conftest.py b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/conftest.py deleted file mode 100644 index 4a42b75757df..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/conftest.py +++ /dev/null @@ -1,38 +0,0 @@ -"""Configuration of fixtures for pytest""" -import logging -import os -import sys -import types - -from github import Github - -import pytest - -_LOGGER = logging.getLogger(__name__) - -collect_ignore = [] -if sys.version_info < (3, 6): - # Might do something more generic later - collect_ignore.append("test_bot_framework.py") - collect_ignore.append("test_git_tools.py") - collect_ignore.append("test_github_tools.py") - -_context = {"login": "login", "password": "password", "oauth_token": os.environ.get("GH_TOKEN", "oauth_token")} -_test_context_module = types.ModuleType("GithubCredentials", "Module created to provide a context for tests") -_test_context_module.__dict__.update(_context) -sys.modules["GithubCredentials"] = _test_context_module - - -@pytest.fixture -def github_token(): - """Return the Github token to use for real tests.""" - if not "GH_TOKEN" in os.environ: - _LOGGER.warning("GH_TOKEN must be defined for this test") - return "faketoken" - return os.environ["GH_TOKEN"] - - -@pytest.fixture -def github_client(github_token): - """Return a Github client with configured token.""" - return Github(github_token) diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_bot_framework.py b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_bot_framework.py deleted file mode 100644 index 65e4f49444ee..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_bot_framework.py +++ /dev/null @@ -1,181 +0,0 @@ -import os.path -from unittest import mock - -import pytest -from github.tests import Framework - -from azure_devtools.ci_tools.bot_framework import BotHandler, order, build_from_issue_comment, build_from_issues - - -class BotFrameworkTest(Framework.TestCase): - def setUp(self): - self.maxDiff = None # Big diff to come - self.recordMode = False # turn to True to record - self.tokenAuthMode = True - self.replayDataFolder = os.path.join(os.path.dirname(__file__), "ReplayData") - super(BotFrameworkTest, self).setUp() - - def test_webhook_data(self): - github_token = self.oauth_token - repo = self.g.get_repo("lmazuel/TestingRepo") - - fake_webhook = { - "action": "opened", # What is the comment state? - "repository": {"full_name": repo.full_name}, # On what repo is this command? - "issue": {"number": 16, "body": "@AutorestCI help"}, # On what issue is this comment? # Message? - "sender": {"login": "lmazuel"}, # Who wrote the command? - } - webhook_data = build_from_issues(github_token, fake_webhook) - assert webhook_data.text == "@AutorestCI help" - assert webhook_data.issue.number == 16 - assert webhook_data.repo.full_name == repo.full_name - - fake_webhook = { - "action": "created", # What is the comment state? - "repository": {"full_name": repo.full_name}, # On what repo is this command? - "issue": {"number": 16}, # On what issue is this comment? - "sender": {"login": "lmazuel"}, # Who wrote the command? - "comment": {"id": 365120206, "body": "@AutorestCI help"}, # Message? - } - webhook_data = build_from_issue_comment(github_token, fake_webhook) - assert webhook_data.text == "@AutorestCI help" - assert webhook_data.issue.number == 16 - assert webhook_data.repo.full_name == repo.full_name - - def test_bot_help(self): - github_token = self.oauth_token - repo = self.g.get_repo("lmazuel/TestingRepo") - issue = repo.get_issue(16) - - class BotHelp: - @order - def command1(self, issue): - pass - - @order - def command2(self, issue): - pass - - def notacommand(self): - pass - - bot = BotHandler(BotHelp(), "AutorestCI", github_token) - - fake_webhook = { - "action": "opened", # What is the comment state? - "repository": {"full_name": issue.repository.full_name}, # On what repo is this command? - "issue": {"number": issue.number, "body": "@AutorestCI help"}, # On what issue is this comment? # Message? - "sender": {"login": "lmazuel"}, # Who wrote the command? - } - - response = bot.issues(fake_webhook) - assert "this help message" in response["message"] - assert "command1" in response["message"] - assert "notacommand" not in response["message"] - - help_comment = list(issue.get_comments())[-1] - assert "this help message" in help_comment.body - assert "command1" in help_comment.body - assert "notacommand" not in help_comment.body - - # Clean - help_comment.delete() - - def test_bot_basic_command(self): - github_token = self.oauth_token - repo = self.g.get_repo("lmazuel/TestingRepo") - issue = repo.get_issue(17) - - class BotCommand: - @order - def command1(self, issue, param1): - assert issue.number == 17 - return "I did something with " + param1 - - bot = BotHandler(BotCommand(), "AutorestCI", github_token) - - fake_webhook = { - "action": "opened", # What is the comment state? - "repository": {"full_name": issue.repository.full_name}, # On what repo is this command? - "issue": { - "number": issue.number, # On what issue is this comment? - "body": "@AutorestCI command1 myparameter", # Message? - }, - "sender": {"login": "lmazuel"}, # Who wrote the command? - } - - response = bot.issues(fake_webhook) - assert response["message"] == "I did something with myparameter" - - help_comment = list(issue.get_comments())[-1] - assert "I did something with myparameter" in help_comment.body - - # Clean - help_comment.delete() - - @mock.patch("traceback.format_exc") - def test_bot_basic_failure(self, format_exc): - format_exc.return_value = "something to do with an exception" - - github_token = self.oauth_token - repo = self.g.get_repo("lmazuel/TestingRepo") - issue = repo.get_issue(18) - - class BotCommand: - @order - def command1(self, issue, param1): - assert issue.number == 18 - raise ValueError("Not happy") - - bot = BotHandler(BotCommand(), "AutorestCI", github_token) - - fake_webhook = { - "action": "opened", # What is the comment state? - "repository": {"full_name": issue.repository.full_name}, # On what repo is this command? - "issue": { - "number": issue.number, # On what issue is this comment? - "body": "@AutorestCI command1 myparameter", # Message? - }, - "sender": {"login": "lmazuel"}, # Who wrote the command? - } - - response = bot.issues(fake_webhook) - assert response["message"] == "Nothing for me or exception" - - help_comment = list(issue.get_comments())[-1] - assert "something to do with an exception" in help_comment.body - assert "```python" in help_comment.body - - # Clean - help_comment.delete() - - def test_bot_unknown_command(self): - github_token = self.oauth_token - repo = self.g.get_repo("lmazuel/TestingRepo") - issue = repo.get_issue(19) - - class BotCommand: - pass - - bot = BotHandler(BotCommand(), "AutorestCI", github_token) - - fake_webhook = { - "action": "opened", # What is the comment state? - "repository": {"full_name": issue.repository.full_name}, # On what repo is this command? - "issue": { - "number": issue.number, # On what issue is this comment? - "body": "@AutorestCI command1 myparameter", # Message? - }, - "sender": {"login": "lmazuel"}, # Who wrote the command? - } - - response = bot.issues(fake_webhook) - assert "I didn't understand your command" in response["message"] - assert "command1 myparameter" in response["message"] - - help_comment = list(issue.get_comments())[-1] - assert "I didn't understand your command" in help_comment.body - assert "command1 myparameter" in help_comment.body - - # Clean - help_comment.delete() diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_git_tools.py b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_git_tools.py deleted file mode 100644 index 660931e574a5..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_git_tools.py +++ /dev/null @@ -1,71 +0,0 @@ -from pathlib import Path -import tempfile - -from git import Repo - -from azure_devtools.ci_tools.git_tools import do_commit, get_files_in_commit - - -def test_do_commit(): - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir: - Repo.clone_from("https://github.com/lmazuel/TestingRepo.git", temp_dir) - repo = Repo(temp_dir) - - result = do_commit(repo, "Test {hexsha}", "testing", "fakehexsha") - assert not result - assert "fakehexsha" not in repo.head.commit.message - assert repo.active_branch.name == "master" - - file_path = Path(temp_dir, "file.txt") - file_path.write_text("Something") - - result = do_commit(repo, "Test {hexsha}", "testing", "fakehexsha") - assert result - assert repo.head.commit.message == "Test fakehexsha" - assert repo.active_branch.name == "testing" - assert "file.txt" in repo.head.commit.stats.files - - file_path.write_text("New content") - - result = do_commit(repo, "Now it is {hexsha}", "newbranch", "new-fakehexsha") - assert result - assert repo.head.commit.message == "Now it is new-fakehexsha" - assert repo.active_branch.name == "newbranch" - assert "file.txt" in repo.head.commit.stats.files - - file_path.unlink() - file_path.write_text("New content") - - result = do_commit(repo, "Now it is {hexsha}", "fakebranch", "hexsha_not_used") - assert not result - assert repo.head.commit.message == "Now it is new-fakehexsha" - assert repo.active_branch.name == "newbranch" - - finished = True - except PermissionError: - if finished: - return - raise - - -def test_get_files_in_commit(): - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir: - Repo.clone_from("https://github.com/lmazuel/swagger-to-sdk.git", temp_dir) - - files = get_files_in_commit(temp_dir, "b40451e55b26e3db61ea17bd751181cbf91f60c5") - - assert files == [ - "swaggertosdk/generate_package.py", - "swaggertosdk/python_sdk_tools.py", - "swaggertosdk/restapi/sdkbot.py", - ] - - finished = True - except PermissionError: - if finished: - return - raise diff --git a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_github_tools.py b/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_github_tools.py deleted file mode 100644 index e77c2dd714a6..000000000000 --- a/tools/azure-devtools/src/azure_devtools/ci_tools/tests/test_github_tools.py +++ /dev/null @@ -1,395 +0,0 @@ -import os.path -from pathlib import Path -from subprocess import CalledProcessError -import tempfile -from unittest import mock - -import pytest - -from git import Repo, GitCommandError -from github import GithubException -from github.tests import Framework - -from azure_devtools.ci_tools.github_tools import ( - exception_to_github, - user_from_token, - configure_user, - clone_to_path, - manage_git_folder, - do_pr, - get_files, - create_comment, - GithubLink, - DashboardCommentableObject, - DashboardComment, - get_or_create_pull, -) - - -class GithubTools(Framework.TestCase): - def setUp(self): - self.maxDiff = None # Big diff to come - self.recordMode = False # turn to True to record - self.tokenAuthMode = True - self.replayDataFolder = os.path.join(os.path.dirname(__file__), "ReplayData") - super(GithubTools, self).setUp() - - @mock.patch("traceback.format_exc") - def test_exception_to_github(self, format_exc): - format_exc.return_value = "something to do with an exception" - - # Prepare - repo = self.g.get_repo("lmazuel/TestingRepo") - issue = repo.get_issue(13) - - # Act - with exception_to_github(issue) as error: - pass - - assert error.comment is None - - # Act - with exception_to_github(issue) as error: - "Test".fakemethod(12) # pylint: disable=no-member - - # Test - assert error.comment is not None - assert "Encountered an unknown error" in error.comment.body - - # Clean my mess - error.comment.delete() - - # Act - with exception_to_github(issue, "Python bot") as error: - "Test".fakemethod(12) # pylint: disable=no-member - - # Test - assert error.comment is not None - assert "Encountered an unknown error: (Python bot)" in error.comment.body - - # Clean my mess - error.comment.delete() - - # Act - with exception_to_github(issue, "Python bot") as error: - raise CalledProcessError(2, ["autorest", "readme.md"], "Error line 1\nError line 2") - - # Test - assert error.comment is not None - assert "Encountered a Subprocess error: (Python bot)" in error.comment.body - assert "Error line 1" in error.comment.body - - # Clean my mess - error.comment.delete() - - # Act - with exception_to_github(issue, "Python bot") as error: - raise CalledProcessError( - 2, - ["autorest", "readme.md"], - ) - - # Test - assert error.comment is not None - assert "Encountered a Subprocess error: (Python bot)" in error.comment.body - assert "no output" in error.comment.body - - # Clean my mess - error.comment.delete() - - def test_get_or_create_pull(self): - repo = self.g.get_repo("lmazuel/TestingRepo") - - # b1 and b2 should exist and be the same - with pytest.raises(GithubException): - get_or_create_pull(repo, "Title", "Body", "b1", "b2") - - prresult = get_or_create_pull(repo, "Title", "Body", "b1", "b2", none_if_no_commit=True) - assert prresult is None - - @mock.patch("traceback.format_exc") - def test_dashboard(self, format_exc): - format_exc.return_value = "something to do with an exception" - - # Prepare - repo = self.g.get_repo("lmazuel/TestingRepo") - issue = repo.get_issue(15) - initial_size = len(list(issue.get_comments())) - header = "# MYHEADER" - - dashboard = DashboardCommentableObject(issue, header) - - with exception_to_github(dashboard, "Python bot") as error: - "Test".fakemethod(12) # pylint: disable=no-member - - after_size = len(list(issue.get_comments())) - assert after_size == initial_size + 1 - - assert error.comment is not None - assert "Encountered an unknown error" in error.comment.body - - dashboard.create_comment("New text comment") - after_size_2 = len(list(issue.get_comments())) - assert after_size == after_size_2 - - # Clean my mess - error.comment.delete() - - def test_get_user(self): - github_token = self.oauth_token - user = user_from_token(github_token) - assert user.login == "lmazuel" - - def test_get_files(self): - repo = self.g.get_repo("Azure/azure-sdk-for-python") - pr = repo.get_pull(1833) - files = get_files(pr) - assert "azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py" in [ - f.filename for f in files - ] - - commit = repo.get_commit("042b7a5840ff471776bb64e46b50950ee9f84430") - files = get_files(commit) - assert "azure-mgmt-consumption/azure/mgmt/consumption/consumption_management_client.py" in [ - f.filename for f in files - ] - - def test_create_comment(self): - repo = self.g.get_repo("lmazuel/TestingRepo") - issue = repo.get_issue(14) - comment = create_comment(issue, "This is a test") - comment.delete() - - pull = repo.get_pull(2) - comment = create_comment(pull, "This is a test") - comment.delete() - - def test_configure(self): - github_token = self.oauth_token - finished = False - try: - with tempfile.TemporaryDirectory() as temp_dir: - try: - Repo.clone_from("https://github.com/lmazuel/TestingRepo.git", temp_dir) - repo = Repo(temp_dir) - - # If it's not throwing, I'm happy enough - configure_user(github_token, repo) - - assert repo.git.config("--get", "user.name") == "Laurent Mazuel" - except Exception as err: - print(err) - pytest.fail(err) - else: - finished = True - except PermissionError: - if finished: - return - raise - - def test_clone_path(self): - github_token = self.oauth_token - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir: - clone_to_path(github_token, temp_dir, "lmazuel/TestingRepo") - assert (Path(temp_dir) / Path("README.md")).exists() - - finished = True - except PermissionError: - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir: - clone_to_path(github_token, temp_dir, "https://github.com/lmazuel/TestingRepo") - assert (Path(temp_dir) / Path("README.md")).exists() - - finished = True - except PermissionError: - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir: - clone_to_path(github_token, temp_dir, "lmazuel/TestingRepo", "lmazuel-patch-1") - assert (Path(temp_dir) / Path("README.md")).exists() - - finished = True - except PermissionError: - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir: - with pytest.raises(GitCommandError): - clone_to_path(github_token, temp_dir, "lmazuel/TestingRepo", "fakebranch") - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - # PR 2 must be open, or the test means nothing - try: - with tempfile.TemporaryDirectory() as temp_dir: - clone_to_path(github_token, temp_dir, "lmazuel/TestingRepo", pr_number=2) - assert (Path(temp_dir) / Path("README.md")).exists() - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - # PR 1 must be MERGED, or the test means nothing - try: - with tempfile.TemporaryDirectory() as temp_dir: - clone_to_path(github_token, temp_dir, "lmazuel/TestingRepo", pr_number=1) - assert (Path(temp_dir) / Path("README.md")).exists() - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - # PR 2 must be opened, or the test means nothing - repo = self.g.get_repo("lmazuel/TestingRepo") - pr = repo.get_pull(2) - try: - with tempfile.TemporaryDirectory() as temp_dir: - clone_to_path( - github_token, temp_dir, "lmazuel/TestingRepo", branch_or_commit=pr.merge_commit_sha, pr_number=2 - ) - assert (Path(temp_dir) / Path("README.md")).stat().st_size >= 107 # File in the PR - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir: - with pytest.raises(GitCommandError): - clone_to_path(github_token, temp_dir, "lmazuel/TestingRepo", pr_number=123456789) - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - def test_manage_git_folder(self): - github_token = self.oauth_token - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir, manage_git_folder( - github_token, temp_dir, "lmazuel/TestingRepo" - ) as rest_repo: - - assert (Path(rest_repo) / Path("README.md")).exists() - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir, manage_git_folder( - github_token, temp_dir, "lmazuel/TestingRepo@lmazuel-patch-1" - ) as rest_repo: - - assert (Path(rest_repo) / Path("README.md")).exists() - assert "lmazuel-patch-1" in str(Repo(rest_repo).active_branch) - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - finished = False # Authorize PermissionError on cleanup - try: - with tempfile.TemporaryDirectory() as temp_dir, manage_git_folder( - github_token, temp_dir, "lmazuel/TestingRepo", pr_number=1 - ) as rest_repo: - - assert (Path(rest_repo) / Path("README.md")).exists() - with pytest.raises(TypeError) as err: - Repo(rest_repo).active_branch - assert "HEAD is a detached symbolic reference" in str(err) - - finished = True - except (PermissionError, FileNotFoundError): - if not finished: - raise - - def test_do_pr(self): - github_token = self.oauth_token - # Should do nothing - do_pr(None, "bad", "bad", "bad", "bad") - - # Should do nothing - do_pr(github_token, "bad", None, "bad", "bad") - - # FIXME - more tests - - -def test_github_link(): - inputstr = "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/billing/resource-manager/readme.md" - link = GithubLink.from_string(inputstr) - assert link.gitid == "Azure/azure-rest-api-specs" - assert link.branch_or_commit == "master" - assert link.link_type == "raw" - assert link.path == "specification/billing/resource-manager/readme.md" - assert str(link) == inputstr - raw_link = link.as_raw_link() - assert isinstance(raw_link, GithubLink) - assert str(raw_link) == str(link) - - inputstr = ( - "https://github.com/Azure/azure-rest-api-specs/blob/master/specification/billing/resource-manager/readme.md" - ) - link = GithubLink.from_string(inputstr) - assert link.gitid == "Azure/azure-rest-api-specs" - assert link.branch_or_commit == "master" - assert link.link_type == "blob" - assert link.path == "specification/billing/resource-manager/readme.md" - assert str(link) == inputstr - raw_link = link.as_raw_link() - assert isinstance(raw_link, GithubLink) - assert ( - str(raw_link) - == "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/billing/resource-manager/readme.md" - ) - - inputstr = "https://github.com/Azure/azure-rest-api-specs/tree/master/specification/billing/resource-manager" - link = GithubLink.from_string(inputstr) - assert link.gitid == "Azure/azure-rest-api-specs" - assert link.branch_or_commit == "master" - assert link.link_type == "tree" - assert link.path == "specification/billing/resource-manager" - assert str(link) == inputstr - with pytest.raises(ValueError): - link.as_raw_link() - - inputstr = "https://token@github.com/Azure/azure-rest-api-specs/blob/master/specification/billing/resource-manager/readme.md" - link = GithubLink.from_string(inputstr) - assert link.token == "token" - assert link.gitid == "Azure/azure-rest-api-specs" - assert link.branch_or_commit == "master" - assert link.link_type == "blob" - assert link.path == "specification/billing/resource-manager/readme.md" - assert str(link) == inputstr - raw_link = link.as_raw_link() - assert isinstance(raw_link, GithubLink) - # Raw link with token does not use token in URL, since it has to be provided as Authorization: token - assert ( - str(raw_link) - == "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/billing/resource-manager/readme.md" - ) diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/__init__.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/__init__.py deleted file mode 100644 index 1e263b4f714f..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/__init__.py +++ /dev/null @@ -1,56 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from .base import IntegrationTestBase, ReplayableTest, LiveTest -from .exceptions import AzureTestError, AzureNameError, NameInUseError, ReservedResourceNameError -from .decorators import live_only, record_only, AllowLargeResponse -from .patches import mock_in_unit_test, patch_time_sleep_api, patch_long_run_operation_delay -from .preparers import AbstractPreparer, SingleValueReplacer -from .recording_processors import ( - RecordingProcessor, - SubscriptionRecordingProcessor, - LargeRequestBodyProcessor, - LargeResponseBodyProcessor, - LargeResponseBodyReplacer, - AuthenticationMetadataFilter, - OAuthRequestResponsesFilter, - DeploymentNameReplacer, - GeneralNameReplacer, - AccessTokenReplacer, - RequestUrlNormalizer, -) -from .utilities import create_random_name, get_sha1_hash - -__all__ = [ - "IntegrationTestBase", - "ReplayableTest", - "LiveTest", - "AzureTestError", - "AzureNameError", - "NameInUseError", - "ReservedResourceNameError", - "mock_in_unit_test", - "patch_time_sleep_api", - "patch_long_run_operation_delay", - "AbstractPreparer", - "SingleValueReplacer", - "AllowLargeResponse", - "RecordingProcessor", - "SubscriptionRecordingProcessor", - "LargeRequestBodyProcessor", - "LargeResponseBodyProcessor", - "LargeResponseBodyReplacer", - "AuthenticationMetadataFilter", - "OAuthRequestResponsesFilter", - "DeploymentNameReplacer", - "GeneralNameReplacer", - "AccessTokenReplacer", - "RequestUrlNormalizer", - "live_only", - "record_only", - "create_random_name", - "get_sha1_hash", -] -__version__ = "0.5.2" diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/base.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/base.py deleted file mode 100644 index b9b6e2a26ff0..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/base.py +++ /dev/null @@ -1,237 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from __future__ import print_function -import unittest -import os -import inspect -import tempfile -import shutil -import logging -import threading -import six -# We don't vcrpy anymore, if this code is loaded, fail -# import vcr - -from .config import TestConfig -from .const import ENV_TEST_DIAGNOSE -from .utilities import create_random_name, _decompress_response_body -from .decorators import live_only - - -class IntegrationTestBase(unittest.TestCase): - def __init__(self, method_name): - super(IntegrationTestBase, self).__init__(method_name) - self.diagnose = os.environ.get(ENV_TEST_DIAGNOSE, None) == "True" - self.logger = logging.getLogger("azure_devtools.scenario_tests") - - def create_random_name(self, prefix, length): # pylint: disable=no-self-use - return create_random_name(prefix=prefix, length=length) - - def create_temp_file(self, size_kb, full_random=False): - """ Create a temporary file for testing. The test harness will delete the file during tearing down. """ - fd, path = tempfile.mkstemp() - os.close(fd) - self.addCleanup(lambda: os.remove(path)) - - with open(path, mode="r+b") as f: - if full_random: - chunk = os.urandom(1024) - else: - chunk = bytearray([0] * 1024) - for _ in range(size_kb): - f.write(chunk) - - return path - - def create_temp_dir(self): - """ - Create a temporary directory for testing. The test harness will delete the directory during tearing down. - """ - temp_dir = tempfile.mkdtemp() - self.addCleanup(lambda: shutil.rmtree(temp_dir, ignore_errors=True)) - - return temp_dir - - @classmethod - def set_env(cls, key, val): - os.environ[key] = val - - @classmethod - def pop_env(cls, key): - return os.environ.pop(key, None) - - -@live_only() -class LiveTest(IntegrationTestBase): - pass - - -class ReplayableTest(IntegrationTestBase): # pylint: disable=too-many-instance-attributes - FILTER_HEADERS = [ - "authorization", - "client-request-id", - "retry-after", - "x-ms-client-request-id", - "x-ms-correlation-request-id", - "x-ms-ratelimit-remaining-subscription-reads", - "x-ms-request-id", - "x-ms-routing-request-id", - "x-ms-gateway-service-instanceid", # cspell:disable-line - "x-ms-ratelimit-remaining-tenant-reads", - "x-ms-served-by", - "x-ms-authorization-auxiliary", - ] - - def __init__( - self, # pylint: disable=too-many-arguments - method_name, - config_file=None, - recording_dir=None, - recording_name=None, - recording_processors=None, - replay_processors=None, - recording_patches=None, - replay_patches=None, - match_body=False, - custom_request_matchers=None, - ): - super(ReplayableTest, self).__init__(method_name) - - self.recording_processors = recording_processors or [] - self.replay_processors = replay_processors or [] - - self.recording_patches = recording_patches or [] - self.replay_patches = replay_patches or [] - - self.config = TestConfig(config_file=config_file) - - self.disable_recording = False - - test_file_path = inspect.getfile(self.__class__) - recording_dir = recording_dir or os.path.join(os.path.dirname(test_file_path), "recordings") - self.is_live = self.config.record_mode - - self.vcr = vcr.VCR( - cassette_library_dir=recording_dir, - before_record_request=self._process_request_recording, - before_record_response=self._process_response_recording, - decode_compressed_response=True, - record_mode="once" if not self.is_live else "all", - filter_headers=self.FILTER_HEADERS, - ) - self.vcr.register_matcher("query", self._custom_request_query_matcher) - if match_body: - self.vcr.match_on += ("body",) - for matcher in custom_request_matchers or []: - self.vcr.register_matcher(matcher.__name__, matcher) - self.vcr.match_on += (matcher.__name__,) - - self.recording_file = os.path.join(recording_dir, "{}.yaml".format(recording_name or method_name)) - if self.is_live and os.path.exists(self.recording_file): - os.remove(self.recording_file) - - self.in_recording = self.is_live or not os.path.exists(self.recording_file) - self.test_resources_count = 0 - self.original_env = os.environ.copy() - - def setUp(self): - super(ReplayableTest, self).setUp() - - if self.is_live and os.environ.get("AZURE_SKIP_LIVE_RECORDING", "").lower() == "true": - return - - # set up cassette - cm = self.vcr.use_cassette(self.recording_file) - self.cassette = cm.__enter__() - self.addCleanup(cm.__exit__) - - # set up mock patches - if self.in_recording: - for patch in self.recording_patches: - patch(self) - else: - for patch in self.replay_patches: - patch(self) - - def tearDown(self): - os.environ = self.original_env - # Autorest.Python 2.x - assert not [ - t for t in threading.enumerate() if t.name.startswith("AzureOperationPoller") - ], "You need to call 'result' or 'wait' on all AzureOperationPoller you have created" - # Autorest.Python 3.x - assert not [ - t for t in threading.enumerate() if t.name.startswith("LROPoller") - ], "You need to call 'result' or 'wait' on all LROPoller you have created" - - def _process_request_recording(self, request): - if self.disable_recording: - return None - - if self.in_recording: - for processor in self.recording_processors: - request = processor.process_request(request) - if not request: - break - else: - for processor in self.replay_processors: - request = processor.process_request(request) - if not request: - break - - return request - - def _process_response_recording(self, response): - from .utilities import is_text_payload - - if self.in_recording: - # make header name lower case and filter unwanted headers - headers = {} - for key in response["headers"]: - if key.lower() not in self.FILTER_HEADERS: - headers[key.lower()] = response["headers"][key] - response["headers"] = headers - - body = response["body"]["string"] - response = _decompress_response_body(response) - if is_text_payload(response) and body and not isinstance(body, six.string_types): - try: - response["body"]["string"] = body.decode("utf-8") - except UnicodeDecodeError: - pass - - for processor in self.recording_processors: - response = processor.process_response(response) - if not response: - break - else: - for processor in self.replay_processors: - response = processor.process_response(response) - if not response: - break - - return response - - @classmethod - def _custom_request_query_matcher(cls, r1, r2): - """ Ensure method, path, and query parameters match. """ - from six.moves.urllib_parse import urlparse, parse_qs # pylint: disable=import-error,relative-import - - url1 = urlparse(r1.uri) - url2 = urlparse(r2.uri) - - q1 = parse_qs(url1.query) - q2 = parse_qs(url2.query) - shared_keys = set(q1.keys()).intersection(set(q2.keys())) - - if len(shared_keys) != len(q1) or len(shared_keys) != len(q2): - return False - - for key in shared_keys: - if q1[key][0].lower() != q2[key][0].lower(): - return False - - return True diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/config.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/config.py deleted file mode 100644 index f9f20a14670b..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/config.py +++ /dev/null @@ -1,34 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import configargparse - -from .const import ENV_LIVE_TEST - - -class TestConfig(object): # pylint: disable=too-few-public-methods - def __init__(self, parent_parsers=None, config_file=None): - parent_parsers = parent_parsers or [] - self.parser = configargparse.ArgumentParser(parents=parent_parsers) - self.parser.add_argument( - "-c", - "--config", - is_config_file=True, - default=config_file, - help="Path to a configuration file in YAML format.", - ) - self.parser.add_argument( - "-l", - "--live-mode", - action="store_true", - dest="live_mode", - env_var=ENV_LIVE_TEST, - help='Activate "live" recording mode for tests.', - ) - self.args = self.parser.parse_args([]) - - @property - def record_mode(self): - return self.args.live_mode diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/const.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/const.py deleted file mode 100644 index 8613cb431962..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/const.py +++ /dev/null @@ -1,14 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# Replaced mock values -MOCKED_SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000" -MOCKED_TENANT_ID = "00000000-0000-0000-0000-000000000000" - -# Configuration environment variable -ENV_COMMAND_COVERAGE = "AZURE_TEST_COMMAND_COVERAGE" -ENV_LIVE_TEST = "AZURE_TEST_RUN_LIVE" -ENV_SKIP_ASSERT = "AZURE_TEST_SKIP_ASSERT" -ENV_TEST_DIAGNOSE = "AZURE_TEST_DIAGNOSE" diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/decorators.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/decorators.py deleted file mode 100644 index f09a22261db2..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/decorators.py +++ /dev/null @@ -1,46 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import os -import functools -import unittest -from .const import ENV_LIVE_TEST -from .utilities import trim_kwargs_from_test_function - - -def live_only(): - return unittest.skipUnless( - os.environ.get(ENV_LIVE_TEST, False), "This is a live only test. A live test will bypass all vcrpy components." - ) - - -def record_only(): - return unittest.skipUnless( - not os.environ.get(ENV_LIVE_TEST, False), - "This test is excluded from being run live. To force a recording, please remove the recording file.", - ) - - -class AllowLargeResponse(object): # pylint: disable=too-few-public-methods - def __init__(self, size_kb=1024): - self.size_kb = size_kb - - def __call__(self, fn): - def _preparer_wrapper(test_class_instance, **kwargs): - from azure_devtools.scenario_tests import LargeResponseBodyProcessor - - large_resp_body = next( - (r for r in test_class_instance.recording_processors if isinstance(r, LargeResponseBodyProcessor)), None - ) - if large_resp_body: - large_resp_body._max_response_body = self.size_kb # pylint: disable=protected-access - - trim_kwargs_from_test_function(fn, kwargs) - - fn(test_class_instance, **kwargs) - - setattr(_preparer_wrapper, "__is_preparer", True) - functools.update_wrapper(_preparer_wrapper, fn) - return _preparer_wrapper diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/exceptions.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/exceptions.py deleted file mode 100644 index af878c447daf..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/exceptions.py +++ /dev/null @@ -1,26 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - - -class AzureTestError(Exception): - def __init__(self, error_message): - message = "An error caused by the Azure test harness failed the test: {}" - super(AzureTestError, self).__init__(message.format(error_message)) - - -class AzureNameError(Exception): - pass - - -class NameInUseError(AzureNameError): - def __init__(self, vault_name): - error_message = "A vault with the name {} already exists".format(vault_name) - super(NameInUseError, self).__init__(error_message) - - -class ReservedResourceNameError(AzureNameError): - def __init__(self, rg_name): - error_message = "The resource name {} or a part of the name is trademarked / reserved".format(rg_name) - super(ReservedResourceNameError, self).__init__(error_message) diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/patches.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/patches.py deleted file mode 100644 index 1f5b00209517..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/patches.py +++ /dev/null @@ -1,37 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from .exceptions import AzureTestError - - -def patch_time_sleep_api(unit_test): - def _time_sleep_skip(*_): - return - - mock_in_unit_test(unit_test, "time.sleep", _time_sleep_skip) - - -def patch_long_run_operation_delay(unit_test): - def _shortcut_long_run_operation(*args, **kwargs): # pylint: disable=unused-argument - return - - mock_in_unit_test( - unit_test, "msrestazure.azure_operation.AzureOperationPoller._delay", _shortcut_long_run_operation - ) - - -def mock_in_unit_test(unit_test, target, replacement): - try: - import unittest.mock as mock - except ImportError: - import mock - import unittest - - if not isinstance(unit_test, unittest.TestCase): - raise AzureTestError("Patches can be only called from a unit test") - - mp = mock.patch(target, replacement) - mp.__enter__() - unit_test.addCleanup(mp.__exit__, None, None, None) diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/preparers.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/preparers.py deleted file mode 100644 index f88795a2fa40..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/preparers.py +++ /dev/null @@ -1,261 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import contextlib -import functools -import logging -from collections import namedtuple -from threading import Lock - -from .base import ReplayableTest -from .utilities import create_random_name, is_text_payload, trim_kwargs_from_test_function -from .recording_processors import RecordingProcessor -from .exceptions import AzureNameError - -_logger = logging.getLogger(__name__) -# Core Utility - - -class AbstractPreparer(object): - _cache_lock = Lock() - _resource_cache = {} - ResourceCacheEntry = namedtuple("ResourceCacheEntry", "resource_name kwargs preparer") - - def __init__(self, name_prefix, name_len, disable_recording=False): - self.name_prefix = name_prefix - self.name_len = name_len - self.resource_moniker = None - self.resource_random_name = None - self.test_class_instance = None - self.live_test = False - self.disable_recording = disable_recording - self._cache_key = (self.__class__.__name__,) - self._use_cache = False - self._aggregate_cache_key = None - - def _prepare_create_resource(self, test_class_instance, **kwargs): - self.live_test = not isinstance(test_class_instance, ReplayableTest) - self.test_class_instance = test_class_instance - - # This latter conditional is to triage a specific failure mode: - # If the first cached test run does not have any http traffic, a recording will not have been - # generated, so in_recording will be True even if live_test is false, so a random name would be given. - # In cached mode we need to avoid this because then for tests with recordings, they would not have a moniker. - if (self.live_test or test_class_instance.in_recording) and not ( - not test_class_instance.is_live and test_class_instance.in_recording and self._use_cache - ): - resource_name = self.random_name - if not self.live_test and isinstance(self, RecordingProcessor): - test_class_instance.recording_processors.append(self) - else: - resource_name = self.moniker - - _logger.debug("Creating resource %s for %s", resource_name, self.__class__.__name__) - with self.override_disable_recording(): - retries = 4 - for i in range(retries): - try: - parameter_update = self.create_resource(resource_name, **kwargs) - _logger.debug("Successfully created resource %s", resource_name) - break - except AzureNameError: - if i == retries - 1: - raise - self.resource_random_name = None - resource_name = self.random_name - except Exception as e: - msg = "Preparer failure when creating resource {} for test {}: {}".format( - self.__class__.__name__, test_class_instance, e - ) - while e: - try: - e = e.inner_exception - except AttributeError: - break - try: - msg += "\nDetailed error message: " + str(e.additional_properties["error"]["message"]) - except (AttributeError, KeyError): - pass - - _logger.error(msg) - raise Exception(msg) - - if parameter_update: - kwargs.update(parameter_update) - - return resource_name, kwargs - - def __call__(self, fn): - def _preparer_wrapper(test_class_instance, **kwargs): - _logger.debug( - "Entering preparer wrapper for %s and test %s", self.__class__.__name__, str(test_class_instance) - ) - - # If a child is cached we must use the same cached resource their equivalent parent did so all the deps line up - child_is_cached = getattr(fn, "__use_cache", False) - # Note: If it is ever desired to make caching inferred, remove this if/throw. - # This ensures that a user must _very specifically say they want caching_ on an item and all parents. - if not self._use_cache and child_is_cached: - raise Exception( - """Preparer exception for test {}:\n Child preparers are cached, but parent {} is not. -You must specify use_cache=True in the preparer decorator""".format( - test_class_instance, self.__class__.__name__ - ) - ) - self._use_cache |= child_is_cached - _logger.debug("Child cache status for %s: %s", self.__class__.__name__, child_is_cached) - - # We must use a cache_key that includes our parents, so that we get a cached stack - # matching the desired resource stack. (e.g. if parent resource has specific settings) - try: - aggregate_cache_key = (self._cache_key, kwargs["__aggregate_cache_key"]) - except KeyError: # If we're at the root of the cache stack, start with our own key. - aggregate_cache_key = self._cache_key - kwargs["__aggregate_cache_key"] = aggregate_cache_key - self._aggregate_cache_key = aggregate_cache_key - _logger.debug("Aggregate cache key: %s", aggregate_cache_key) - - # If cache is enabled, and the cached resource exists, use it, otherwise create and store. - if self._use_cache and aggregate_cache_key in AbstractPreparer._resource_cache: - _logger.debug("Using cached resource for %s", self.__class__.__name__) - with self._cache_lock: - new_kwargs = kwargs - resource_name, kwargs, _ = AbstractPreparer._resource_cache[aggregate_cache_key] - kwargs.update(new_kwargs) - else: - resource_name, kwargs = self._prepare_create_resource(test_class_instance, **kwargs) - - if self._use_cache: - with self._cache_lock: - if aggregate_cache_key not in AbstractPreparer._resource_cache: - _logger.debug("Storing cached resource for %s", self.__class__.__name__) - AbstractPreparer._resource_cache[aggregate_cache_key] = AbstractPreparer.ResourceCacheEntry( - resource_name, kwargs, self - ) - - if test_class_instance.is_live: - # Adding this for new proxy testcase - if hasattr(test_class_instance, "scrubber"): - test_class_instance.scrubber.register_name_pair(resource_name, self.moniker) - else: - _logger.info( - "This test class instance has no scrubber, so the AbstractPreparer will not scrub any values " - "in recordings." - ) - - # We shouldn't trim the same kwargs that we use for deletion, - # we may remove some of the variables we needed to do the delete. - trimmed_kwargs = {k: v for k, v in kwargs.items()} - trim_kwargs_from_test_function(fn, trimmed_kwargs) - - try: - try: - import asyncio - except ImportError: - fn(test_class_instance, **trimmed_kwargs) - else: - if asyncio.iscoroutinefunction(fn): - asyncio.run(fn(test_class_instance, **trimmed_kwargs)) - else: - fn(test_class_instance, **trimmed_kwargs) - finally: - # If we use cache we delay deletion for the end. - # This won't guarantee deletion order, but it will guarantee everything delayed - # does get deleted, in the worst case by getting rid of the RG at the top. - if not (self._use_cache or child_is_cached): - # Russian Doll - the last declared resource to be deleted first. - self.remove_resource_with_record_override(resource_name, **kwargs) - - # _logger.debug("Setting up preparer stack for {}".format(self.__class__.__name__)) - setattr(_preparer_wrapper, "__is_preparer", True) - # Inform the next step in the chain (our parent) that we're cached. - if self._use_cache or getattr(fn, "__use_cache", False): - setattr(_preparer_wrapper, "__use_cache", True) - functools.update_wrapper(_preparer_wrapper, fn) - return _preparer_wrapper - - @contextlib.contextmanager - def override_disable_recording(self): - if hasattr(self.test_class_instance, "disable_recording"): - orig_enabled = self.test_class_instance.disable_recording - self.test_class_instance.disable_recording = self.disable_recording - yield - self.test_class_instance.disable_recording = orig_enabled - else: - yield - - @property - def moniker(self): - if not self.resource_moniker: - self.test_class_instance.test_resources_count += 1 - self.resource_moniker = "{}{:06}".format(self.name_prefix, self.test_class_instance.test_resources_count) - return self.resource_moniker - - def create_random_name(self): - return create_random_name(self.name_prefix, self.name_len) - - @property - def random_name(self): - if not self.resource_random_name: - self.resource_random_name = self.create_random_name() - return self.resource_random_name - - # The only other design idea I see that doesn't require each preparer to be instrumented - # would be to have a decorator at the top that wraps the rest, but the user would have to define - # the "cache key" themselves which seems riskier (As opposed to as below, where it's defined - # locally that sku and location are the parameters that make a resource unique) - # This also would prevent fine-grained caching where leaf resources are still created. - def set_cache(self, enabled, *args): - # can't use *args expansion directly into a tuple, py27 compat. - self._cache_key = tuple([self.__class__.__name__] + list(args)) - self._use_cache = enabled - - def create_resource(self, name, **kwargs): # pylint: disable=unused-argument,no-self-use - return {} - - def remove_resource(self, name, **kwargs): # pylint: disable=unused-argument - pass - - def remove_resource_with_record_override(self, name, **kwargs): - with self.override_disable_recording(): - self.remove_resource(name, **kwargs) - - @classmethod - def _perform_pending_deletes(cls): - _logger.debug("Perform all delayed resource removal.") - for resource_name, kwargs, preparer in reversed([e for e in cls._resource_cache.values()]): - try: - _logger.debug("Performing delayed delete for: %s %s", preparer, resource_name) - preparer.remove_resource_with_record_override(resource_name, **kwargs) - except Exception as e: # pylint: disable=broad-except - # Intentionally broad exception to attempt to leave as few orphan resources as possible even on error. - _logger.warning("Exception while performing delayed deletes (this can happen): %s", e) - - -class SingleValueReplacer(RecordingProcessor): - # pylint: disable=no-member - def process_request(self, request): - from six.moves.urllib_parse import quote_plus # pylint: disable=import-error,import-outside-toplevel - - if self.random_name in request.uri: - request.uri = request.uri.replace(self.random_name, self.moniker) - elif quote_plus(self.random_name) in request.uri: - request.uri = request.uri.replace(quote_plus(self.random_name), quote_plus(self.moniker)) - - if is_text_payload(request) and request.body: - body = str(request.body, "utf-8") if isinstance(request.body, bytes) else str(request.body) - if self.random_name in body: - request.body = body.replace(self.random_name, self.moniker) - - return request - - def process_response(self, response): - if is_text_payload(response) and response["body"]["string"]: - response["body"]["string"] = response["body"]["string"].replace(self.random_name, self.moniker) - - self.replace_header(response, "location", self.random_name, self.moniker) - self.replace_header(response, "azure-asyncoperation", self.random_name, self.moniker) - - return response diff --git a/tools/azure-devtools/src/azure_devtools/scenario_tests/recording_processors.py b/tools/azure-devtools/src/azure_devtools/scenario_tests/recording_processors.py deleted file mode 100644 index cdf10e7f533f..000000000000 --- a/tools/azure-devtools/src/azure_devtools/scenario_tests/recording_processors.py +++ /dev/null @@ -1,267 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -from copy import deepcopy -from zlib import decompress -import six - -from .utilities import is_text_payload, is_json_payload, is_batch_payload, replace_subscription_id - - -class RecordingProcessor(object): - def process_request(self, request): # pylint: disable=no-self-use - return request - - def process_response(self, response): # pylint: disable=no-self-use - return response - - @classmethod - def replace_header(cls, entity, header, old, new): - cls.replace_header_fn(entity, header, lambda v: v.replace(old, new)) - - @classmethod - def replace_header_fn(cls, entity, header, replace_fn): - # Loop over the headers to find the one we want case insensitively, - # but we don't want to modify the case of original header key. - for key, values in entity["headers"].items(): - if key.lower() == header.lower(): - if isinstance(values, list): - entity["headers"][key] = [replace_fn(v) for v in values] - else: - entity["headers"][key] = replace_fn(values) - - -class SubscriptionRecordingProcessor(RecordingProcessor): - def __init__(self, replacement): - self._replacement = replacement - - def process_request(self, request): - request.uri = replace_subscription_id(request.uri, replacement=self._replacement) - - if is_text_payload(request) and request.body: - request.body = replace_subscription_id(request.body.decode(), replacement=self._replacement).encode() - - return request - - def process_response(self, response): - if is_text_payload(response) and response["body"]["string"]: - response["body"]["string"] = replace_subscription_id( - response["body"]["string"], replacement=self._replacement - ) - - self.replace_header_fn(response, "location", replace_subscription_id) - self.replace_header_fn(response, "azure-asyncoperation", replace_subscription_id) - - try: - response["url"] = replace_subscription_id(response["url"], replacement=self._replacement) - except KeyError: - pass - - return response - - -class LargeRequestBodyProcessor(RecordingProcessor): - def __init__(self, max_request_body=128): - self._max_request_body = max_request_body - - def process_request(self, request): - if is_text_payload(request) and request.body and len(request.body) > self._max_request_body * 1024: - request.body = ( - "!!! The request body has been omitted from the recording because its " - "size {} is larger than {}KB. !!!".format(len(request.body), self._max_request_body) - ) - - return request - - -class LargeResponseBodyProcessor(RecordingProcessor): - control_flag = "" - - def __init__(self, max_response_body=128): - self._max_response_body = max_response_body - - def process_response(self, response): - if is_text_payload(response): - length = len(response["body"]["string"] or "") - if length > self._max_response_body * 1024: - - if is_json_payload(response): - from .decorators import AllowLargeResponse # pylint: disable=cyclic-import - - raise ValueError( - "The json response body exceeds the default limit of {}kb. Use '@{}' " - "on your test method to increase the limit or update test logics to avoid " - "big payloads".format(self._max_response_body, AllowLargeResponse.__name__) - ) - - response["body"]["string"] = ( - "!!! The response body has been omitted from the recording because it is larger " - "than {} KB. It will be replaced with blank content of {} bytes while replay. " - "{}{}".format(self._max_response_body, length, self.control_flag, length) - ) - return response - - -class LargeResponseBodyReplacer(RecordingProcessor): - def process_response(self, response): - if is_text_payload(response) and not is_json_payload(response): - import six - - body = response["body"]["string"] - - # backward compatibility. under 2.7 response body is unicode, under 3.5 response body is - # bytes. when set the value back, the same type must be used. - body_is_string = isinstance(body, six.string_types) - - content_in_string = (response["body"]["string"] or b"").decode("utf-8") - index = content_in_string.find(LargeResponseBodyProcessor.control_flag) - - if index > -1: - length = int(content_in_string[index + len(LargeResponseBodyProcessor.control_flag) :]) - if body_is_string: - response["body"]["string"] = "0" * length - else: - response["body"]["string"] = bytes([0] * length) - - return response - - -class AuthenticationMetadataFilter(RecordingProcessor): - """Remove authority and tenant discovery requests and responses from recordings. - - MSAL sends these requests to obtain non-secret metadata about the token authority. Recording them is unnecessary - because tests use fake credentials during playback that don't invoke MSAL. - """ - - def process_request(self, request): - if "/.well-known/openid-configuration" in request.uri or "/common/discovery/instance" in request.uri: - return None - return request - - -class OAuthRequestResponsesFilter(RecordingProcessor): - """Remove oauth authentication requests and responses from recording.""" - - def process_request(self, request): - # filter request like: - # GET https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/token - # POST https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/v2.0/token - import re - - if not re.search("/oauth2(?:/v2.0)?/token", request.uri): - return request - return None - - -class DeploymentNameReplacer(RecordingProcessor): - """Replace the random deployment name with a fixed mock name.""" - - def process_request(self, request): - import re - - request.uri = re.sub("/deployments/([^/?]+)", "/deployments/mock-deployment", request.uri) - return request - - -class AccessTokenReplacer(RecordingProcessor): - """Replace the access token for service principal authentication in a response body.""" - - def __init__(self, replacement="fake_token"): - self._replacement = replacement - - def process_response(self, response): - import json - - try: - body = json.loads(response["body"]["string"]) - body["access_token"] = self._replacement - except (KeyError, ValueError): - return response - response["body"]["string"] = json.dumps(body) - return response - - -class GeneralNameReplacer(RecordingProcessor): - def __init__(self): - self.names_name = [] - - def register_name_pair(self, old, new): - self.names_name.append((old, new)) - - def process_request(self, request): - for old, new in self.names_name: - request.uri = request.uri.replace(old, new) - - if is_text_payload(request) and request.body: - if isinstance(request.body, dict): - request.body = self._process_body_as_dict(request.body) - else: - body = six.ensure_str(request.body) - if old in body: - request.body = body.replace(old, new) - - if request.body and request.uri and is_batch_payload(request): - import re - - body = six.ensure_str(request.body) - matched_objects = set(re.findall(old, body)) - for matched_object in matched_objects: - request.body = body.replace(matched_object, new) - body = body.replace(matched_object, new) - - return request - - def _process_body_as_dict(self, body): - new_body = deepcopy(body) - - for key in new_body.keys(): - for old, new in self.names_name: - new_body[key].replace(old, new) - - return new_body - - def process_response(self, response): - for old, new in self.names_name: - if is_text_payload(response) and response["body"]["string"]: - try: - response["body"]["string"] = response["body"]["string"].replace(old, new) - except UnicodeDecodeError: - body = response["body"]["string"] - response["body"]["string"].decode("utf8", "backslashreplace").replace(old, new).encode( - "utf8", "backslashreplace" - ) - except TypeError: - pass - self.replace_header(response, "location", old, new) - self.replace_header(response, "operation-location", old, new) - self.replace_header(response, "azure-asyncoperation", old, new) - self.replace_header(response, "www-authenticate", old, new) - - try: - response["url"] = replace_subscription_id(response["url"]) - except KeyError: - pass - - try: - for old, new in self.names_name: - response["url"].replace(old, new) - except KeyError: - pass - - try: - response["url"] = response["url"].replace(old, new) - except KeyError: - pass - - return response - - -class RequestUrlNormalizer(RecordingProcessor): - """URL parsing fix to account for '//' vs '/' in different versions of python""" - - def process_request(self, request): - import re - - request.uri = re.sub("(? length: - raise ValueError("The length of the prefix must not be longer than random name length") - - padding_size = length - len(prefix) - if padding_size < 4: - raise ValueError( - "The randomized part of the name is shorter than 4, which may not be able to offer enough " "randomness" - ) - - random_bytes = os.urandom(int(math.ceil(float(padding_size) / 8) * 5)) - random_padding = base64.b32encode(random_bytes)[:padding_size] - - return str(prefix + random_padding.decode().lower()) - - -def get_sha1_hash(file_path): - sha1 = hashlib.sha256() - with open(file_path, "rb") as f: - while True: - data = f.read(65536) - if not data: - break - sha1.update(data) - - return sha1.hexdigest() - - -def _get_content_type(entity): - # 'headers' is a field of 'request', but it is a dict-key in 'response' - headers = getattr(entity, "headers", None) - if headers is None: - headers = entity.get("headers") - - content_type = None - if headers: - content_type = headers.get("content-type", None) - if content_type: - # content-type could an array from response, let us extract it out - content_type = content_type[0] if isinstance(content_type, list) else content_type - content_type = content_type.split(";")[0].lower() - return content_type - - -def is_text_payload(entity): - text_content_list = ["application/json", "application/xml", "text/", "application/test-content", - "application/merge-patch+json"] - - content_type = _get_content_type(entity) - if content_type: - return any(content_type.startswith(x) for x in text_content_list) - return True - - -def is_batch_payload(entity): - if _get_content_type(entity) == "multipart/mixed" and "&comp=batch" in entity.uri: - return True - return False - - -def is_json_payload(entity): - return _get_content_type(entity) == "application/json" - - -def trim_kwargs_from_test_function(fn, kwargs): - # the next function is the actual test function. the kwargs need to be trimmed so - # that parameters which are not required will not be passed to it. - if not is_preparer_func(fn): - try: - args, _, kw, _, _, _, _ = inspect.getfullargspec(fn) - except AttributeError: - args, _, kw, _ = inspect.getargspec(fn) # pylint: disable=deprecated-method - if kw is None: - args = set(args) - for key in [k for k in kwargs if k not in args]: - del kwargs[key] - - -def is_preparer_func(fn): - return getattr(fn, "__is_preparer", False) - - -def _decompress_response_body(response): - if "content-encoding" in response["headers"]: - enc = response["headers"]["content-encoding"].lower() - if enc in ["gzip", "deflate"] and isinstance(response["body"]["string"], six.binary_type): - zlib_mode = 16 + zlib.MAX_WBITS if enc == "gzip" else zlib.MAX_WBITS - decompressor = zlib.decompressobj(wbits=zlib_mode) - decompressed = decompressor.decompress(response["body"]["string"]) - decompressed = decompressed.decode("utf-8") - response["body"]["string"] = decompressed - response["headers"].pop("content-encoding") - return response - - -def replace_subscription_id(val, replacement="00000000-0000-0000-0000-000000000000"): - # subscription presents in all api call - retval = re.sub( - "/(subscriptions)/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - r"/\1/{}".format(replacement), - val, - flags=re.IGNORECASE, - ) - - # subscription is also used in graph call - retval = re.sub( - "https://(graph.windows.net)/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - r"https://\1/{}".format(replacement), - retval, - flags=re.IGNORECASE, - ) - return retval diff --git a/tools/azure-sdk-tools/dev_requirements.txt b/tools/azure-sdk-tools/dev_requirements.txt index fc7e3b122c21..e69de29bb2d1 100644 --- a/tools/azure-sdk-tools/dev_requirements.txt +++ b/tools/azure-sdk-tools/dev_requirements.txt @@ -1 +0,0 @@ --e ../azure-devtools["ci_tools"] \ No newline at end of file diff --git a/tools/azure-sdk-tools/devtools_testutils/mgmt_testcase.py b/tools/azure-sdk-tools/devtools_testutils/mgmt_testcase.py index fba59fe571c8..3b86c1cf5ab7 100644 --- a/tools/azure-sdk-tools/devtools_testutils/mgmt_testcase.py +++ b/tools/azure-sdk-tools/devtools_testutils/mgmt_testcase.py @@ -68,7 +68,7 @@ def create_random_name(self): def moniker(self): """Override moniker generation for backwards compatibility. - azure-devtools preparers, by default, generate "monikers" which replace + AbstractPreparer preparers, by default, generate "monikers" which replace resource names in request URIs by tacking on a resource count to name_prefix. By contrast, SDK tests used the fully qualified (module + method) test name and the hashing process in get_resource_name. diff --git a/tools/azure-sdk-tools/setup.py b/tools/azure-sdk-tools/setup.py index 03ae0269c3f6..9dfa5b06d9e3 100644 --- a/tools/azure-sdk-tools/setup.py +++ b/tools/azure-sdk-tools/setup.py @@ -56,7 +56,7 @@ extras_require={ ":python_version>='3.5'": ["pytest-asyncio>=0.9.0"], ":python_version<'3.11'": ["tomli==2.0.1"], - "build": ["six", "setuptools", "pyparsing", "certifi", "cibuildwheel"], + "build": ["six", "setuptools", "pyparsing", "certifi", "cibuildwheel", "ConfigArgParse>=0.12.0"], "conda": ["beautifulsoup4"], "systemperf": ["aiohttp>=3.0", "requests>=2.0", "tornado==6.0.3", "httpx>=0.21", "azure-core"], "ghtools": ["PyGithub>=1.59.0"], diff --git a/tools/azure-sdk-tools/tests/integration/scenarios/complex_requirements/requirements.txt b/tools/azure-sdk-tools/tests/integration/scenarios/complex_requirements/requirements.txt index 53c0cb43d64b..5f47b5899e1c 100644 --- a/tools/azure-sdk-tools/tests/integration/scenarios/complex_requirements/requirements.txt +++ b/tools/azure-sdk-tools/tests/integration/scenarios/complex_requirements/requirements.txt @@ -5,7 +5,6 @@ opencensus>=0.6.0 opencensus-ext-azure opencensus-ext-threading -e ../../../../../../tools/azure-sdk-tools --e ../../../../../../tools/azure-devtools a/contained/package https://docsupport.blob.core.windows.net/repackaged/azure-core-1.5.0.zip ./optional-environment-test-1.0.0.zip \ No newline at end of file diff --git a/tools/azure-sdk-tools/tests/integration/scenarios/dev_requirement_samples/relative_requirements.txt b/tools/azure-sdk-tools/tests/integration/scenarios/dev_requirement_samples/relative_requirements.txt index 02fca9218a60..161354160df8 100644 --- a/tools/azure-sdk-tools/tests/integration/scenarios/dev_requirement_samples/relative_requirements.txt +++ b/tools/azure-sdk-tools/tests/integration/scenarios/dev_requirement_samples/relative_requirements.txt @@ -2,8 +2,6 @@ tests/testserver_tests/coretestserver -e tests/testserver_tests/coretestserver -e ../../identity/azure-identity ../../identity/azure-identity --e ../../../tools/azure-devtools -../../../tools/azure-devtools ../azure-mgmt-core -e ../azure-mgmt-core diff --git a/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_two_options/dev_requirements.txt b/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_two_options/dev_requirements.txt index ca6d25d38036..fa5e20a09978 100644 --- a/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_two_options/dev_requirements.txt +++ b/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_two_options/dev_requirements.txt @@ -1,6 +1,5 @@ -e ../../../../../../tools/azure-sdk-tools ../../../../../../sdk/core/azure-core --e ../../../../../../tools/azure-devtools aiohttp requests -e . \ No newline at end of file diff --git a/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_zero_options/dev_requirements.txt b/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_zero_options/dev_requirements.txt index a51867948136..db82a30663cc 100644 --- a/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_zero_options/dev_requirements.txt +++ b/tools/azure-sdk-tools/tests/integration/scenarios/optional_environment_zero_options/dev_requirements.txt @@ -1,5 +1,4 @@ -e ../../../../../../tools/azure-sdk-tools ../../../../../../sdk/core/azure-core --e ../../../../../../tools/azure-devtools aiohttp requests \ No newline at end of file diff --git a/tools/azure-sdk-tools/tests/test_requirements_parse.py b/tools/azure-sdk-tools/tests/test_requirements_parse.py index 3360f7296872..d49aaf1d0328 100644 --- a/tools/azure-sdk-tools/tests/test_requirements_parse.py +++ b/tools/azure-sdk-tools/tests/test_requirements_parse.py @@ -1,10 +1,7 @@ -import os, tempfile, shutil - - -import pytest +import os, shutil from typing import List -from ci_tools.generation import replace_dev_reqs +from ci_tools.scenario.generation import replace_dev_reqs integration_folder = os.path.join(os.path.dirname(__file__), "integration") sample_dev_reqs_folder = os.path.join(integration_folder, "scenarios", "dev_requirement_samples") @@ -66,16 +63,14 @@ def test_replace_dev_reqs_relative(tmp_directory_create): expected_results = [ os.path.join(expected_output_folder, "coretestserver-1.0.0b1-py3-none-any.whl"), os.path.join(expected_output_folder, "coretestserver-1.0.0b1-py3-none-any.whl"), - os.path.join(expected_output_folder, "azure_identity-1.15.1-py3-none-any.whl"), - os.path.join(expected_output_folder, "azure_identity-1.15.1-py3-none-any.whl"), - os.path.join(expected_output_folder, "azure_devtools-1.2.1-py2.py3-none-any.whl"), - os.path.join(expected_output_folder, "azure_devtools-1.2.1-py2.py3-none-any.whl"), + os.path.join(expected_output_folder, "azure_identity-1.16.0b3-py3-none-any.whl"), + os.path.join(expected_output_folder, "azure_identity-1.16.0b3-py3-none-any.whl"), os.path.join(expected_output_folder, "azure_mgmt_core-1.4.0-py3-none-any.whl"), os.path.join(expected_output_folder, "azure_mgmt_core-1.4.0-py3-none-any.whl"), os.path.join(expected_output_folder, "azure_sdk_tools-0.0.0-py3-none-any.whl[build]"), os.path.join(expected_output_folder, "azure_sdk_tools-0.0.0-py3-none-any.whl[build]"), - os.path.join(expected_output_folder, "azure_core-1.29.6-py3-none-any.whl"), - os.path.join(expected_output_folder, "azure_core-1.29.6-py3-none-any.whl"), + os.path.join(expected_output_folder, "azure_core-1.30.2-py3-none-any.whl"), + os.path.join(expected_output_folder, "azure_core-1.30.2-py3-none-any.whl"), ] requirements_before = get_requirements_from_file(requirements_file)