Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(193)

Side by Side Diff: appengine/monorail/project/test/project_helpers_test.py

Issue 1868553004: Open Source Monorail (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is govered by a BSD-style
3 # license that can be found in the LICENSE file or at
4 # https://developers.google.com/open-source/licenses/bsd
5
6 """Unit tests for helpers module."""
7
8 import unittest
9
10 from project import project_helpers
11 from proto import project_pb2
12 from services import service_manager
13 from testing import fake
14
15
16 class HelpersUnitTest(unittest.TestCase):
17
18 def setUp(self):
19 self.cnxn = 'fake sql connection'
20 self.services = service_manager.Services(
21 project=fake.ProjectService(),
22 user=fake.UserService())
23 self.services.user.TestAddUser('a@example.com', 111L)
24 self.services.user.TestAddUser('b@example.com', 222L)
25 self.services.user.TestAddUser('c@example.com', 333L)
26
27 def testBuildProjectMembers(self):
28 project = project_pb2.MakeProject(
29 'proj', owner_ids=[111L], committer_ids=[222L],
30 contributor_ids=[333L])
31 page_data = project_helpers.BuildProjectMembers(
32 self.cnxn, project, self.services.user)
33 self.assertEqual(111L, page_data['owners'][0].user_id)
34 self.assertEqual(222L, page_data['committers'][0].user_id)
35 self.assertEqual(333L, page_data['contributors'][0].user_id)
36 self.assertEqual(3, len(page_data['all_members']))
37
38 def testParseUsernames(self):
39 # Form field was not present in post data.
40 id_set = project_helpers.ParseUsernames(
41 self.cnxn, self.services.user, None)
42 self.assertEqual(set(), id_set)
43
44 # Form field was present, but empty.
45 id_set = project_helpers.ParseUsernames(
46 self.cnxn, self.services.user, '')
47 self.assertEqual(set(), id_set)
48
49 # Parsing valid user names.
50 id_set = project_helpers.ParseUsernames(
51 self.cnxn, self.services.user, 'a@example.com, c@example.com')
52 self.assertEqual({111L, 333L}, id_set)
53
54 def testParseProjectAccess_NotOffered(self):
55 project = project_pb2.MakeProject('proj')
56 access = project_helpers.ParseProjectAccess(project, None)
57 self.assertEqual(None, access)
58
59 def testParseProjectAccess_AllowedChoice(self):
60 project = project_pb2.MakeProject('proj')
61 access = project_helpers.ParseProjectAccess(project, '1')
62 self.assertEqual(project_pb2.ProjectAccess.ANYONE, access)
63
64 access = project_helpers.ParseProjectAccess(project, '3')
65 self.assertEqual(project_pb2.ProjectAccess.MEMBERS_ONLY, access)
66
67 def testParseProjectAccess_BogusChoice(self):
68 project = project_pb2.MakeProject('proj')
69 access = project_helpers.ParseProjectAccess(project, '9')
70 self.assertEqual(None, access)
71
72
73 if __name__ == '__main__':
74 unittest.main()
OLDNEW
« no previous file with comments | « appengine/monorail/project/test/peoplelist_test.py ('k') | appengine/monorail/project/test/project_views_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698