~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/code/stories/branches/xx-subscribing-branches.txt

[r=sinzui][bug=605130] (Landed on behalf of wallyworld) Grant
 LimitedView to private team branch subscribers.

Show diffs side-by-side

added added

removed removed

Lines of Context:
254
254
    Mark Shuttleworth
255
255
 
256
256
 
257
 
Private team exclusion
258
 
======================
259
 
 
260
 
If a private team is subscribed to the branch, it is excluded from the list of
261
 
subscribers if the user is not an admin or a member of the team.
262
 
 
263
 
    >>> from lp.testing import ANONYMOUS, login, logout
 
257
Private team's in public subscriptions
 
258
======================================
 
259
 
 
260
If a private team is subscribed to a publicthe branch, it is visible
 
261
to everyone.
 
262
 
 
263
    >>> from lp.testing import login, logout
 
264
    >>> from lp.registry.interfaces.person import PersonVisibility
 
265
    >>> from lp.code.enums import (
 
266
    ...     BranchSubscriptionNotificationLevel,
 
267
    ...     CodeReviewNotificationLevel)
 
268
 
264
269
    >>> login('admin@canonical.com')
265
 
    >>> from lp.registry.interfaces.person import PersonVisibility
266
270
    >>> private_team = factory.makeTeam(
267
271
    ...     name='shh', displayname='Shh',
268
272
    ...     visibility=PersonVisibility.PRIVATE)
271
275
    >>> ignored = private_team.addMember(member, private_team.teamowner)
272
276
    >>> owner = factory.makePerson(name='branch-owner')
273
277
    >>> branch = factory.makeAnyBranch(owner=owner)
274
 
    >>> from lp.code.enums import (
275
 
    ...     BranchSubscriptionNotificationLevel,
276
 
    ...     CodeReviewNotificationLevel)
277
278
    >>> ignored = branch.subscribe(
278
279
    ...     private_team, BranchSubscriptionNotificationLevel.NOEMAIL, None,
279
280
    ...     CodeReviewNotificationLevel.NOEMAIL, private_team.teamowner)
280
281
    >>> url = canonical_url(branch)
281
282
    >>> logout()
282
283
 
283
 
No-priv is not a member of the private team, so the private team is not shown
284
 
as a subscriber.
 
284
No-priv is not a member of the private team, but he can see the team's
 
285
display name in the subscriber list.
285
286
 
286
287
    >>> browser.open(url)
287
288
    >>> print_subscribers(browser.contents)
288
289
    Branch-owner
289
 
 
290
 
A team member looking at the branch will see the private team subscribed.
291
 
 
292
 
    >>> private_browser = setupBrowser(auth='Basic shh@example.com:test')
293
 
    >>> private_browser.open(url)
294
 
    >>> print_subscribers(private_browser.contents)
295
 
    Branch-owner
296
290
    Shh