1# Copyright (C) 2010 Google Inc. All rights reserved. 2# 3# Redistribution and use in source and binary forms, with or without 4# modification, are permitted provided that the following conditions are 5# met: 6# 7# * Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# * Redistributions in binary form must reproduce the above 10# copyright notice, this list of conditions and the following disclaimer 11# in the documentation and/or other materials provided with the 12# distribution. 13# * Neither the name of Google Inc. nor the names of its 14# contributors may be used to endorse or promote products derived from 15# this software without specific prior written permission. 16# 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 29import unittest 30 31from webkitpy.common.checkout.commitinfo import CommitInfo 32from webkitpy.common.config.committers import CommitterList, Committer, Reviewer 33 34class CommitInfoTest(unittest.TestCase): 35 36 def test_commit_info_creation(self): 37 author = Committer("Author", "author@example.com") 38 committer = Committer("Committer", "committer@example.com") 39 reviewer = Reviewer("Reviewer", "reviewer@example.com") 40 committer_list = CommitterList(committers=[author, committer], reviewers=[reviewer]) 41 42 changelog_data = { 43 "bug_id": 1234, 44 "author_name": "Committer", 45 "author_email": "author@example.com", 46 "author": author, 47 "reviewer_text": "Reviewer", 48 "reviewer": reviewer, 49 } 50 commit = CommitInfo(123, "committer@example.com", changelog_data, committer_list) 51 52 self.assertEqual(commit.revision(), 123) 53 self.assertEqual(commit.bug_id(), 1234) 54 self.assertEqual(commit.author_name(), "Committer") 55 self.assertEqual(commit.author_email(), "author@example.com") 56 self.assertEqual(commit.author(), author) 57 self.assertEqual(commit.reviewer_text(), "Reviewer") 58 self.assertEqual(commit.reviewer(), reviewer) 59 self.assertEqual(commit.committer(), committer) 60 self.assertEqual(commit.committer_email(), "committer@example.com") 61 self.assertEqual(commit.responsible_parties(), set([author, committer, reviewer])) 62