Project import generated by Copybara.

GitOrigin-RevId: d9e9e3fb4e31372ec1fb43b178994ca78fa8fe70
diff --git a/proto/test/__init__.py b/proto/test/__init__.py
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/proto/test/__init__.py
@@ -0,0 +1 @@
+
diff --git a/proto/test/ast_pb2_test.py b/proto/test/ast_pb2_test.py
new file mode 100644
index 0000000..f82453d
--- /dev/null
+++ b/proto/test/ast_pb2_test.py
@@ -0,0 +1,28 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file or at
+# https://developers.google.com/open-source/licenses/bsd
+
+"""Tests for ast_pb2 functions."""
+
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+
+import unittest
+
+from proto import ast_pb2
+from proto import tracker_pb2
+
+
+class ASTPb2Test(unittest.TestCase):
+
+  def testCond(self):
+    fd = tracker_pb2.FieldDef(field_id=1, field_name='Size')
+    cond = ast_pb2.MakeCond(
+        ast_pb2.QueryOp.EQ, [fd], ['XL'], [], key_suffix='-approver')
+    self.assertEqual(ast_pb2.QueryOp.EQ, cond.op)
+    self.assertEqual([fd], cond.field_defs)
+    self.assertEqual(['XL'], cond.str_values)
+    self.assertEqual([], cond.int_values)
+    self.assertEqual(cond.key_suffix, '-approver')
diff --git a/proto/test/features_pb2_test.py b/proto/test/features_pb2_test.py
new file mode 100644
index 0000000..60e344b
--- /dev/null
+++ b/proto/test/features_pb2_test.py
@@ -0,0 +1,56 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file or at
+# https://developers.google.com/open-source/licenses/bsd
+
+"""Tests for features_pb2 functions."""
+
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+
+import unittest
+
+from proto import features_pb2
+
+
+class FeaturesPb2Test(unittest.TestCase):
+
+  def testMakeHotlist_Defaults(self):
+    hotlist = features_pb2.MakeHotlist('summer-issues')
+    self.assertEqual('summer-issues', hotlist.name)
+    self.assertEqual([], hotlist.items)
+
+  def testMakeHotlist_Everything(self):
+    ts = 20011111111111
+    hotlist = features_pb2.MakeHotlist(
+        'summer-issues', [(1000, 1, 444, ts, ''), (1001, 2, 333, ts, ''),
+                          (1009, None, None, ts, '')],
+        description='desc')
+    self.assertEqual('summer-issues', hotlist.name)
+    self.assertEqual(
+        [features_pb2.MakeHotlistItem(
+            1000, rank=1, adder_id=444, date_added=ts, note=''),
+         features_pb2.MakeHotlistItem(
+             1001, rank=2, adder_id=333, date_added=ts, note=''),
+         features_pb2.MakeHotlistItem(1009, date_added=ts, note=''),
+         ],
+        hotlist.items)
+    self.assertEqual('desc', hotlist.description)
+
+  def testMakeHotlistItem(self):
+    ts = 20011111111111
+    item_1 = features_pb2.MakeHotlistItem(
+        1000, rank=1, adder_id=111, date_added=ts, note='short note')
+    self.assertEqual(1000, item_1.issue_id)
+    self.assertEqual(1, item_1.rank)
+    self.assertEqual(111, item_1.adder_id)
+    self.assertEqual(ts, item_1.date_added)
+    self.assertEqual('short note', item_1.note)
+
+    item_2 = features_pb2.MakeHotlistItem(1001)
+    self.assertEqual(1001, item_2.issue_id)
+    self.assertEqual(None, item_2.rank)
+    self.assertEqual(None, item_2.adder_id)
+    self.assertEqual('', item_2.note)
+    self.assertEqual(features_pb2.ADDED_TS_FEATURE_LAUNCH_TS, item_2.date_added)
diff --git a/proto/test/project_pb2_test.py b/proto/test/project_pb2_test.py
new file mode 100644
index 0000000..1fa099d
--- /dev/null
+++ b/proto/test/project_pb2_test.py
@@ -0,0 +1,53 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file or at
+# https://developers.google.com/open-source/licenses/bsd
+
+"""Tests for project_pb2 functions."""
+
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+
+import unittest
+
+from proto import project_pb2
+
+
+class ProjectPb2Test(unittest.TestCase):
+
+  def testMakeProject_Defaults(self):
+    project = project_pb2.MakeProject('proj')
+    self.assertEqual('proj', project.project_name)
+    self.assertEqual(project_pb2.ProjectState.LIVE, project.state)
+    self.assertEqual(project_pb2.ProjectAccess.ANYONE, project.access)
+    self.assertFalse(project.read_only_reason)
+
+  def testMakeProject_Everything(self):
+    project = project_pb2.MakeProject(
+        'proj', project_id=789, state=project_pb2.ProjectState.ARCHIVED,
+        access=project_pb2.ProjectAccess.MEMBERS_ONLY, summary='sum',
+        description='desc', moved_to='example.com',
+        cached_content_timestamp=1234567890, owner_ids=[111],
+        committer_ids=[222], contributor_ids=[333],
+        read_only_reason='being migrated',
+        home_page='example.com', docs_url='example.com/docs',
+        source_url='example.com/src', logo_gcs_id='logo_id',
+        logo_file_name='logo.gif')
+    self.assertEqual('proj', project.project_name)
+    self.assertEqual(789, project.project_id)
+    self.assertEqual(project_pb2.ProjectState.ARCHIVED, project.state)
+    self.assertEqual(project_pb2.ProjectAccess.MEMBERS_ONLY, project.access)
+    self.assertEqual('sum', project.summary)
+    self.assertEqual('desc', project.description)
+    self.assertEqual('example.com', project.moved_to)
+    self.assertEqual(1234567890, project.cached_content_timestamp)
+    self.assertEqual([111], project.owner_ids)
+    self.assertEqual([222], project.committer_ids)
+    self.assertEqual([333], project.contributor_ids)
+    self.assertEqual('being migrated', project.read_only_reason)
+    self.assertEqual('example.com', project.home_page)
+    self.assertEqual('example.com/docs', project.docs_url)
+    self.assertEqual('example.com/src', project.source_url)
+    self.assertEqual('logo_id', project.logo_gcs_id)
+    self.assertEqual('logo.gif', project.logo_file_name)
diff --git a/proto/test/user_pb2_test.py b/proto/test/user_pb2_test.py
new file mode 100644
index 0000000..c02b719
--- /dev/null
+++ b/proto/test/user_pb2_test.py
@@ -0,0 +1,29 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file or at
+# https://developers.google.com/open-source/licenses/bsd
+
+"""Tests for user_pb2 functions."""
+
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+
+import unittest
+
+from proto import user_pb2
+
+
+class UserPb2Test(unittest.TestCase):
+
+  def testUser_Defaults(self):
+    user = user_pb2.MakeUser(111)
+    self.assertEqual(111, user.user_id)
+    self.assertFalse(user.obscure_email)
+    self.assertIsNone(user.email)
+
+  def testUser_Everything(self):
+    user = user_pb2.MakeUser(111, email='user@example.com', obscure_email=True)
+    self.assertEqual(111, user.user_id)
+    self.assertTrue(user.obscure_email)
+    self.assertEqual('user@example.com', user.email)
diff --git a/proto/test/usergroup_pb2_test.py b/proto/test/usergroup_pb2_test.py
new file mode 100644
index 0000000..c7ab1e7
--- /dev/null
+++ b/proto/test/usergroup_pb2_test.py
@@ -0,0 +1,37 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file or at
+# https://developers.google.com/open-source/licenses/bsd
+
+"""Tests for usergroup_pb2 functions."""
+
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+
+import unittest
+
+from proto import usergroup_pb2
+
+
+class UserGroupPb2Test(unittest.TestCase):
+
+  def testMakeSettings_Defaults(self):
+    usergroup = usergroup_pb2.MakeSettings('anyone')
+    self.assertEqual(
+        usergroup_pb2.MemberVisibility.ANYONE,
+        usergroup.who_can_view_members)
+    self.assertIsNone(usergroup.ext_group_type)
+    self.assertEqual(0, usergroup.last_sync_time)
+    self.assertEqual([], usergroup.friend_projects)
+
+  def testMakeSettings_Everything(self):
+    usergroup = usergroup_pb2.MakeSettings(
+        'Members', ext_group_type_str='mdb',
+        last_sync_time=1234567890, friend_projects=[789])
+    self.assertEqual(
+        usergroup_pb2.MemberVisibility.MEMBERS,
+        usergroup.who_can_view_members)
+    self.assertEqual(usergroup_pb2.GroupType.MDB, usergroup.ext_group_type)
+    self.assertEqual(1234567890, usergroup.last_sync_time)
+    self.assertEqual([789], usergroup.friend_projects)