Merge lp:~wgrant/launchpad/bug-1005330 into lp:launchpad
Status: | Merged |
---|---|
Merged at revision: | 15316 |
Proposed branch: | lp:~wgrant/launchpad/bug-1005330 |
Merge into: | lp:launchpad |
Diff against target: |
367 lines (+179/-72) 7 files modified
lib/lp/registry/browser/tests/test_person_webservice.py (+89/-0) lib/lp/registry/interfaces/person.py (+14/-1) lib/lp/registry/model/person.py (+25/-0) lib/lp/registry/stories/webservice/xx-people.txt (+0/-71) lib/lp/registry/tests/test_personset.py (+34/-0) lib/lp/testing/__init__.py (+3/-0) lib/lp/testing/_login.py (+14/-0) |
To merge this branch: | bzr merge lp:~wgrant/launchpad/bug-1005330 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Benji York (community) | code | Approve | |
Review via email: mp+107605@code.launchpad.net |
Commit message
Add and export PersonSet.
Description of the change
This branch adds and exports PersonSet.
Unlike other methods around the application that purport to deal with OpenID identifiers, this method actually does. The rest of our code thinks an identifier is the unique "4tLsDY8" part of "https:/
I replaced the PersonSet webservice doctest with unit tests, and added new ones for this. I also added a new admin_logged_in context manager; it's less slow, less verbose, and less emaily than celebrity_
The + in the path was initially some cause for concern, as applications have a habit of reencoding specialish characters. But by RFC 2396 section 2.2 it is reserved and cannot be reencoded, and we know that SSO always sends it unencoded. So I've opted to be strict and only accept the canonical form sent by SSO. It shouldn't be a problem, but if it proves to be we can come up with a more lenient implementation.
This branch looks good. The translation of doctests to unittests was well done (the prose was carried over well and resulted in nicely readable tests).