Merge branch 'main' into avm99963-monorail
Merged commit 34d8229ae2b51fb1a15bd208e6fe6185c94f6266
GitOrigin-RevId: 7ee0917f93a577e475f8e09526dd144d245593f4
diff --git a/project/peopledetail.py b/project/peopledetail.py
index af9cd49..b3b4bca 100644
--- a/project/peopledetail.py
+++ b/project/peopledetail.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""A class to display details about each project member."""
from __future__ import print_function
@@ -14,7 +13,6 @@
import ezt
from framework import exceptions
-from framework import flaskservlet
from framework import framework_bizobj
from framework import framework_helpers
from framework import framework_views
@@ -46,7 +44,7 @@
"""People detail page documents one partipant's involvement in a project."""
_PAGE_TEMPLATE = 'project/people-detail-page.ezt'
- _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_PEOPLE
+ _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_PEOPLE
def AssertBasePermission(self, mr):
"""Check that the user is allowed to access this servlet."""
@@ -233,9 +231,7 @@
role = post_data.get('role', '').lower()
extra_perms = []
- # TODO(crbug.com/monorail/10936): getall in Flask is getlist
- # for ep in post_data.getlist('extra_perms'):
- for ep in post_data.getall('extra_perms'):
+ for ep in post_data.getlist('extra_perms'):
perm = framework_bizobj.CanonicalizeLabel(ep)
# Perms with leading underscores are reserved.
perm = perm.strip('_')
@@ -271,8 +267,8 @@
self.services.project.UpdateProjectRoles(
cnxn, project.project_id, owner_ids, committer_ids, contributor_ids)
- # def GetPeopleDetailPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetPeopleDetailPage(self, **kwargs):
+ return self.handler(**kwargs)
- # def PostPeopleDetailPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def PostPeopleDetailPage(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/peoplelist.py b/project/peoplelist.py
index f2aff1a..f888208 100644
--- a/project/peoplelist.py
+++ b/project/peoplelist.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""A class to display a paginated list of project members.
@@ -19,7 +18,6 @@
import ezt
from businesslogic import work_env
-from framework import flaskservlet
from framework import framework_bizobj
from framework import framework_constants
from framework import framework_helpers
@@ -35,10 +33,10 @@
class PeopleList(servlet.Servlet):
- """People list page shows a paginatied list of project members."""
+ """People list page shows a paginated list of project members."""
_PAGE_TEMPLATE = 'project/people-list-page.ezt'
- _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_PEOPLE
+ _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_PEOPLE
def AssertBasePermission(self, mr):
super(PeopleList, self).AssertBasePermission(mr)
@@ -93,8 +91,8 @@
mr.GetPositiveIntParam('start'), mr.project_name, urls.PEOPLE_LIST,
url_params=url_params)
- offer_membership_editing = mr.perms.HasPerm(
- permissions.EDIT_PROJECT, mr.auth.user_id, mr.project)
+ offer_membership_editing = permissions.CanEditProjectConfig(
+ mr, self.services)
check_abandonment = permissions.ShouldCheckForAbandonment(mr)
@@ -154,8 +152,7 @@
def ProcessFormData(self, mr, post_data):
"""Process the posted form."""
- permit_edit = mr.perms.HasPerm(
- permissions.EDIT_PROJECT, mr.auth.user_id, mr.project)
+ permit_edit = permissions.CanEditProjectConfig(mr, self.services)
if not permit_edit:
raise permissions.PermissionException(
'User is not permitted to edit project membership')
@@ -217,9 +214,7 @@
String URL to redirect the user to after processing.
"""
# 1. Parse and validate user input.
- remove_strs = post_data.getall('remove')
- # TODO(crbug.com/monorail/10936): getall in Flask is getlist
- # remove_strs = post_data.getlist('remove')
+ remove_strs = post_data.getlist('remove')
logging.info('remove_strs = %r', remove_strs)
remove_ids = set(
self.services.user.LookupUserIDs(mr.cnxn, remove_strs).values())
@@ -236,8 +231,8 @@
return framework_helpers.FormatAbsoluteURL(
mr, urls.PEOPLE_LIST, saved=1, ts=int(time.time()))
- # def GetPeopleListPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetPeopleListPage(self, **kwargs):
+ return self.handler(**kwargs)
- # def PostPeopleListPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def PostPeopleListPage(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/project_constants.py b/project/project_constants.py
index f483b1f..4be3348 100644
--- a/project/project_constants.py
+++ b/project/project_constants.py
@@ -1,7 +1,6 @@
-# Copyright 2020 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
+# Copyright 2020 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Some constants used for managing Monorail Projects."""
from __future__ import print_function
diff --git a/project/project_helpers.py b/project/project_helpers.py
index 23a2d46..3d02a2b 100644
--- a/project/project_helpers.py
+++ b/project/project_helpers.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Helper functions and classes used by the project pages."""
from __future__ import print_function
@@ -20,7 +19,7 @@
from framework import permissions
from project import project_constants
from project import project_views
-from proto import project_pb2
+from mrproto import project_pb2
_RE_EMAIL_SEPARATORS = re.compile(r'\s|,|;')
@@ -231,6 +230,6 @@
def AllProjectMembers(project):
- # type: (proto.project_pb2.Project) -> Sequence[int]
+ # type: (mrproto.project_pb2.Project) -> Sequence[int]
"""Return a list of user IDs of all members in the given project."""
return project.owner_ids + project.committer_ids + project.contributor_ids
diff --git a/project/project_views.py b/project/project_views.py
index e8698eb..eefea59 100644
--- a/project/project_views.py
+++ b/project/project_views.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""View objects to help display projects in EZT."""
from __future__ import print_function
@@ -19,7 +18,7 @@
from framework import template_helpers
from framework import timestr
from framework import urls
-from proto import project_pb2
+from mrproto import project_pb2
class ProjectAccessView(object):
diff --git a/project/projectadmin.py b/project/projectadmin.py
index a6e0d3e..042b198 100644
--- a/project/projectadmin.py
+++ b/project/projectadmin.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Servlets for project administration main subtab."""
from __future__ import print_function
@@ -16,7 +15,6 @@
from businesslogic import work_env
from framework import emailfmt
-from framework import flaskservlet
from framework import framework_helpers
from framework import gcs_helpers
from framework import permissions
@@ -37,7 +35,7 @@
"""A page with project configuration options for the Project Owner(s)."""
_PAGE_TEMPLATE = 'project/project-admin-page.ezt'
- _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_ADMIN
+ _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_ADMIN
def AssertBasePermission(self, mr):
super(ProjectAdmin, self).AssertBasePermission(mr)
@@ -122,14 +120,14 @@
logo_gcs_id = ''
logo_file_name = ''
- if 'logo' in post_data and not isinstance(post_data['logo'], string_types):
+ if 'logo' in post_data and post_data['logo'].filename != '':
item = post_data['logo']
logo_file_name = item.filename
try:
logo_gcs_id = gcs_helpers.StoreLogoInGCS(
- logo_file_name, item.value, mr.project.project_id)
- except gcs_helpers.UnsupportedMimeType, e:
- mr.errors.logo = e.message
+ logo_file_name, item.read(), mr.project.project_id)
+ except gcs_helpers.UnsupportedMimeType as e:
+ mr.errors.logo = str(e)
elif mr.project.logo_gcs_id and mr.project.logo_file_name:
logo_gcs_id = mr.project.logo_gcs_id
logo_file_name = mr.project.logo_file_name
@@ -189,8 +187,8 @@
return summary, description
- # def GetProjectAdminPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetProjectAdminPage(self, **kwargs):
+ return self.handler(**kwargs)
- # def PostProjectAdminPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def PostProjectAdminPage(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/projectadminadvanced.py b/project/projectadminadvanced.py
index eafe912..dff718a 100644
--- a/project/projectadminadvanced.py
+++ b/project/projectadminadvanced.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Page and form handlers for project administration "advanced" subtab.
@@ -22,14 +21,13 @@
import ezt
from businesslogic import work_env
-from framework import flaskservlet
from framework import framework_constants
from framework import framework_helpers
from framework import permissions
from framework import servlet
from framework import template_helpers
from framework import urls
-from proto import project_pb2
+from mrproto import project_pb2
from tracker import tracker_constants
@@ -37,7 +35,7 @@
"""A page with project state options for the Project Owner(s)."""
_PAGE_TEMPLATE = 'project/project-admin-advanced-page.ezt'
- _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_ADMIN
+ _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_ADMIN
def AssertBasePermission(self, mr):
"""Make sure that the logged in user has permission to view this page.
@@ -212,8 +210,8 @@
moved_to = post_data.get('moved_to', '')
we.UpdateProject(mr.project.project_id, moved_to=moved_to)
- # def GetProjectAdminAdvancedPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetProjectAdminAdvancedPage(self, **kwargs):
+ return self.handler(**kwargs)
- # def PostProjectAdminAdvancedPage(self, **kwargs):
- # return self.handler(**kwargs)
\ No newline at end of file
+ def PostProjectAdminAdvancedPage(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/projectexport.py b/project/projectexport.py
index 177eea4..cc9353c 100644
--- a/project/projectexport.py
+++ b/project/projectexport.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Servlet to export a project's config in JSON format.
"""
@@ -9,24 +8,19 @@
from __future__ import division
from __future__ import absolute_import
-import logging
import time
-import ezt
-
-from framework import flaskservlet
from framework import permissions
from framework import jsonfeed
from framework import servlet
from project import project_helpers
-from tracker import tracker_bizobj
class ProjectExport(servlet.Servlet):
"""Only site admins can export a project"""
_PAGE_TEMPLATE = 'project/project-export-page.ezt'
- _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_ADMIN
+ _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_ADMIN
def AssertBasePermission(self, mr):
"""Make sure that the logged in user has permission to view this page."""
@@ -43,11 +37,10 @@
'page_perms': self.MakePagePerms(mr, None, permissions.CREATE_ISSUE),
}
- # def GetProjectExportPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetProjectExportPage(self, **kwargs):
+ return self.handler(**kwargs)
-# TODO(https://crbug.com/monorail/10936): Use FlaskJsonFeed
class ProjectExportJSON(jsonfeed.JsonFeed):
"""ProjectExportJSON shows all configuration for a Project in JSON form."""
@@ -207,8 +200,8 @@
}
return component_json
- # def GetProjectExportJSONPage(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetProjectExportJSONPage(self, **kwargs):
+ return self.handler(**kwargs)
- # def PostProjectExportJSONPage(self, **kwargs):
- # return self.handler(**kwargs)
\ No newline at end of file
+ def PostProjectExportJSONPage(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/projectsummary.py b/project/projectsummary.py
index c0cad5a..316e1d5 100644
--- a/project/projectsummary.py
+++ b/project/projectsummary.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""A class to display the project summary page."""
from __future__ import print_function
@@ -9,7 +8,6 @@
from __future__ import absolute_import
from businesslogic import work_env
-from framework import flaskservlet
from framework import permissions
from framework import servlet
from project import project_helpers
@@ -20,7 +18,7 @@
"""Page to show brief project description and process documentation."""
_PAGE_TEMPLATE = 'project/project-summary-page.ezt'
- _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_PROCESS
+ _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_PROCESS
def GatherPageData(self, mr):
"""Build up a dictionary of data values to use when rendering the page."""
@@ -70,5 +68,5 @@
return help_data
- # def GetProjectSummaryPage(self, **kwargs):
- # return self.handler(**kwargs)
\ No newline at end of file
+ def GetProjectSummaryPage(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/projectupdates.py b/project/projectupdates.py
index 304b435..7a0928a 100644
--- a/project/projectupdates.py
+++ b/project/projectupdates.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""A class to display a paginated list of activity stream updates."""
from __future__ import print_function
@@ -10,10 +9,7 @@
import logging
-import ezt
-
from features import activities
-from framework import flaskservlet
from framework import servlet
from framework import urls
@@ -22,7 +18,7 @@
"""ProjectUpdates page shows a list of past activities."""
_PAGE_TEMPLATE = 'project/project-updates-page.ezt'
- _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_UPDATES
+ _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_UPDATES
def GatherPageData(self, mr):
"""Build up a dictionary of data values to use when rendering the page."""
@@ -42,5 +38,5 @@
ending='by_user', updates_page_url=url,
autolink=self.services.autolink)
- # def GetProjectUpdatesPage(self, **kwargs):
- # return self.handler(**kwargs)
\ No newline at end of file
+ def GetProjectUpdatesPage(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/redirects.py b/project/redirects.py
index 8c8b818..b49182a 100644
--- a/project/redirects.py
+++ b/project/redirects.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""A class to forward requests to configured urls.
@@ -15,7 +14,6 @@
from six.moves import http_client
-from framework import flaskservlet
from framework import framework_helpers
from framework import servlet
from framework import urls
@@ -24,47 +22,39 @@
class WikiRedirect(servlet.Servlet):
"""Redirect to the wiki documentation, if provided."""
- def get(self, **kwargs):
+ def get(self):
"""Construct a 302 pointing at project.docs_url, or at adminIntro."""
if not self.mr.project:
- # TODO(crbug.com/monorail/10936): status in Flask is status_code
- # self.response.status_code = http_client.NOT_FOUND
- self.response.status = http_client.NOT_FOUND
+ self.response.status_code = http_client.NOT_FOUND
return
docs_url = self.mr.project.docs_url
if not docs_url:
docs_url = framework_helpers.FormatAbsoluteURL(
self.mr, urls.ADMIN_INTRO, include_project=True)
self.response.location = docs_url
- # TODO(crbug.com/monorail/10936): status in Flask is status_code
- # self.response.status_code = http_client.MOVED_PERMANENTLY
- self.response.status = http_client.MOVED_PERMANENTLY
+ self.response.status_code = http_client.MOVED_PERMANENTLY
- # def GetWikiListRedirect(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetWikiListRedirect(self, **kwargs):
+ return self.handler(**kwargs)
- # def GetWikiRedirect(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetWikiRedirect(self, **kwargs):
+ return self.handler(**kwargs)
class SourceRedirect(servlet.Servlet):
"""Redirect to the source browser, if provided."""
- def get(self, **kwargs):
+ def get(self):
"""Construct a 302 pointing at project.source_url, or at adminIntro."""
if not self.mr.project:
- # TODO(crbug.com/monorail/10936): status in Flask is status_code
- # self.response.status_code = http_client.NOT_FOUND
- self.response.status = http_client.NOT_FOUND
+ self.response.status_code = http_client.NOT_FOUND
return
source_url = self.mr.project.source_url
if not source_url:
source_url = framework_helpers.FormatAbsoluteURL(
self.mr, urls.ADMIN_INTRO, include_project=True)
self.response.location = source_url
- # TODO(crbug.com/monorail/10936): status in Flask is status_code
- # self.response.status_code = http_client.MOVED_PERMANENTLY
- self.response.status = http_client.MOVED_PERMANENTLY
+ self.response.status_code = http_client.MOVED_PERMANENTLY
- # def GetSourceRedirect(self, **kwargs):
- # return self.handler(**kwargs)
+ def GetSourceRedirect(self, **kwargs):
+ return self.handler(**kwargs)
diff --git a/project/test/peopledetail_test.py b/project/test/peopledetail_test.py
index 547df80..792ffb2 100644
--- a/project/test/peopledetail_test.py
+++ b/project/test/peopledetail_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unittest for the people detail page."""
from __future__ import print_function
@@ -12,13 +11,11 @@
import unittest
-import webapp2
-
from framework import authdata
from framework import exceptions
from framework import permissions
from project import peopledetail
-from proto import project_pb2
+from mrproto import project_pb2
from services import service_manager
from testing import fake
from testing import testing_helpers
@@ -39,7 +36,7 @@
self.project.owner_ids.extend([111, 222])
self.project.committer_ids.extend([333, 444])
self.project.contributor_ids.extend([555])
- self.servlet = peopledetail.PeopleDetail('req', 'res', services=services)
+ self.servlet = peopledetail.PeopleDetail(services=services)
def VerifyAccess(self, exception_expected):
mr = testing_helpers.MakeMonorailRequest(
@@ -127,12 +124,12 @@
333, self.servlet.ValidateMemberID('fake cnxn', 333, self.project))
# 404 for user that does not exist
- with self.assertRaises(webapp2.HTTPException) as cm:
+ with self.assertRaises(Exception) as cm:
self.servlet.ValidateMemberID('fake cnxn', 8933, self.project)
self.assertEqual(404, cm.exception.code)
# 404 for valid user that is not in this project
- with self.assertRaises(webapp2.HTTPException) as cm:
+ with self.assertRaises(Exception) as cm:
self.servlet.ValidateMemberID('fake cnxn', 999, self.project)
self.assertEqual(404, cm.exception.code)
diff --git a/project/test/peoplelist_test.py b/project/test/peoplelist_test.py
index 6620df9..5459763 100644
--- a/project/test/peoplelist_test.py
+++ b/project/test/peoplelist_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unittest for People List servlet."""
from __future__ import print_function
@@ -13,7 +12,7 @@
from framework import authdata
from framework import permissions
from project import peoplelist
-from proto import user_pb2
+from mrproto import user_pb2
from services import service_manager
from testing import fake
from testing import testing_helpers
@@ -35,7 +34,7 @@
self.project.owner_ids.extend([111])
self.project.committer_ids.extend([222])
self.project.contributor_ids.extend([333])
- self.servlet = peoplelist.PeopleList('req', 'res', services=services)
+ self.servlet = peoplelist.PeopleList(services=services)
def VerifyAccess(self, exception_expected):
mr = testing_helpers.MakeMonorailRequest(
diff --git a/project/test/project_helpers_test.py b/project/test/project_helpers_test.py
index 4732895..5252c77 100644
--- a/project/test/project_helpers_test.py
+++ b/project/test/project_helpers_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unit tests for helpers module."""
from __future__ import print_function
@@ -16,7 +15,7 @@
from framework import permissions
from project import project_constants
from project import project_helpers
-from proto import project_pb2
+from mrproto import project_pb2
from services import service_manager
from testing import fake
diff --git a/project/test/project_views_test.py b/project/test/project_views_test.py
index 940116e..a6b0ce5 100644
--- a/project/test/project_views_test.py
+++ b/project/test/project_views_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unit tests for project_views module."""
from __future__ import print_function
@@ -12,7 +11,7 @@
from framework import framework_views
from project import project_views
-from proto import project_pb2
+from mrproto import project_pb2
from services import service_manager
from testing import fake
diff --git a/project/test/projectadmin_test.py b/project/test/projectadmin_test.py
index 0257cd0..0b2dc82 100644
--- a/project/test/projectadmin_test.py
+++ b/project/test/projectadmin_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unit tests for projectadmin module."""
from __future__ import print_function
@@ -12,7 +11,7 @@
from framework import permissions
from project import projectadmin
-from proto import project_pb2
+from mrproto import project_pb2
from services import service_manager
from testing import fake
from testing import testing_helpers
@@ -25,7 +24,7 @@
services = service_manager.Services(
project=fake.ProjectService(),
user=fake.UserService())
- self.servlet = projectadmin.ProjectAdmin('req', 'res', services=services)
+ self.servlet = projectadmin.ProjectAdmin(services=services)
self.project = services.project.TestAddProject(
'proj', summary='a summary', description='a description')
self.request, self.mr = testing_helpers.GetRequestObjects(
diff --git a/project/test/projectadminadvanced_test.py b/project/test/projectadminadvanced_test.py
index a654d98..bf1c5f1 100644
--- a/project/test/projectadminadvanced_test.py
+++ b/project/test/projectadminadvanced_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unit tests for projectadminadvanced module."""
from __future__ import print_function
@@ -14,7 +13,7 @@
from framework import permissions
from project import projectadminadvanced
-from proto import project_pb2
+from mrproto import project_pb2
from services import service_manager
from testing import fake
from testing import testing_helpers
@@ -28,8 +27,7 @@
def setUp(self):
services = service_manager.Services(
project=fake.ProjectService())
- self.servlet = projectadminadvanced.ProjectAdminAdvanced(
- 'req', 'res', services=services)
+ self.servlet = projectadminadvanced.ProjectAdminAdvanced(services=services)
self.project = services.project.TestAddProject('proj', owner_ids=[111])
self.mr = testing_helpers.MakeMonorailRequest(
project=self.project,
diff --git a/project/test/projectexport_test.py b/project/test/projectexport_test.py
index 6dbe990..d575f2a 100644
--- a/project/test/projectexport_test.py
+++ b/project/test/projectexport_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unittests for the projectexport servlet."""
from __future__ import print_function
@@ -14,7 +13,7 @@
from framework import permissions
from project import projectexport
-from proto import tracker_pb2
+from mrproto import tracker_pb2
from services import service_manager
from services.template_svc import TemplateService
from testing import fake
@@ -25,8 +24,7 @@
def setUp(self):
self.services = service_manager.Services()
- self.servlet = projectexport.ProjectExport(
- 'req', 'res', services=self.services)
+ self.servlet = projectexport.ProjectExport(services=self.services)
def testAssertBasePermission(self):
mr = testing_helpers.MakeMonorailRequest(
@@ -46,8 +44,7 @@
user=fake.UserService(),
template=Mock(spec=TemplateService))
self.services.user.TestAddUser('user1@example.com', 111)
- self.servlet = projectexport.ProjectExportJSON(
- 'req', 'res', services=self.services)
+ self.servlet = projectexport.ProjectExportJSON(services=self.services)
self.project = fake.Project(project_id=789)
self.mr = testing_helpers.MakeMonorailRequest(
perms=permissions.OWNER_ACTIVE_PERMISSIONSET)
diff --git a/project/test/projectsummary_test.py b/project/test/projectsummary_test.py
index 32b2fde..6f6373b 100644
--- a/project/test/projectsummary_test.py
+++ b/project/test/projectsummary_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unittests for Project Summary servlet."""
from __future__ import print_function
@@ -12,8 +11,8 @@
from framework import permissions
from project import projectsummary
-from proto import project_pb2
-from proto import user_pb2
+from mrproto import project_pb2
+from mrproto import user_pb2
from services import service_manager
from testing import fake
from testing import testing_helpers
@@ -30,8 +29,7 @@
self.project = services.project.TestAddProject(
'proj', project_id=123, summary='sum',
description='desc')
- self.servlet = projectsummary.ProjectSummary(
- 'req', 'res', services=services)
+ self.servlet = projectsummary.ProjectSummary(services=services)
def testGatherPageData(self):
mr = testing_helpers.MakeMonorailRequest(project=self.project)
diff --git a/project/test/projectupdates_test.py b/project/test/projectupdates_test.py
index e4c5cea..56cadce 100644
--- a/project/test/projectupdates_test.py
+++ b/project/test/projectupdates_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Unittests for monorail.project.projectupdates."""
from __future__ import print_function
@@ -36,8 +35,7 @@
self.mr = testing_helpers.MakeMonorailRequest(
services=self.services, project=self.project)
self.mr.project_name = self.project_name
- self.project_updates = projectupdates.ProjectUpdates(
- None, None, self.services)
+ self.project_updates = projectupdates.ProjectUpdates(self.services)
self.mox = mox.Mox()
def tearDown(self):
diff --git a/project/test/redirects_test.py b/project/test/redirects_test.py
index 0091571..1f71435 100644
--- a/project/test/redirects_test.py
+++ b/project/test/redirects_test.py
@@ -1,7 +1,6 @@
-# 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
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
"""Tests for project handlers that redirect."""
from __future__ import print_function
@@ -11,7 +10,7 @@
from six.moves import http_client
import unittest
-import webapp2
+import flask
from framework import urls
from project import redirects
@@ -24,9 +23,8 @@
def setUp(self):
self.services = service_manager.Services()
- self.servlet = redirects.WikiRedirect(
- webapp2.Request.blank('url'), webapp2.Response(),
- services=self.services)
+ self.servlet = redirects.WikiRedirect(services=self.services)
+ self.servlet.response = flask.Response()
self.project = fake.Project()
self.servlet.mr = testing_helpers.MakeMonorailRequest(
project=self.project)
@@ -58,9 +56,8 @@
def setUp(self):
self.services = service_manager.Services()
- self.servlet = redirects.SourceRedirect(
- webapp2.Request.blank('url'), webapp2.Response(),
- services=self.services)
+ self.servlet = redirects.SourceRedirect(services=self.services)
+ self.servlet.response = flask.Response()
self.project = fake.Project()
self.servlet.mr = testing_helpers.MakeMonorailRequest(
project=self.project)