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

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

Issue 355153002: Refactor infra git libs and testing. (Closed) Base URL: https://chromium.googlesource.com/infra/infra@fake_testing_support
Patch Set: Change config ref to have a sandard naming scheme 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/data_test.py
diff --git a/infra/services/gnumbd/test/data_test.py b/infra/services/gnumbd/test/data_test.py
deleted file mode 100644
index a5f1e6a0b6863472c602c362e9fa14b9135e69f2..0000000000000000000000000000000000000000
--- a/infra/services/gnumbd/test/data_test.py
+++ /dev/null
@@ -1,442 +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 collections
-import textwrap
-import unittest
-
-from infra.services.gnumbd.support import data
-
-class TestCommitTimestamp(unittest.TestCase):
- def testBasic(self):
- TS = '1399330903 -0700'
- t = data.CommitTimestamp.from_raw(TS)
- self.assertEqual(1399330903, t.secs)
- self.assertEqual(7, t.hours)
- self.assertEqual(0, t.mins)
- self.assertEqual('-', t.sign)
- self.assertEqual('-0700', t.tz_str)
- self.assertEqual(TS, str(t))
- self.assertEqual("CommitTimestamp(1399330903, '-', 7, 0)", repr(t))
-
- def testError(self):
- with self.assertRaises(Exception):
- data.CommitTimestamp.from_raw(' 1000 +0700')
- with self.assertRaises(Exception):
- data.CommitTimestamp.from_raw('1000 +0700 ')
- with self.assertRaises(Exception):
- data.CommitTimestamp.from_raw('1000 +0700')
- with self.assertRaises(Exception):
- data.CommitTimestamp.from_raw('cat -0700')
- with self.assertRaises(Exception):
- data.CommitTimestamp.from_raw('1000 =0700')
- with self.assertRaises(Exception):
- data.CommitTimestamp.from_raw('1000 +x100')
- with self.assertRaises(Exception):
- data.CommitTimestamp.from_raw('1000 +010x')
-
- def testEquality(self):
- TS = '1399330903 -0700'
- t = data.CommitTimestamp.from_raw(TS)
- self.assertEqual(t, t)
- self.assertIs(t, t)
-
- t2 = data.CommitTimestamp.from_raw(TS)
- self.assertEqual(t, t2)
- self.assertIsNot(t, t2)
-
- self.assertNotEqual(t, t.alter(sign='+'))
-
- def testToDict(self):
- TS = '1399330903 -0700'
- t = data.CommitTimestamp.from_raw(TS)
- self.assertEqual(t.to_dict(), {
- 'secs': 1399330903, 'sign': '-', 'hours': 7, 'mins': 0})
-
- def testAlter(self):
- TS = '1399330903 -0700'
- t = data.CommitTimestamp.from_raw(TS)
- self.assertEqual(str(t.alter(hours=20, sign='+')), '1399330903 +2000')
-
-
-class TestCommitUser(unittest.TestCase):
- def testBasic(self):
- USER = 'Bob Boberton <bob@chromium.org> 1399330903 -0700'
- u = data.CommitUser.from_raw(USER)
- self.assertEqual(u.email, 'bob@chromium.org')
- self.assertEqual(u.user, 'Bob Boberton')
- self.assertEqual(u.timestamp, data.CommitTimestamp(1399330903, '-', 7, 0))
- self.assertEqual(str(u), USER)
- self.assertEqual(
- repr(u), (
- "CommitUser('Bob Boberton', 'bob@chromium.org', "
- "CommitTimestamp(1399330903, '-', 7, 0))"
- )
- )
-
- USER = 'Bob Boberton < bob@chromium.org> 1399330903 -0700'
- u = data.CommitUser.from_raw(USER)
- self.assertEqual(u.email, ' bob@chromium.org')
- self.assertEqual(u.user, 'Bob Boberton ')
- self.assertEqual(str(u), USER)
-
- def testError(self):
- with self.assertRaises(Exception):
- USER = 'Bob Boberton <bob@chromium.org> 1399330903 -0700'
- data.CommitUser.from_raw(USER)
- with self.assertRaises(Exception):
- USER = 'Bob Boberton <bob@chromium.org 1399330903 -0700'
- data.CommitUser.from_raw(USER)
- with self.assertRaises(Exception):
- USER = 'Bob Boberton bob@chromium.org> 1399330903 -0700'
- data.CommitUser.from_raw(USER)
- with self.assertRaises(Exception):
- USER = ' <bob@chromium.org> 1399330903 -0700'
- data.CommitUser.from_raw(USER)
- with self.assertRaises(Exception):
- USER = '<bob@chromium.org> 1399330903 -0700'
- data.CommitUser.from_raw(USER)
- with self.assertRaises(Exception):
- USER = 'Bob <> 1399330903 -0700'
- data.CommitUser.from_raw(USER)
-
- def testToDict(self):
- USER = 'Bob Boberton <bob@chromium.org> 1399330903 -0700'
- u = data.CommitUser.from_raw(USER)
- self.assertEqual(u.to_dict(), {
- 'user': 'Bob Boberton', 'email': 'bob@chromium.org',
- 'timestamp': data.CommitTimestamp(1399330903, '-', 7, 0)})
-
- def testEquality(self):
- USER = 'Bob Boberton <bob@chromium.org> 1399330903 -0700'
- u = data.CommitUser.from_raw(USER)
- self.assertEqual(u, u)
- self.assertIs(u, u)
-
- u2 = data.CommitUser.from_raw(USER)
- self.assertEqual(u, u2)
- self.assertIsNot(u, u2)
-
- self.assertNotEqual(u, u.alter(user='Catty Catterson'))
-
- def testAlter(self):
- USER = 'Bob Boberton <bob@chromium.org> 1399330903 -0700'
- u = data.CommitUser.from_raw(USER)
- self.assertEqual(u, u.alter(user='Bob Boberton'))
-
- USER = 'Bob Boberton <roberton@chromium.org> 1399330903 -0700'
- u2 = data.CommitUser.from_raw(USER)
- nu = u2.alter(email='bob@chromium.org')
- self.assertEqual(u, nu)
-
- self.assertEqual(u2.alter(timestamp=u2.timestamp.alter(secs=100)).timestamp,
- data.CommitTimestamp.from_raw('100 -0700'))
-
-
-class TestCommitData(unittest.TestCase):
- def testBasic(self):
- COMMIT = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- parent 1b346cb5145e1fe4c074611e335d8ac96e18c686
- parent ab8d80f57839fb03674c0fc69ff5ccf2145fa6e2
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- """)
- self.maxDiff = 10000
- d = data.CommitData.from_raw(COMMIT)
- self.assertEqual(d.to_dict(), {
- 'tree': 'b966f77e58b8a3cf7c02dd0271a4d636c0857af4',
- 'parents': ('1b346cb5145e1fe4c074611e335d8ac96e18c686',
- 'ab8d80f57839fb03674c0fc69ff5ccf2145fa6e2'),
- 'author': data.CommitUser(
- 'Bob Boberton', 'bob@chromium.org',
- data.CommitTimestamp(1399330903, '-', 7, 0)),
- 'committer': data.CommitUser(
- 'Jane January', 'jane@chromium.org',
- data.CommitTimestamp(1399330903, '-', 7, 0)),
- 'message_lines': ('Cool commit message',),
- 'footer_lines': (),
- 'other_header_lines': ()
- })
- self.assertEqual(
- repr(d),
- "CommitData('b966f77e58b8a3cf7c02dd0271a4d636c0857af4', "
- "('1b346cb5145e1fe4c074611e335d8ac96e18c686', "
- "'ab8d80f57839fb03674c0fc69ff5ccf2145fa6e2'), "
- "CommitUser('Bob Boberton', 'bob@chromium.org', "
- "CommitTimestamp(1399330903, '-', 7, 0)), "
- "CommitUser('Jane January', 'jane@chromium.org', "
- "CommitTimestamp(1399330903, '-', 7, 0)), (), "
- "('Cool commit message',), ())"
- )
- self.assertEqual(str(d), COMMIT)
-
- def testFooters(self):
- COMMIT = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
-
- Xenophobe: False
- Cool-Footer: 100
- Double-Awesome: 100
- Cool-Footer: Redux
- """)
- d = data.CommitData.from_raw(COMMIT)
- self.assertEqual(d, d)
- self.assertNotEqual(d, {})
- self.assertDictContainsSubset({
- 'tree': 'b966f77e58b8a3cf7c02dd0271a4d636c0857af4',
- 'author': data.CommitUser(
- 'Bob Boberton', 'bob@chromium.org',
- data.CommitTimestamp(1399330903, '-', 7, 0)),
- 'committer': data.CommitUser(
- 'Jane January', 'jane@chromium.org',
- data.CommitTimestamp(1399330903, '-', 7, 0))
- }, d.to_dict())
- self.assertSequenceEqual(
- d.message_lines, ['Cool commit message', 'with: misleading footers'])
- self.assertSequenceEqual(
- d.footer_lines,
- [('Xenophobe', 'False'), ('Cool-Footer', '100'),
- ('Double-Awesome', '100'), ('Cool-Footer', 'Redux')])
- self.assertEqual(d.footers, {
- 'Cool-Footer': ('100', 'Redux'),
- 'Double-Awesome': ('100',),
- 'Xenophobe': ('False',),
- })
- self.assertSequenceEqual(['Xenophobe', 'Cool-Footer', 'Double-Awesome'],
- d.footers.keys())
- self.assertEqual(str(d), COMMIT)
-
- def testMisleadingFooters(self):
- COMMIT = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
- """)
- d = data.CommitData.from_raw(COMMIT)
- self.assertDictContainsSubset({
- 'tree': 'b966f77e58b8a3cf7c02dd0271a4d636c0857af4',
- 'author': data.CommitUser(
- 'Bob Boberton', 'bob@chromium.org',
- data.CommitTimestamp(1399330903, '-', 7, 0)),
- 'committer': data.CommitUser(
- 'Jane January', 'jane@chromium.org',
- data.CommitTimestamp(1399330903, '-', 7, 0)),
- }, d.to_dict())
- self.assertSequenceEqual(
- d.message_lines, ['Cool commit message', 'with: misleading footers'])
- self.assertSequenceEqual(
- d.footer_lines, [])
- self.assertEqual(d.footers, {})
-
- def testAlter(self):
- TREE1 = "tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4\n"
-
- TREE2 = "tree deadbeefdeadbeefdeadbeefdeadbeefdeadbeef\n"
-
- POSTFIX = textwrap.dedent("""\
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
- """)
-
- d = data.CommitData.from_raw(TREE1 + POSTFIX)
- d2 = data.CommitData.from_raw(TREE2 + POSTFIX)
-
- self.assertEqual(
- d.alter(tree='deadbeefdeadbeefdeadbeefdeadbeefdeadbeef'), d2)
-
- HEADERS = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
- meep happytimes
-
- Cool commit message
- with: misleading footers
- """)
- self.assertEqual(str(d.alter(other_headers={'meep': ['happytimes']})),
- HEADERS)
-
- def testAlterReorder(self):
- PREFIX = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
-
- """)
- COMMIT = PREFIX + textwrap.dedent("""\
- Xenophobe: False
- Cool-Footer: 100
- Double-Awesome: 100
- Cool-Footer: Redux
- """)
- NEW_COMMIT = PREFIX + textwrap.dedent("""\
- Xenophobe: False
- Cool-Footer: 100
- Cool-Footer: Redux
- Double-Awesome: 100
- """)
- d = data.CommitData.from_raw(COMMIT)
- nd = data.CommitData.from_raw(NEW_COMMIT)
- self.assertEqual(d, d)
- self.assertNotEqual(d, nd)
-
- def testAlterAdd(self):
- PREFIX = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
-
- """)
- COMMIT = PREFIX + textwrap.dedent("""\
- Xenophobe: False
- Cool-Footer: 100
- Double-Awesome: 100
- Cool-Footer: Redux
- """)
- NEW_COMMIT = PREFIX + textwrap.dedent("""\
- Cool-Footer: 100
- Cool-Footer: Redux
- Double-Awesome: 100
- Fungus: neat!
- """)
- d = data.CommitData.from_raw(COMMIT)
- nd = data.CommitData.from_raw(NEW_COMMIT)
-
- f = {'Fungus': ('neat!',)}
- f['Xenophobe'] = None
- self.assertEqual(d.alter(footers=f), nd)
-
- def testAlterDel(self):
- PREFIX = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
-
- """)
- COMMIT = PREFIX + textwrap.dedent("""\
- Xenophobe: False
- Cool-Footer: 100
- Double-Awesome: 100
- Cool-Footer: Redux
- """)
- NEW_COMMIT = PREFIX[:-1]
- d = data.CommitData.from_raw(COMMIT)
- nd = data.CommitData.from_raw(NEW_COMMIT)
- to_nuke = {k: None for k in d.footers}
- to_nuke['Non-exist'] = None
- self.assertEqual(d.alter(footers=to_nuke), nd)
-
- def testAlterAppend(self):
- PREFIX = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
-
- """)
- COMMIT = PREFIX + textwrap.dedent("""\
- Xenophobe: False
- Cool-Footer: 100
- Double-Awesome: 100
- Cool-Footer: Redux
- """)
- NEW_COMMIT = PREFIX + textwrap.dedent("""\
- Xenophobe: False
- Cool-Footer: 100
- Cool-Footer: Redux
- Cool-Footer: Sweet
- Double-Awesome: 100
- """)
- d = data.CommitData.from_raw(COMMIT)
- nd = data.CommitData.from_raw(NEW_COMMIT)
- self.assertEqual(
- d.alter(
- footers={'Cool-Footer': d.footers['Cool-Footer'] + ('Sweet',)}
- ),
- nd)
-
- def testOtherHeaders(self):
- COMMIT = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- parent 1b346cb5145e1fe4c074611e335d8ac96e18c686
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
- generation 300
- apple-sauce cat food
- generation 100
-
- Cool commit message
- with: misleading footers
- """)
- c = data.CommitData.from_raw(COMMIT)
- expect = collections.OrderedDict()
- expect['generation'] = ('300', '100')
- expect['apple-sauce'] = ('cat food',)
- self.assertEqual(c.other_headers, expect)
- self.assertEqual(str(c), COMMIT)
-
- # Error cases
- def testDupTree(self):
- COMMIT = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- parent 1b346cb5145e1fe4c074611e335d8ac96e18c686
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
- """)
- with self.assertRaises(data.UnexpectedHeader):
- data.CommitData.from_raw(COMMIT)
-
- def testDupUser(self):
- COMMIT = textwrap.dedent("""\
- tree b966f77e58b8a3cf7c02dd0271a4d636c0857af4
- parent 1b346cb5145e1fe4c074611e335d8ac96e18c686
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- author Bob Boberton <bob@chromium.org> 1399330903 -0700
- committer Jane January <jane@chromium.org> 1399330903 -0700
-
- Cool commit message
- with: misleading footers
- """)
- with self.assertRaises(data.UnexpectedHeader):
- data.CommitData.from_raw(COMMIT)
-
- def testPartial(self):
- COMMIT = textwrap.dedent("""\
- tree deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
- """)
- with self.assertRaises(data.PartialCommit):
- data.CommitData.from_raw(COMMIT)
-
- def testEmpty(self):
- with self.assertRaises(data.PartialCommit):
- data.CommitData.from_raw('')

Powered by Google App Engine
This is Rietveld 408576698