Merge branch 'main' into avm99963-monorail

Merged commit 34d8229ae2b51fb1a15bd208e6fe6185c94f6266

GitOrigin-RevId: 7ee0917f93a577e475f8e09526dd144d245593f4
diff --git a/redirect/test/redirect_test.py b/redirect/test/redirect_test.py
new file mode 100644
index 0000000..d4af8e8
--- /dev/null
+++ b/redirect/test/redirect_test.py
@@ -0,0 +1,57 @@
+# Copyright 2023 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import unittest
+from redirect import redirect
+from mock import patch
+class TestRedirectApp(unittest.TestCase):
+
+  def setUp(self):
+    self.app = redirect.GenerateRedirectApp()
+    self.app.config['TESTING'] = True
+
+  def testNoRedirectIssueList(self):
+    client = self.app.test_client()
+    response = client.get('/p/project1/issues/list')
+    self.assertEqual(response.status_code, 404)
+
+  @patch("redirect.redirect_utils.GetRedirectURL")
+  @patch("redirect.redirect_utils.GetSearchQuery")
+  def testRedirectIssueList(self, fake_get_url, fake_get_search_query):
+    client = self.app.test_client()
+    response = client.get('/p/project1/issues/list')
+    self.assertEqual(response.status_code, 302)
+
+  def testNoRedirectCreateIssue(self):
+    client = self.app.test_client()
+    response = client.get('/p/project1/issues/entry')
+    self.assertEqual(response.status_code, 404)
+
+  @patch("redirect.redirect_utils.GetRedirectURL")
+  def testRedirectCreateIssue(self, fake_get_url):
+    fake_get_url.return_value = "test"
+    client = self.app.test_client()
+    response = client.get('/p/project1/issues/entry')
+    self.assertEqual(response.status_code, 302)
+
+  def testNoRedirectIssueDetail(self):
+    client = self.app.test_client()
+    response = client.get('/p/project1/issues/detail?id=1')
+    self.assertEqual(response.status_code, 404)
+
+  @patch("redirect.redirect_utils.GetRedirectURL")
+  @patch("redirect.redirectissue.RedirectIssue.Get")
+  def testRedirectIssueDetail(self, fake_get_url, fake_redirectIssue):
+    fake_get_url.return_value = "test"
+    fake_redirectIssue.return_value = "1"
+    client = self.app.test_client()
+    response = client.get('/p/project1/issues/detail?id=1')
+    self.assertEqual(response.status_code, 200)
+
+  @patch("redirect.redirect_utils.GetRedirectURL")
+  def testRedirectIssueDetail(self, fake_get_url):
+    fake_get_url.return_value = "test"
+    client = self.app.test_client()
+    response = client.get('/p/project1/issues/detail?id=10000001')
+    self.assertEqual(response.status_code, 200)