Merge ~ltrager/maas:lp1870171_2_2.4 into maas:2.4

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: c83bdf530486cb647b0eb6fa24d29f45a0c22b52
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:lp1870171_2_2.4
Merge into: maas:2.4
Diff against target: 46 lines (+11/-3)
2 files modified
src/maasserver/models/tests/test_userprofile.py (+7/-2)
src/maasserver/models/userprofile.py (+4/-1)
Reviewer Review Type Date Requested Status
Lee Trager (community) Approve
Review via email: mp+382532@code.launchpad.net

Commit message

Backport of c25d426 LP: #1870171 - Remove token associations when transferring ownership of a Node.

To post a comment you must log in.
Revision history for this message
Lee Trager (ltrager) wrote :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/models/tests/test_userprofile.py b/src/maasserver/models/tests/test_userprofile.py
2index 1a9bdc3..5ae0af7 100644
3--- a/src/maasserver/models/tests/test_userprofile.py
4+++ b/src/maasserver/models/tests/test_userprofile.py
5@@ -12,6 +12,7 @@ from maasserver.models import (
6 UserProfile,
7 )
8 from maasserver.models.user import (
9+ create_auth_token,
10 GENERIC_CONSUMER,
11 get_auth_tokens,
12 SYSTEM_USERS,
13@@ -138,12 +139,16 @@ class UserProfileTest(MAASServerTestCase):
14
15 def test_transfer_resources(self):
16 user = factory.make_User()
17- node = factory.make_Node(owner=user)
18+ token = create_auth_token(user)
19+ node = factory.make_Node(owner=user, token=token)
20 ipaddress = factory.make_StaticIPAddress(user=user)
21 iprange = factory.make_IPRange(user=user)
22 new_user = factory.make_User()
23 user.userprofile.transfer_resources(new_user)
24- self.assertEqual(reload_object(node).owner, new_user)
25+ token.delete()
26+ node = reload_object(node)
27+ self.assertEqual(node.owner, new_user)
28+ self.assertIsNone(node.token)
29 self.assertEqual(reload_object(ipaddress).user, new_user)
30 self.assertEqual(reload_object(iprange).user, new_user)
31
32diff --git a/src/maasserver/models/userprofile.py b/src/maasserver/models/userprofile.py
33index be6a208..31bb562 100644
34--- a/src/maasserver/models/userprofile.py
35+++ b/src/maasserver/models/userprofile.py
36@@ -104,7 +104,10 @@ class UserProfile(CleanSave, Model):
37 :type new_owner: maasserver.models.UserProfile
38
39 """
40- self.user.node_set.update(owner=new_owner)
41+ # LP:1870171 - Make sure the previous owners key isn't assoicated with
42+ # any node. Nothing uses the token and in MAAS 2.8+ Node.token has
43+ # been removed.
44+ self.user.node_set.update(owner=new_owner, token=None)
45 self.user.staticipaddress_set.update(user=new_owner)
46 self.user.iprange_set.update(user=new_owner)
47

Subscribers

People subscribed via source and target branches