diff options
Diffstat (limited to 'tests/test_util.py')
-rw-r--r-- | tests/test_util.py | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/tests/test_util.py b/tests/test_util.py deleted file mode 100644 index 533460f..0000000 --- a/tests/test_util.py +++ /dev/null @@ -1,122 +0,0 @@ -"""Unit tests for oauth2client.util.""" - -import mock -import unittest2 - -from oauth2client import util - - -__author__ = 'jcgregorio@google.com (Joe Gregorio)' - - -class PositionalTests(unittest2.TestCase): - - def test_usage(self): - util.positional_parameters_enforcement = util.POSITIONAL_EXCEPTION - - # 1 positional arg, 1 keyword-only arg. - @util.positional(1) - def fn(pos, kwonly=None): - return True - - self.assertTrue(fn(1)) - self.assertTrue(fn(1, kwonly=2)) - with self.assertRaises(TypeError): - fn(1, 2) - - # No positional, but a required keyword arg. - @util.positional(0) - def fn2(required_kw): - return True - - self.assertTrue(fn2(required_kw=1)) - with self.assertRaises(TypeError): - fn2(1) - - # Unspecified positional, should automatically figure out 1 positional - # 1 keyword-only (same as first case above). - @util.positional - def fn3(pos, kwonly=None): - return True - - self.assertTrue(fn3(1)) - self.assertTrue(fn3(1, kwonly=2)) - with self.assertRaises(TypeError): - fn3(1, 2) - - @mock.patch('oauth2client.util.logger') - def test_enforcement_warning(self, mock_logger): - util.positional_parameters_enforcement = util.POSITIONAL_WARNING - - @util.positional(1) - def fn(pos, kwonly=None): - return True - - self.assertTrue(fn(1, 2)) - self.assertTrue(mock_logger.warning.called) - - @mock.patch('oauth2client.util.logger') - def test_enforcement_ignore(self, mock_logger): - util.positional_parameters_enforcement = util.POSITIONAL_IGNORE - - @util.positional(1) - def fn(pos, kwonly=None): - return True - - self.assertTrue(fn(1, 2)) - self.assertFalse(mock_logger.warning.called) - - -class ScopeToStringTests(unittest2.TestCase): - - def test_iterables(self): - cases = [ - ('', ''), - ('', ()), - ('', []), - ('', ('',)), - ('', ['', ]), - ('a', ('a',)), - ('b', ['b', ]), - ('a b', ['a', 'b']), - ('a b', ('a', 'b')), - ('a b', 'a b'), - ('a b', (s for s in ['a', 'b'])), - ] - for expected, case in cases: - self.assertEqual(expected, util.scopes_to_string(case)) - - -class StringToScopeTests(unittest2.TestCase): - - def test_conversion(self): - cases = [ - (['a', 'b'], ['a', 'b']), - ('', []), - ('a', ['a']), - ('a b c d e f', ['a', 'b', 'c', 'd', 'e', 'f']), - ] - - for case, expected in cases: - self.assertEqual(expected, util.string_to_scopes(case)) - - -class AddQueryParameterTests(unittest2.TestCase): - - def test__add_query_parameter(self): - self.assertEqual( - util._add_query_parameter('/action', 'a', None), - '/action') - self.assertEqual( - util._add_query_parameter('/action', 'a', 'b'), - '/action?a=b') - self.assertEqual( - util._add_query_parameter('/action?a=b', 'a', 'c'), - '/action?a=c') - # Order is non-deterministic. - self.assertIn( - util._add_query_parameter('/action?a=b', 'c', 'd'), - ['/action?a=b&c=d', '/action?c=d&a=b']) - self.assertEqual( - util._add_query_parameter('/action', 'a', ' ='), - '/action?a=+%3D') |