blob: 6e62f4e500d88f5fda345c1f685f46a85193d9d9 [file] [log] [blame]
# 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 the testing_helpers module."""
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
import unittest
from testing import testing_helpers
class TestingHelpersTest(unittest.TestCase):
def testMakeMonorailRequest(self):
mr = testing_helpers.MakeMonorailRequest(
path='/foo?key1=2&key2=&key3')
self.assertEqual(None, mr.GetIntParam('foo'))
self.assertEqual(2, mr.GetIntParam('key1'))
self.assertEqual(None, mr.GetIntParam('key2'))
self.assertEqual(None, mr.GetIntParam('key3'))
self.assertEqual(3, mr.GetIntParam('key2', default_value=3))
self.assertEqual(3, mr.GetIntParam('foo', default_value=3))
def testGetRequestObjectsBasics(self):
request, mr = testing_helpers.GetRequestObjects(
path='/foo/bar/wee?sna=foo',
params={'ya': 'hoo'}, method='POST')
# supplied as part of the url
self.assertEqual('foo', mr.GetParam('sna'))
# supplied as a param
self.assertEqual('hoo', mr.GetParam('ya'))
# default Host header
self.assertEqual('127.0.0.1', request.host)
def testGetRequestObjectsHeaders(self):
# with some headers
request, _mr = testing_helpers.GetRequestObjects(
headers={'Accept-Language': 'en', 'Host': 'pickledsheep.com'},
path='/foo/bar/wee?sna=foo')
# default Host header
self.assertEqual('pickledsheep.com', request.host)
# user specified headers
self.assertEqual('en', request.headers['Accept-Language'])
def testGetRequestObjectsUserInfo(self):
user_id = '123'
_request, mr = testing_helpers.GetRequestObjects(
user_info={'user_id': user_id})
self.assertEqual(user_id, mr.auth.user_id)
class BlankTest(unittest.TestCase):
def testBlank(self):
blank = testing_helpers.Blank(
foo='foo',
bar=123,
inc=lambda x: x + 1)
self.assertEqual('foo', blank.foo)
self.assertEqual(123, blank.bar)
self.assertEqual(5, blank.inc(4))