Skip to content
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

feat: new redaction methodology for Python metrics client #266

Merged
merged 5 commits into from
Jul 7, 2021

Conversation

RyanGWU82
Copy link
Contributor

@RyanGWU82 RyanGWU82 commented Jun 30, 2021

🧰 What's being changed?

Updated the redaction logic so that redacted fields will be replaced by [REDACTED], or in the case of strings, [REDACTEDn] where n is the length of the string.

Wrote new tests that test redaction in isolation, but kept the old tests around for extra safety. The old tests would test redaction only in the context of serializing an entire HTTP request. They're kinda weird — they just check for the presence of substrings like password inside a serialized JSON result.

I also wound up making some pretty significant changes to the PayloadBuilder's code for parsing the request/response body, because that code was tightly coupled to the old util_exclude_keys and util_filter_keys functions. The tests here are not very thorough and don't cover all cases but I'm pretty confident it's still generating the correct output. It would probably be smart to review the HAR spec and write more comprehensive test cases, but how valuable that would be for ReadMe, I can't say.

🧪 Testing

Tested locally in the Python test server. Also ran pytest, all tests pass.

@RyanGWU82
Copy link
Contributor Author

@domharrington @emilyskuo @ilias-t Gentle nudge on this PR too, thanks!

@ilias-t
Copy link
Contributor

ilias-t commented Jul 6, 2021

code LGTM, but I'm not a python expert, so not comfortable ✅ 'ing

Copy link
Member

@emilyskuo emilyskuo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm also not a Python expert, but also looks good to me so I'll approve 🙈

Base automatically changed from version-1.1 to python-next July 7, 2021 23:10
@RyanGWU82 RyanGWU82 merged commit 96163eb into python-next Jul 7, 2021
@RyanGWU82 RyanGWU82 deleted the python-rm-1407 branch July 7, 2021 23:13
domharrington pushed a commit that referenced this pull request Apr 19, 2022
* feat: new redaction methodology for Python metrics client

* release: bump version number to 1.2.0 due to changes with redaction

* fix: redacted strings should have a space between REDACTED and their length

* fix: remove outdated TODO

* Update packages/python/readme_metrics/PayloadBuilder.py

Co-authored-by: Emily Kuo <[email protected]>

Co-authored-by: Emily Kuo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants