-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[Unified Recorder] Features #15829
Comments
Hey @HarshaNalluru ! Thanks for the details! Couple comments!
Will have this for ya very soon. Messing about with permissions on our ACR to make it truely anonymous access.
We absolutely support this for header/URI quite well. I will finish updating the README with a whole bunch of detail and examples and forward it to ya. Should have that for you later today.
Same as above.
Which test can I work against to repro? I've got an early version of this already implemented, but don't want to put you through debugging it against a docker container :P
Should already be there, let's chat about where it's not happening! After a brief discussion, I'll use the branch For any questions I have that require additional detail, I'll send you a teams meeting request! Thanks! |
Assume a test generates a uuid, the saved request has a different uuid from what will be the request during playback. So, this needs customization of the request in playback with a regex of sorts.
Sure, I just logged this issue with all the details so they are being traked somewhere, I'll strikeoff one-by-one as I test them. :)
The PR #15826 isn't merged yet, feature branch can be used once that is merged. Until then, the only way would be to use my branch. |
Output of our discussion on 6/21.
Sitting on this one given the new startup scripts.
Need to think about this more. The test pr has exact context for example.
This is done. Additional q not in set above. Need to ensure
The bodies of the responses have a string that's NOT a secret, but still trips credscan. Here's an example. Check for
I will add a
Use a Filing issues for:
|
Hey @HarshaNalluru, got some updates for ya. General Discussion and AdviceTo begin, you don't need to install a specific tag of the docker image anymore. Use the When you're running in I believe there should be a In Python, I'd handle this with a For all of the below examples, feel free to hit /Info/Available for additional detail. I also have unit tests that exercise these sanitizers Random TableNames, other resources that are randomly generated.I did give some thought to your original question WRT the whole:
I don't really think there is a way to do this with a remote server. At least, not one that would be performant. I think the better way to do this is one of two options
Of course, I'm open to further feedback and discussion here. Remove-Header SanitizerThis one is pretty straightforward, pass along a comma separated list of key or keys for headers that you want gone from the saved recording. POST
url: <proxyURL>/Admin/AddSanitizer
headers: {
"x-abstraction-identifier": "BodyRegexSanitizer"
}
body: {
"headersForRemoval": "Location,<your-other-header>",
} Spaces are trimmed, so you don't need to worry about whitespace around the commas. You also aren't limited to a single one of these, so you could add multiple Body-Key SanitizerUse this sanitizer if you want to update a specific member w/ a regex or whole value replace. The document string in POST
url: <proxyURL>/Admin/AddSanitizer
headers: {
"x-abstraction-identifier": "BodyKeySanitizer"
}
body: {
"value": "<your-new-value>",
"regex": ".*",
"jsonPath": "$.TableName"
} Note that the above example is just a "complete" replacement. You can do a scoped replacement just like I have for the BodyRegex example. Body Regex SanitizerUse this sanitizer if you aren't dealing with a JSON body. It does free-text regex replace. Your POST
url: <proxyURL>/Admin/AddSanitizer
headers: {
"x-abstraction-identifier": "BodyRegexSanitizer"
}
body: {
"value": "<your-new-value>",
"regex": "scope\\=(?<scope>[^&]*)",
"groupForReplace": "scope"
} In SummaryI believe the above should meet the vast majority of the needs you have. I have a Additionally, I believe that providing an superceding sanitizer that does I expect more issues will arise as this get's coded into real tests, but I'll tackle those when they occur. Easiest way to get through it is to hit the failure. |
Hi @HarshaNalluru, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support. |
Background
Bare minimum prototype with storage blob client (underlying core-http) #15826 node test.
Beyond the investigations and issues encountered so far in building a primitive prototype, a lot more needs to be done, following is the list of features that are required before we can attempt migrating the SDKs.
Features / Bugs to fix
proxy-tool
through dev-tool #18322@azure-tools/test-recorder
. (mainly because@azure-tools/test-recorder
has been already published). So, the users will only need to import@azure-tools/test-recorder
.recorder-new
code to the@azure-tools/test-recorder
package after [Unified Recorder] Add sample unified recorder tests to template #18817 is merged and we lock the design from the user's perspective.recorder.configureClient()
design similar to the perf framework #19364nohup
-ed tool runs so we can dump the log later azure-sdk-tools#2252 (comment)this.skip()
and the if checks)Resources
The text was updated successfully, but these errors were encountered: