Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Unified Diff: infra/services/gnumbd/test/util_test.py

Issue 355153002: Refactor infra git libs and testing. (Closed) Base URL: https://chromium.googlesource.com/infra/infra@fake_testing_support
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: infra/services/gnumbd/test/util_test.py
diff --git a/infra/services/gnumbd/test/util_test.py b/infra/services/gnumbd/test/util_test.py
deleted file mode 100644
index 73d131436520fd347aa056fa3d635408bf78c04e..0000000000000000000000000000000000000000
--- a/infra/services/gnumbd/test/util_test.py
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import unittest
-import textwrap
-import collections
-
-from infra.services.gnumbd.support import util
-
-
-class TestCalledProcessError(unittest.TestCase):
- def testBasic(self):
- cpe = util.CalledProcessError(100, ('cat', 'dog'), None, None)
- self.assertEqual(
- str(cpe), "Command ('cat', 'dog') returned non-zero exit status 100.\n")
-
- def testErr(self):
- cpe = util.CalledProcessError(
- 100, ('cat', 'dog'), None,
- 'Cat says the dog smells funny.\nCat is not amused.')
-
- self.assertEqual(str(cpe), textwrap.dedent('''\
- Command ('cat', 'dog') returned non-zero exit status 100:
- STDERR ========================================
- Cat says the dog smells funny.
- Cat is not amused.
- '''))
-
- def testOut(self):
- cpe = util.CalledProcessError(
- 100, ('cat', 'dog'),
- 'This totally worked! Squirrels are awesome!',
- '')
-
- self.assertEqual(str(cpe), textwrap.dedent('''\
- Command ('cat', 'dog') returned non-zero exit status 100:
- STDOUT ========================================
- This totally worked! Squirrels are awesome!
- '''))
-
- def testBoth(self):
- cpe = util.CalledProcessError(
- 100, ('cat', 'dog'),
- 'This totally worked! Squirrels are awesome!',
- 'Cat says the dog smells funny.\nCat is not amused.')
-
- self.assertEqual(str(cpe), textwrap.dedent('''\
- Command ('cat', 'dog') returned non-zero exit status 100:
- STDOUT ========================================
- This totally worked! Squirrels are awesome!
- STDERR ========================================
- Cat says the dog smells funny.
- Cat is not amused.
- '''))
-
-
-class TestCachedProperty(unittest.TestCase):
- def setUp(self):
- self.calls = calls = []
- class Foo(object):
- def __init__(self, success=True, override=None):
- self.success = success
- self.override = override
-
- @util.cached_property
- def happy(self):
- calls.append(1)
- if self.override is not None:
- self._happy = self.override # pylint: disable=W0201
- if not self.success:
- raise Exception('nope')
- return 'days'
- self.Foo = Foo
-
- def testBasic(self):
- f = self.Foo()
- self.assertEqual(f.happy, 'days')
- self.assertEqual(f.happy, 'days')
- self.assertEqual(sum(self.calls), 1)
-
- def testBareReturnsSelf(self):
- self.assertIsInstance(self.Foo.happy, util.cached_property)
-
- def testOverride(self):
- f = self.Foo(override='cowabunga!')
- self.assertEqual(f.happy, 'cowabunga!')
- self.assertEqual(f.happy, 'cowabunga!')
- self.assertEqual(sum(self.calls), 1)
-
- def testNoCache(self):
- f = self.Foo(False)
- with self.assertRaises(Exception):
- f.happy # pylint: disable=W0104
- f.success = True
- self.assertEqual(f.happy, 'days')
- self.assertEqual(sum(self.calls), 2)
-
- def testDel(self):
- f = self.Foo()
- self.assertEqual(f.happy, 'days')
- self.assertEqual(f.happy, 'days')
- del f.happy
- self.assertEqual(f.happy, 'days')
- del f.happy
- del f.happy
- self.assertEqual(f.happy, 'days')
- self.assertEqual(sum(self.calls), 3)
-
-
-class TestFreeze(unittest.TestCase):
- def testDict(self):
- d = collections.OrderedDict()
- d['cat'] = 100
- d['dog'] = 0
-
- f = util.freeze(d)
- self.assertEqual(d, f)
- self.assertIsInstance(f, util.FrozenDict)
- self.assertEqual(
- hash(f),
- hash((0, ('cat', 100))) ^ hash((1, ('dog', 0)))
- )
- self.assertEqual(len(d), len(f))
-
- # Cover equality
- self.assertEqual(f, f)
- self.assertNotEqual(f, 'dog')
- self.assertNotEqual(f, {'bob': 'hat'})
- self.assertNotEqual(f, {'cat': 20, 'dog': 10})
-
- def testList(self):
- l = [1, 2, {'bob': 100}]
- f = util.freeze(l)
- self.assertSequenceEqual(l, f)
- self.assertIsInstance(f, tuple)
-
- def testSet(self):
- s = {1, 2, util.freeze({'bob': 100})}
- f = util.freeze(s)
- self.assertEqual(s, f)
- self.assertIsInstance(f, frozenset)
-
-
-class TestThaw(unittest.TestCase):
- def testDict(self):
- d = collections.OrderedDict()
- d['cat'] = 100
- d['dog'] = 0
- f = util.freeze(d)
- t = util.thaw(f)
- self.assertEqual(d, f)
- self.assertEqual(t, f)
- self.assertEqual(d, t)
- self.assertIsInstance(t, collections.OrderedDict)
-
- def testList(self):
- l = [1, 2, {'bob': 100}]
- f = util.freeze(l)
- t = util.thaw(f)
- self.assertSequenceEqual(l, f)
- self.assertSequenceEqual(f, t)
- self.assertSequenceEqual(l, t)
- self.assertIsInstance(t, list)
-
- def testSet(self):
- s = {1, 2, 'cat'}
- f = util.freeze(s)
- t = util.thaw(f)
- self.assertEqual(s, f)
- self.assertEqual(f, t)
- self.assertEqual(t, s)
- self.assertIsInstance(t, set)

Powered by Google App Engine
This is Rietveld 408576698