blob: 22a7552aef0cc43f27e5a3ede43d1eb47f9dff9e [file] [log] [blame]
Adrià Vilanova Martínezf19ea432024-01-23 20:20:52 +01001# Copyright 2017 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
Copybara854996b2021-09-07 19:36:02 +00004
5"""Unit tests for the authdata module."""
6from __future__ import print_function
7from __future__ import division
8from __future__ import absolute_import
9
10import mock
11import unittest
12
13from google.appengine.api import users
14
15from framework import authdata
16from services import service_manager
17from testing import fake
18
19
20class AuthDataTest(unittest.TestCase):
21
22 def setUp(self):
23 self.cnxn = fake.MonorailConnection()
24 self.services = service_manager.Services(
25 user=fake.UserService(),
26 usergroup=fake.UserGroupService())
27 self.user_1 = self.services.user.TestAddUser('test@example.com', 111)
28
29 def testFromRequest(self):
30
31 class FakeUser(object):
32 email = lambda _: self.user_1.email
33
34 with mock.patch.object(users, 'get_current_user',
35 autospec=True) as mock_get_current_user:
36 mock_get_current_user.return_value = FakeUser()
37 auth = authdata.AuthData.FromRequest(self.cnxn, self.services)
38 self.assertEqual(auth.user_id, 111)
39
40 def testFromEmail(self):
41 auth = authdata.AuthData.FromEmail(
42 self.cnxn, self.user_1.email, self.services)
43 self.assertEqual(auth.user_id, 111)
44 self.assertEqual(auth.user_pb.email, self.user_1.email)
45
46 def testFromuserId(self):
47 auth = authdata.AuthData.FromUserID(self.cnxn, 111, self.services)
48 self.assertEqual(auth.user_id, 111)
49 self.assertEqual(auth.user_pb.email, self.user_1.email)
50
51 def testFromUser(self):
52 auth = authdata.AuthData.FromUser(self.cnxn, self.user_1, self.services)
53 self.assertEqual(auth.user_id, 111)
54 self.assertEqual(auth.user_pb.email, self.user_1.email)