source: tailor/vcpx/tests/svndump.py @ 750

Revision 750, 1.9 KB checked in by lele@…, 8 years ago (diff)

Load the svndump to test the parser from an external file

Line 
1# -*- mode: python; coding: utf-8 -*-
2# :Progetto: vcpx -- Tests for svndump source backend
3# :Creato:   gio 01 set 2005 10:47:17 CEST
4# :Autore:   Lele Gaifax <lele@nautilus.homeip.net>
5# :Licenza:  GNU General Public License
6#
7
8from unittest import TestCase, TestSuite
9from datetime import datetime
10from StringIO import StringIO
11from vcpx.svndump import changesets_from_svndump
12
13class SvndumpParserTest(TestCase):
14    """Ensure the svndump parser does its job."""
15
16    def setUp(self):
17        from os.path import join, split
18
19        datadir = join(split(__file__)[0], 'data')
20        self.log = open(join(datadir, 'simple.svndump'), 'rU')
21
22    def testBasicBehaviour(self):
23        "Verify basic svndump parser behaviour"
24
25        csets = changesets_from_svndump(self.log)
26
27        self.assertEqual(len(csets), 5)
28
29        cset = csets[0]
30        self.assertEqual(cset.author, "lele")
31        self.assertEqual(cset.date, datetime(2005, 9, 1, 8, 38, 41, 788715))
32        self.assertEqual(cset.log, "Initial import")
33
34        entry = cset.entries[0]
35        self.assertEqual(entry.name, 'bash.bashrc')
36        self.assertEqual(entry.action_kind, entry.ADDED)
37        self.assertEqual(entry.text_length, 980)
38
39        cset = csets[1]
40        self.assertEqual(cset.log, "Rename the file")
41
42        entry = cset.entries[0]
43        self.assertEqual(entry.name, 'bashrc')
44        self.assertEqual(entry.old_name, 'bash.bashrc')
45        self.assertEqual(entry.action_kind, entry.RENAMED)
46        self.assertEqual(entry.text_length, None)
47
48        cset = csets[2]
49        self.assertEqual(cset.log, "Add subdir")
50
51        entry = cset.entries[0]
52        self.assertEqual(entry.name, 'subdir')
53        self.assertEqual(entry.action_kind, entry.ADDED)
54        self.assertEqual(entry.text_length, None)
55
56    def testFilterOnModule(self):
57        "Verify how svndump parser filters entries"
58
59        csets = changesets_from_svndump(self.log, module="subdir")
60
61        self.assertEqual(len(csets), 2)
Note: See TracBrowser for help on using the repository browser.