1
# Copyright 2012, 2013 Canonical Ltd. This software is licensed under the
1
# Copyright 2012-2014 Canonical Ltd. This software is licensed under the
2
2
# GNU Affero General Public License version 3 (see the file LICENSE).
4
4
"""Tests for the UserProfile model."""
35
35
def test_profile_creation(self):
36
36
# A profile is created each time a user is created.
37
user = factory.make_user()
37
user = factory.make_User()
38
38
self.assertIsInstance(user.get_profile(), UserProfile)
39
39
self.assertEqual(user, user.get_profile().user)
41
41
def test_consumer_creation(self):
42
42
# A generic consumer is created each time a user is created.
43
user = factory.make_user()
43
user = factory.make_User()
44
44
consumers = Consumer.objects.filter(user=user, name=GENERIC_CONSUMER)
45
45
self.assertEqual([user], [consumer.user for consumer in consumers])
47
47
def test_token_creation(self):
48
48
# A token is created each time a user is created.
49
user = factory.make_user()
49
user = factory.make_User()
50
50
[token] = get_auth_tokens(user)
51
51
self.assertEqual(user, token.user)
53
53
def test_create_authorisation_token(self):
54
54
# UserProfile.create_authorisation_token calls create_auth_token.
55
user = factory.make_user()
55
user = factory.make_User()
56
56
profile = user.get_profile()
57
57
consumer, token = profile.create_authorisation_token()
58
58
self.assertEqual(user, token.user)
61
61
def test_get_authorisation_tokens(self):
62
62
# UserProfile.get_authorisation_tokens calls get_auth_tokens.
63
user = factory.make_user()
63
user = factory.make_User()
64
64
consumer, token = user.get_profile().create_authorisation_token()
65
65
self.assertIn(token, user.get_profile().get_authorisation_tokens())
67
67
def test_delete(self):
68
68
# Deleting a profile also deletes the related user.
69
profile = factory.make_user().get_profile()
69
profile = factory.make_User().get_profile()
70
70
profile_id = profile.id
71
71
user_id = profile.user.id
72
72
self.assertTrue(User.objects.filter(id=user_id).exists())
93
93
def test_delete_attached_nodes(self):
94
94
# Cannot delete a user with nodes attached to it.
95
profile = factory.make_user().get_profile()
96
factory.make_node(owner=profile.user)
95
profile = factory.make_User().get_profile()
96
factory.make_Node(owner=profile.user)
97
97
self.assertRaises(CannotDeleteUserException, profile.delete)
99
99
def test_manager_all_users(self):
100
users = set(factory.make_user() for i in range(3))
100
users = set(factory.make_User() for i in range(3))
101
101
all_users = set(UserProfile.objects.all_users())
102
102
self.assertEqual(users, all_users)
104
104
def test_manager_all_users_no_system_user(self):
105
105
for i in range(3):
108
108
user.username for user in UserProfile.objects.all_users())
109
109
self.assertTrue(set(SYSTEM_USERS).isdisjoint(usernames))