HewlettPackard / jupyterhub-samlauthenticator

jupyterhub-samlauthenticator
MIT License
36 stars 26 forks source link

Use xpath's string() to convert node-set to string #48

Closed duongnt closed 4 years ago

duongnt commented 4 years ago

To get username from SAML response, right now we execute an xpath expression, expect the results as a nodeset, and then return the first item in the nodeset. This behavior can be done completely in xpath using https://www.w3.org/TR/1999/REC-xpath-19991116/#function-string

This diff expects the xpath_username_location expression to be written in that way, so we could just return the whole result.

This fixes #46

Developer Certificate of Origin Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 660 York Street, Suite 102, San Francisco, CA 94110 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

Signed-off-by: Thi Duong Nguyen (thiduongnguyen@gmail.com)

codecov-io commented 4 years ago

Codecov Report

Merging #48 into master will increase coverage by 0.05%. The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
+ Coverage   91.01%   91.06%   +0.05%     
==========================================
  Files           2        2              
  Lines         345      347       +2     
==========================================
+ Hits          314      316       +2     
  Misses         31       31
Impacted Files Coverage Δ
samlauthenticator/samlauthenticator.py 91.04% <100%> (+0.05%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d78b663...52a101c. Read the comment docs.

distortedsignal commented 4 years ago

Looks like this PR created a branch we haven't covered in a test case. Would you mind writing a test for it?

duongnt commented 4 years ago

@distortedsignal Could you please take another look at the PR?

distortedsignal commented 4 years ago

Sorry, it's been a really crazy day - one long lunch after an acquisition, people deleting branches in other repos - I'll get to this tonight. Promise.