Closed cmcinnes-mdsol closed 4 years ago
FYI, CI will fail until we make the mauth-protocol-test-suite public.
@mdsol/team-16 I initially added https://github.com/mdsol/mauth-protocol-test-suite as a git submodule and had it run on every travis build but had to opt for a file path approach (that doesn't run in travis) as the test suite repo is not yet public so can't be accessed from Travis here.
To try out running the procotol test suite locally see the directions in CONTRIBUTING.md
@cmcinnes-mdsol any pressing reason we have to have that PR completed ASAP? I think making the submodules repo open source and leverage it here is the right thing to do. Have you made a request for open sourcing already or do you need help to do so?
Hey @jfeltesse-mdsol. I agree that open sourcing the test suite and using it as a submodule is the right way to go. I've obtained VP approval for open sourcing (from Sharlene Carnegie) but as @ejennings-mdsol pointed out we borrowed heavily from the aws test suite for the mauth protocol test suite and we need to figure out licensing with the legal team before we proceed. The aws test suite is licensed under the apache license (AFAIK we usually use the MIT license).
We thought that might be a longer process so I went with the current approach instead to unblock this story.
@mdsol/team-16 this PR incorporate the new mauth protocol test suite into this client as a submodule. Opening as draft because the test suite PR has not yet been merged and because i still need to work on request path normalization.
The PR adds some parsing code that turns the files in the test suite into runnable rspec tests.
The PR also implements (with unit tests) the new and improved MWSV2 protocol, including removing "double encoding" of query strings and adding some normalization of the
request_url_path
.I also updated the contributing doc slightly as using submodules adds some complexity when cloning (i'd appreciate feedback on this section as i'm not super familiar with submodules).
I have not updated the changelog or version here. I'll do that in a follow up PR that makes the fallback to v1 configurable.