blob: 0331cdd0826b7f2cd563c0af9a4c4a172a6220ac [file] [log] [blame]
Copybara854996b2021-09-07 19:36:02 +00001# Copyright 2016 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style
3# license that can be found in the LICENSE file or at
4# https://developers.google.com/open-source/licenses/bsd
5
6"""Unittests for monorail.framework.banned."""
7from __future__ import print_function
8from __future__ import division
9from __future__ import absolute_import
10
11import unittest
12
13import webapp2
14
15from framework import banned
16from framework import monorailrequest
17from services import service_manager
18from testing import testing_helpers
19
20
21class BannedTest(unittest.TestCase):
22
23 def setUp(self):
24 self.services = service_manager.Services()
25
26 def testAssertBasePermission(self):
Adrià Vilanova Martínez9f9ade52022-10-10 23:20:11 +020027 servlet = banned.Banned(services=self.services)
Copybara854996b2021-09-07 19:36:02 +000028
29 mr = monorailrequest.MonorailRequest(self.services)
30 mr.auth.user_id = 0 # Anon user cannot see banned page.
Adrià Vilanova Martínez9f9ade52022-10-10 23:20:11 +020031 with self.assertRaises(Exception) as cm:
Copybara854996b2021-09-07 19:36:02 +000032 servlet.AssertBasePermission(mr)
33 self.assertEqual(404, cm.exception.code)
34
35 mr.auth.user_id = 111 # User who is not banned cannot view banned page.
Adrià Vilanova Martínez9f9ade52022-10-10 23:20:11 +020036 with self.assertRaises(Exception) as cm:
Copybara854996b2021-09-07 19:36:02 +000037 servlet.AssertBasePermission(mr)
38 self.assertEqual(404, cm.exception.code)
39
40 # This should not throw exception.
41 mr.auth.user_pb.banned = 'spammer'
42 servlet.AssertBasePermission(mr)
43
44 def testGatherPageData(self):
Adrià Vilanova Martínez9f9ade52022-10-10 23:20:11 +020045 servlet = banned.Banned(services=self.services)
Copybara854996b2021-09-07 19:36:02 +000046 self.assertNotEqual(servlet.template, None)
47
48 _request, mr = testing_helpers.GetRequestObjects()
49 page_data = servlet.GatherPageData(mr)
50
51 self.assertFalse(page_data['is_plus_address'])
52 self.assertEqual(None, page_data['currentPageURLEncoded'])
53
54 mr.auth.user_pb.email = 'user+shadystuff@example.com'
55 page_data = servlet.GatherPageData(mr)
56
57 self.assertTrue(page_data['is_plus_address'])
58 self.assertEqual(None, page_data['currentPageURLEncoded'])