[Zope3-checkins] CVS: Products3/z3checkins/tests - test_message.py:1.5

Marius Gedminas mgedmin@codeworks.lt
Tue, 8 Apr 2003 13:35:11 -0400


Update of /cvs-repository/Products3/z3checkins/tests
In directory cvs.zope.org:/tmp/cvs-serv26556/tests

Modified Files:
	test_message.py 
Log Message:
Added icons to visually distinguish checkins into core code and other products,
and also to identify checkins made to branches.


=== Products3/z3checkins/tests/test_message.py 1.4 => 1.5 ===
--- Products3/z3checkins/tests/test_message.py:1.4	Thu Apr  3 07:48:48 2003
+++ Products3/z3checkins/tests/test_message.py	Tue Apr  8 13:35:10 2003
@@ -81,10 +81,60 @@
         self.assertNotEquals(a, c)
         self.assertNotEquals(b, c)
 
+    def test_setstate(self):
+        from zopeproducts.z3checkins.message import CheckinMessage
+        a = CheckinMessage(message_id='1', author='2', author_name='3',
+                           author_email='4', subject='5', date='6',
+                           directory='7', log_message='8', body='9',
+                           branch='10')
+        state = a.__getstate__()
+        b = CheckinMessage()
+        b.__setstate__(state)
+        self.assertEquals(a.__dict__, b.__dict__)
+
+    def test_setstate_branch1(self):
+        from zopeproducts.z3checkins.message import CheckinMessage
+        c = CheckinMessage()
+        a = CheckinMessage(body='Update of /cvs-repository/blah\n'
+                                'In directory cvs.zope.org:burgelburgel\n'
+                                '\n'
+                                'Added Files:\n'
+                                '      Tag: foomatic-branch\n'
+                                '\t__init__.py foo.py\n'
+                                'Log Message:\n'
+                                'do something\n',
+                           branch='foomatic-branch')
+        state = a.__getstate__()
+        del state['branch']
+        b = CheckinMessage()
+        b.__setstate__(state)
+        self.assertEquals(b.branch, a.branch)
+        self.assertEquals(a.__dict__, b.__dict__)
+
+    def test_setstate_branch2(self):
+        from zopeproducts.z3checkins.message import CheckinMessage
+        c = CheckinMessage()
+        a = CheckinMessage(body='Update of /cvs-repository/blah\n'
+                                'In directory cvs.zope.org:burgelburgel\n'
+                                '\n'
+                                'Added Files:\n'
+                                '\t__init__.py foo.py\n'
+                                'Log Message:\n'
+                                'do something\n'
+                                '\n'
+                                '=== Decoy ===\n'
+                                '      Tag: foomatic-branch\n')
+        state = a.__getstate__()
+        del state['branch']
+        b = CheckinMessage()
+        b.__setstate__(state)
+        self.assertEquals(b.branch, a.branch)
+        self.assertEquals(a.__dict__, b.__dict__)
+
 
 class TestCheckinMessageParser(unittest.TestCase):
 
-    sample_msg = """\
+    sample_msg1 = """\
 From: Foo Bar <foo.bar@bar.com>
 Subject: [Zope3-checkins] CVS: Zope3/src/foo/bar - baz.py:1.2
 Date: Fri, 28 Mar 2003 11:58:05 +03:00
@@ -120,6 +170,29 @@
 http://mail.zope.org/mailman/listinfo/zope3-checkins
 """
 
+    sample_msg2 = """\
+From: Foo Bar <foo.bar@bar.com>
+Subject: [Zope3-checkins] CVS: Zope3/src/foo/bar - baz.py:1.2
+Date: Fri, 28 Mar 2003 11:58:05 +03:00
+Message-Id: <42@bar.com>
+
+Update of /cvs-repository/Zope3/src/foo/bar
+In directory cvs.zope.org:/tmp/cvs-serv12345
+
+Added files:
+      Tag: foo-branch
+        baz.py
+Log Message:
+Ipsum suum dolores quantum est er nonsensicum textum writum esmum inum tuum
+lineum furum testum logum messageum.
+
+
+=== Added File Zope3/src/foo/bar/baz.py 1.1 ===
+lalala
+burbur
+barbar
+"""
+
     sample_import_msg = """\
 From: Foo Bar <foo.bar@bar.com>
 Subject: [Zope3-checkins] CVS: Zope3/src/foo/bar - Imported sources
@@ -148,11 +221,30 @@
         from zopeproducts.z3checkins.message import CheckinMessageParser
         verifyObject(ICheckinMessageParser, CheckinMessageParser())
 
-    def test_parser(self):
+    def test_parser1(self):
+        from zopeproducts.z3checkins.message import CheckinMessageParser
+        from zopeproducts.z3checkins.message import FixedTimezone
+        parser = CheckinMessageParser()
+        msg = parser.parse(StringIO(self.sample_msg1))
+        self.assertEquals(msg.message_id, "<42@bar.com>")
+        self.assertEquals(msg.author, "Foo Bar <foo.bar@bar.com>")
+        self.assertEquals(msg.author_name, "Foo Bar")
+        self.assertEquals(msg.author_email, "foo.bar@bar.com")
+        self.assertEquals(msg.date, datetime(2003, 03, 28, 11, 58, 05,
+                                             tzinfo=FixedTimezone(3*60)))
+        self.assertEquals(msg.directory, "Zope3/src/foo/bar")
+        self.assertEquals(msg.branch, None)
+        self.assertEquals(msg.log_message, """\
+Ipsum suum dolores quantum est er nonsensicum textum writum esmum inum tuum
+lineum furum testum logum messageum.""")
+        self.assertEquals(msg.body,
+                          self.sample_msg1.split("\n\n", 1)[1].strip())
+
+    def test_parser2(self):
         from zopeproducts.z3checkins.message import CheckinMessageParser
         from zopeproducts.z3checkins.message import FixedTimezone
         parser = CheckinMessageParser()
-        msg = parser.parse(StringIO(self.sample_msg))
+        msg = parser.parse(StringIO(self.sample_msg2))
         self.assertEquals(msg.message_id, "<42@bar.com>")
         self.assertEquals(msg.author, "Foo Bar <foo.bar@bar.com>")
         self.assertEquals(msg.author_name, "Foo Bar")
@@ -160,10 +252,12 @@
         self.assertEquals(msg.date, datetime(2003, 03, 28, 11, 58, 05,
                                              tzinfo=FixedTimezone(3*60)))
         self.assertEquals(msg.directory, "Zope3/src/foo/bar")
+        self.assertEquals(msg.branch, "foo-branch")
         self.assertEquals(msg.log_message, """\
 Ipsum suum dolores quantum est er nonsensicum textum writum esmum inum tuum
 lineum furum testum logum messageum.""")
-        self.assertEquals(msg.body, self.sample_msg.split("\n\n", 1)[1].strip())
+        self.assertEquals(msg.body,
+                          self.sample_msg2.split("\n\n", 1)[1].strip())
 
     def test_parser_importmsg(self):
         from zopeproducts.z3checkins.message import CheckinMessageParser
@@ -177,6 +271,7 @@
         self.assertEquals(msg.date, datetime(2003, 03, 28, 11, 58, 05,
                                              tzinfo=FixedTimezone(3*60)))
         self.assertEquals(msg.directory, "Zope3/src/foo/bar")
+        self.assertEquals(msg.branch, None)
         self.assertEquals(msg.log_message, """\
 Ipsum suum dolores quantum est er nonsensicum textum writum esmum inum tuum
 lineum furum testum logum messageum.""")