blob: d4af8e898487c57b0420c3f5992301ddb8b11117 [file] [log] [blame]
Adrià Vilanova Martínezf19ea432024-01-23 20:20:52 +01001# Copyright 2023 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import unittest
6from redirect import redirect
7from mock import patch
8class TestRedirectApp(unittest.TestCase):
9
10 def setUp(self):
11 self.app = redirect.GenerateRedirectApp()
12 self.app.config['TESTING'] = True
13
14 def testNoRedirectIssueList(self):
15 client = self.app.test_client()
16 response = client.get('/p/project1/issues/list')
17 self.assertEqual(response.status_code, 404)
18
19 @patch("redirect.redirect_utils.GetRedirectURL")
20 @patch("redirect.redirect_utils.GetSearchQuery")
21 def testRedirectIssueList(self, fake_get_url, fake_get_search_query):
22 client = self.app.test_client()
23 response = client.get('/p/project1/issues/list')
24 self.assertEqual(response.status_code, 302)
25
26 def testNoRedirectCreateIssue(self):
27 client = self.app.test_client()
28 response = client.get('/p/project1/issues/entry')
29 self.assertEqual(response.status_code, 404)
30
31 @patch("redirect.redirect_utils.GetRedirectURL")
32 def testRedirectCreateIssue(self, fake_get_url):
33 fake_get_url.return_value = "test"
34 client = self.app.test_client()
35 response = client.get('/p/project1/issues/entry')
36 self.assertEqual(response.status_code, 302)
37
38 def testNoRedirectIssueDetail(self):
39 client = self.app.test_client()
40 response = client.get('/p/project1/issues/detail?id=1')
41 self.assertEqual(response.status_code, 404)
42
43 @patch("redirect.redirect_utils.GetRedirectURL")
44 @patch("redirect.redirectissue.RedirectIssue.Get")
45 def testRedirectIssueDetail(self, fake_get_url, fake_redirectIssue):
46 fake_get_url.return_value = "test"
47 fake_redirectIssue.return_value = "1"
48 client = self.app.test_client()
49 response = client.get('/p/project1/issues/detail?id=1')
50 self.assertEqual(response.status_code, 200)
51
52 @patch("redirect.redirect_utils.GetRedirectURL")
53 def testRedirectIssueDetail(self, fake_get_url):
54 fake_get_url.return_value = "test"
55 client = self.app.test_client()
56 response = client.get('/p/project1/issues/detail?id=10000001')
57 self.assertEqual(response.status_code, 200)