-
Notifications
You must be signed in to change notification settings - Fork 106
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
Initial support for new_context clientCertificates #3859
base: main
Are you sure you want to change the base?
Conversation
Hi Few notes
Writing test is tricky, because in our test app we do not have support for this one (I think, I did not look into it that deeply.) At least there should be test which uses the argument. But it would be really nice if you could do modifications on the test app to use the certificate. |
Also look at the CI failure, it seems that you should run |
@allcontributors please add @okraus-ari for code. |
I've put up a pull request to add @okraus-ari! 🎉 |
Ok, I have added the documentation and did some tidying, all tests passed. Would you like to go forward without the tests or should we cover the case? I think this should not be that complicated if we can agree on adding a certificate just for the client and omitting mTLS authentication part on the server side. That would be quite complicated, I think. |
Yes, we can go forward with just the clint side tests. |
Really nice work on writing that test. |
There is small linting problem with test you wrote. Running |
Attached logs because there seems to be some sort of an error in the new tests |
I'm sorry, I have missed your comments, it was work in progress. In the end I had to drop support for encrypted private keys as I was not able to convince NodeJS to accept the passphrase. I think that it should be ok to stick with plain private keys for now and we can try to add some encryption afterwards. There is also one problem, I might have broken something. I had to strenghten checks in stop_test_server() and now some other tests started to fail. Can you look into it? I can of course move my code to some other function, but there is a chance, that these problems were previously hidden. One last thing, I tried to set ${HTTPS_SERVER_PORT} the same way ${SERVER_PORT} is set in init.robot, but it did not work for me and sticked to the default value in variables.resource. Am I missing something? |
At least one run had some unrelated error. Rerunning. |
Looks like Windows file paths are problematic: And for Mac there some other problem: |
Linux failure: Windows failure |
It looks like a bug in Robot Framework, in Windows log you can see that this path:
gets translated into:
|
Well, you could add logging in Python and Node side, in various places to see where path is converted incorrectly. |
I would like to contribute support for authentication with client certificates, added in Playwright version 1.46:
https://playwright.dev/docs/release-notes#version-146
Initial version of this functionality covers only adding certificates with keyword
New Context
:As I am pretty new to Python and Robot framework, I did not cover the implementation with tests. I would probably need some help with that.
Fixes #3860