Merge branch 'main' into avm99963-monorail

Merged commit 34d8229ae2b51fb1a15bd208e6fe6185c94f6266

GitOrigin-RevId: 7ee0917f93a577e475f8e09526dd144d245593f4
diff --git a/framework/test/jsonfeed_test.py b/framework/test/jsonfeed_test.py
index 4ca83fa..7c9a6b6 100644
--- a/framework/test/jsonfeed_test.py
+++ b/framework/test/jsonfeed_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 jsonfeed module."""
 from __future__ import print_function
@@ -9,13 +8,12 @@
 from __future__ import absolute_import
 
 from six.moves import http_client
-import logging
 import unittest
 
+import flask
 from google.appengine.api import app_identity
 
 from framework import jsonfeed
-from framework import servlet
 from framework import xsrf
 from services import service_manager
 from testing import testing_helpers
@@ -28,7 +26,7 @@
 
   def testGet(self):
     """Tests handling of GET requests."""
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
 
     # all expected args are present + a bonus arg that should be ignored
     feed.mr = testing_helpers.MakeMonorailRequest(
@@ -41,7 +39,7 @@
 
   def testPost(self):
     """Tests handling of POST requests."""
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.mr = testing_helpers.MakeMonorailRequest(
         path='/foo/bar/wee?sna=foo', method='POST',
         params={'a': '123', 'z': 'zebra'})
@@ -52,7 +50,7 @@
     self.assertEqual(1, len(feed.json_data))
 
   def testSecurityTokenChecked_BadToken(self):
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.mr = testing_helpers.MakeMonorailRequest(
         user_info={'user_id': 555})
     # Note that feed.mr has no token set.
@@ -64,7 +62,7 @@
     self.assertRaises(xsrf.TokenIncorrect, feed.post)
 
   def testSecurityTokenChecked_HandlerDoesNotNeedToken(self):
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.mr = testing_helpers.MakeMonorailRequest(
         user_info={'user_id': 555})
     # Note that feed.mr has no token set.
@@ -73,21 +71,21 @@
     feed.post()
 
   def testSecurityTokenChecked_AnonUserDoesNotNeedToken(self):
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.mr = testing_helpers.MakeMonorailRequest()
     # Note that feed.mr has no token set, but also no auth.user_id.
     feed.get()
     feed.post()
 
   def testSameAppOnly_ExternallyAccessible(self):
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.mr = testing_helpers.MakeMonorailRequest()
     # Note that request has no X-Appengine-Inbound-Appid set.
     feed.get()
     feed.post()
 
   def testSameAppOnly_InternalOnlyCalledFromSameApp(self):
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.CHECK_SAME_APP = True
     feed.mr = testing_helpers.MakeMonorailRequest()
     app_id = app_identity.get_application_id()
@@ -96,36 +94,36 @@
     feed.post()
 
   def testSameAppOnly_InternalOnlyCalledExternally(self):
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.CHECK_SAME_APP = True
     feed.mr = testing_helpers.MakeMonorailRequest()
     # Note that request has no X-Appengine-Inbound-Appid set.
+    feed.response = flask.Response()
     self.assertIsNone(feed.get())
     self.assertFalse(feed.handle_request_called)
-    self.assertEqual(http_client.FORBIDDEN, feed.response.status)
+    self.assertEqual(http_client.FORBIDDEN, feed.response.status_code)
     self.assertIsNone(feed.post())
     self.assertFalse(feed.handle_request_called)
-    self.assertEqual(http_client.FORBIDDEN, feed.response.status)
+    self.assertEqual(http_client.FORBIDDEN, feed.response.status_code)
 
   def testSameAppOnly_InternalOnlyCalledFromWrongApp(self):
-    feed = TestableJsonFeed()
+    feed = _TestableJsonFeed()
     feed.CHECK_SAME_APP = True
     feed.mr = testing_helpers.MakeMonorailRequest()
     feed.mr.request.headers['X-Appengine-Inbound-Appid'] = 'wrong'
+    feed.response = flask.Response()
     self.assertIsNone(feed.get())
     self.assertFalse(feed.handle_request_called)
-    self.assertEqual(http_client.FORBIDDEN, feed.response.status)
+    self.assertEqual(http_client.FORBIDDEN, feed.response.status_code)
     self.assertIsNone(feed.post())
     self.assertFalse(feed.handle_request_called)
-    self.assertEqual(http_client.FORBIDDEN, feed.response.status)
+    self.assertEqual(http_client.FORBIDDEN, feed.response.status_code)
 
 
-class TestableJsonFeed(jsonfeed.JsonFeed):
+class _TestableJsonFeed(jsonfeed.JsonFeed):
 
-  def __init__(self, request=None):
-    response = testing_helpers.Blank()
-    super(TestableJsonFeed, self).__init__(
-        request or 'req', response, services=service_manager.Services())
+  def __init__(self):
+    super(_TestableJsonFeed, self).__init__(services=service_manager.Services())
 
     self.response_data = None
     self.handle_request_called = False