-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test proxy & storage tests improvements #4241
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You probably want George's review, but as for me, changes look good.
You are touching a lot of tests and as a result, code coverage may improve. I suggest to grab code coverage numbers from a successful run closer to the end of code review, and update the numbers in ci.yml
s.
/azp run cpp - keyvault - ci |
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
/azp run cpp - attestation - ci |
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
@gearama What change do I need to make to enable the tests? |
@Jinming-Hu, I think @gearama meant that you can touch some files in each of the library, so the CI would trigger a run of |
@Jinming-Hu, you can trigger CI pipelines manually, as I just did for identity pipeline, but the runs won't be visible here. Maybe it is better to just add a space into each library's I wonder if running non-CI pipelines would give us the same level of verification (although taking longer). These ones you can run via Next week I'll bring this up, I think we should allow the |
@antkmsft Really? There's no way to trigger the pipeline without actually making changes? Is that how pipeline works? It's kind of inconvenient. So we'll need to add an extra empty line or something in the |
f2101ce
to
113553b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good to me, don't forget to handle #4372 at some point :).
* update comment (#4364) * update comment * jghjg * update broken link * Update sdk/keyvault/tools/cleanup/src/cleanup.cpp Co-authored-by: Anton Kolesnyk <[email protected]> --------- Co-authored-by: Anton Kolesnyk <[email protected]> * Docker comment (#4375) * update comment * add comment about vcpkg * dsfs * Trigger`keyvault` on proxy changes (#4343) * autotrigger the keyvault and storage CI when a testproxy file is changed * Generate API review for C++ using new parser (#4302) * Add vmImage back to common perf.yml - Fixes #5466 - Partially reverts #5456 (#4376) Co-authored-by: Mike Harder <[email protected]> * Fix pipelines path (#4358) * test path * qwq * dsda * asas * dsada * sdsds * Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml Co-authored-by: Mike Harder <[email protected]> * Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml Co-authored-by: Mike Harder <[email protected]> * remove warmup --------- Co-authored-by: Mike Harder <[email protected]> * Test proxy & storage tests improvements (#4241) * Temporarily pin Node 18 to 18.13.0 - Fixes #5536 (#4378) Co-authored-by: Mike Harder <[email protected]> * Storage tests improvement (#4382) * Update CODEOWNERS (#4380) * show headers and query parameters in storage CI pipeline (#4379) * Sync eng/common directory with azure-sdk-tools for PR 5431 #2501 Co-authored-by: Konrad Jamrozik <[email protected]> * Sync eng/common directory with azure-sdk-tools for PR 5562 (#4384) * Add todos to update packages to pick up the newest CODEOWNERS interpreter * update --------- Co-authored-by: Konrad Jamrozik <[email protected]> * Fix Share Client failure #4377 (#4381) * Fix Share Client failure #4377 * decrease request count to avoid throttling errors for storage tests (#4385) * Sync eng/common directory with azure-sdk-tools for PR 5568 (#4387) * we encourage folks to place their assets.jsons at the package level * update generate-assets-json.ps1 to only include src/**/session-records so as to avoid picking up the duplicated 'target' sessionrecords --------- Co-authored-by: scbedd <[email protected]> * Add support to ignore invalid cert common name (#4361) * update to version 7.4 for admin. update tests (#4388) * update proxy version to include Info/Active against individual sessions + allow delayed response (#4391) Co-authored-by: scbedd <[email protected]> * Sync eng/common directory with azure-sdk-tools for PR 5540 (#4396) * add parameter to set cadl emitter options * remove emitter name in the additional parameter --------- Co-authored-by: chunyu3 <[email protected]> * Follow-up to update changelog to reflect community contribution (#4393) * Follow-up to update changelog to reflect community contribution * Upgrade cspell version from 0.1 to 0.2 * logging api post request body (#4404) Co-authored-by: Albert Cheng <[email protected]> * Sync eng/common directory with azure-sdk-tools for PR 5595 (#4400) * Use "npm ci" to install cspell and respect package-lock.json * Review feedback * Pipe npm ci output to Write-Host --------- Co-authored-by: Daniel Jurek <[email protected]> --------- Co-authored-by: George Arama <[email protected]> Co-authored-by: Anton Kolesnyk <[email protected]> Co-authored-by: Scott Beddall <[email protected]> Co-authored-by: Praven Kuttappan <[email protected]> Co-authored-by: Azure SDK Bot <[email protected]> Co-authored-by: Mike Harder <[email protected]> Co-authored-by: JinmingHu <[email protected]> Co-authored-by: Konrad Jamrozik <[email protected]> Co-authored-by: chunyu3 <[email protected]> Co-authored-by: Ahson Khan <[email protected]> Co-authored-by: Albert Cheng <[email protected]> Co-authored-by: Daniel Jurek <[email protected]>
* update comment (Azure#4364) * update comment * jghjg * update broken link * Update sdk/keyvault/tools/cleanup/src/cleanup.cpp Co-authored-by: Anton Kolesnyk <[email protected]> --------- Co-authored-by: Anton Kolesnyk <[email protected]> * Docker comment (Azure#4375) * update comment * add comment about vcpkg * dsfs * Trigger`keyvault` on proxy changes (Azure#4343) * autotrigger the keyvault and storage CI when a testproxy file is changed * Generate API review for C++ using new parser (Azure#4302) * Add vmImage back to common perf.yml - Fixes Azure#5466 - Partially reverts Azure#5456 (Azure#4376) Co-authored-by: Mike Harder <[email protected]> * Fix pipelines path (Azure#4358) * test path * qwq * dsda * asas * dsada * sdsds * Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml Co-authored-by: Mike Harder <[email protected]> * Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml Co-authored-by: Mike Harder <[email protected]> * remove warmup --------- Co-authored-by: Mike Harder <[email protected]> * Test proxy & storage tests improvements (Azure#4241) * Temporarily pin Node 18 to 18.13.0 - Fixes Azure#5536 (Azure#4378) Co-authored-by: Mike Harder <[email protected]> * Storage tests improvement (Azure#4382) * Update CODEOWNERS (Azure#4380) * show headers and query parameters in storage CI pipeline (Azure#4379) * Sync eng/common directory with azure-sdk-tools for PR 5431 Azure#2501 Co-authored-by: Konrad Jamrozik <[email protected]> * Sync eng/common directory with azure-sdk-tools for PR 5562 (Azure#4384) * Add todos to update packages to pick up the newest CODEOWNERS interpreter * update --------- Co-authored-by: Konrad Jamrozik <[email protected]> * Fix Share Client failure Azure#4377 (Azure#4381) * Fix Share Client failure Azure#4377 * decrease request count to avoid throttling errors for storage tests (Azure#4385) * Sync eng/common directory with azure-sdk-tools for PR 5568 (Azure#4387) * we encourage folks to place their assets.jsons at the package level * update generate-assets-json.ps1 to only include src/**/session-records so as to avoid picking up the duplicated 'target' sessionrecords --------- Co-authored-by: scbedd <[email protected]> * Add support to ignore invalid cert common name (Azure#4361) * update to version 7.4 for admin. update tests (Azure#4388) * update proxy version to include Info/Active against individual sessions + allow delayed response (Azure#4391) Co-authored-by: scbedd <[email protected]> * Sync eng/common directory with azure-sdk-tools for PR 5540 (Azure#4396) * add parameter to set cadl emitter options * remove emitter name in the additional parameter --------- Co-authored-by: chunyu3 <[email protected]> * Follow-up to update changelog to reflect community contribution (Azure#4393) * Follow-up to update changelog to reflect community contribution * Upgrade cspell version from 0.1 to 0.2 * logging api post request body (Azure#4404) Co-authored-by: Albert Cheng <[email protected]> * Sync eng/common directory with azure-sdk-tools for PR 5595 (Azure#4400) * Use "npm ci" to install cspell and respect package-lock.json * Review feedback * Pipe npm ci output to Write-Host --------- Co-authored-by: Daniel Jurek <[email protected]> --------- Co-authored-by: George Arama <[email protected]> Co-authored-by: Anton Kolesnyk <[email protected]> Co-authored-by: Scott Beddall <[email protected]> Co-authored-by: Praven Kuttappan <[email protected]> Co-authored-by: Azure SDK Bot <[email protected]> Co-authored-by: Mike Harder <[email protected]> Co-authored-by: JinmingHu <[email protected]> Co-authored-by: Konrad Jamrozik <[email protected]> Co-authored-by: chunyu3 <[email protected]> Co-authored-by: Ahson Khan <[email protected]> Co-authored-by: Albert Cheng <[email protected]> Co-authored-by: Daniel Jurek <[email protected]>
# Conflicts: # sdk/core/azure-core/CHANGELOG.md
# Conflicts: # sdk/core/azure-core/CHANGELOG.md
In this PR, we:
sdk/core/azure-core-test/inc/azure/core/test/network_models.hpp
.TestBase::ValidateSkippingTest()
andTestBase::IsValidTime()
.TestBase::InitClientOptions()
.TestProxyManager::SetStopRecordMode()
,TestProxyManager::SetStopPlaybackMode()
.Expect
andConnection
headers so that recording made by libcurl can be used by WinHTTP and also the other way aroundHost
header is not correctly set for non-default port #4213Content-Length
header for HEAD/GET/DELETE requests, which caused a behavior misalignment between libcurl and WinHTTP, making the requests recorded by one of the transport layer unusable by the other.Content-Length
header for GET requests from existing recordings.Host
was set in the original request *CHECK_SKIP_TEST
macro. We check if test cases is live-only inSetUpTestBase()
function. With this change, the only thing we need to do to mark a test case live-only is to add_LIVEONLY_
suffix in case name. There's no need to callCHECK_SKIP_TEST
macro anymore.* A little more explanation of this bug:
Transport layer accepts a request with a URL and request headers in it. If
Host
header is not in request headers, libcurl transport will extract host from URL and setHost
header. IfHost
is already in request, libcurl transport does nothing.Test-proxy policy modifies host in URL to
localhost:5001
, but it doesn't modifyHost
header (I think it's a negligence).For most of the requests we don't set
Host
header. Test-proxy modifies host in the URL tolocalhost:5001
, libcurl extractslocalhost:5001
from URL and setHost
header. Everything works perfectly.For very few requests,
Host
header is already set. Test-proxy only modifies host in the URL, libcurl doesn't setHost
header because there's one already. Now the host inHost
header and URL don't match. These requests cannot be recorded & played back.Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.