Azure / azure-uamqp-python

AMQP 1.0 client library for Python
MIT License
55 stars 47 forks source link

Use correct test proxy storage location in Mac/Linux pipeline jobs #358

Closed mccoyp closed 1 year ago

mccoyp commented 1 year ago

Context

Mac and Ubuntu pipeline runs have been failing for Service Bus because the assets.json file path that's being used to find recordings is incorrect:

azure.core.exceptions.HttpResponseError: {"Message":"The provided assets.json path of \u0022/Users/runner/work/1/s/sdk/servicebus/azure-servicebus/assets.json\u0022 does not exist.","Status":"BadRequest"}

The problem is that the test proxy is looking for azure-servicebus/assets.json under /Users/runner/work/1/s/sdk/servicebus instead of /Users/runner/work/1/s/azure-sdk-for-python/sdk/servicebus. After some debugging, it turned out that Windows and Mac/Linux jobs were all providing the same assets.json path, relative to the azure-sdk-for-python root, to the test proxy at the same section of devtools_testutils/proxy_testcase.py:

sdk/servicebus/azure-servicebus/assets.json

The full path that the test proxy uses is this provided assets.json path, appended to the tool's storage location. The problem, then, was that the test proxy itself was being provided with the correct --storage-location argument for Windows jobs but not for Mac/Linux jobs. This PR resolves this after verifying the changes with this pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=2162498&view=results