2 """Tests DAG functionality"""
4 from __future__
import absolute_import
, division
, unicode_literals
10 from cola
.models
import dag
12 from test
import helper
16 ad454b189fe5785af397fd6067cf103268b6626e^A^A (tag: refs/tags/v0.0)^ADavid Aguilar^AFri Nov 30 00:03:28 2007 -0800^Adavvid@gmail.com^Afirst cut of ugit
17 1ba04ad185cf9f04c56c8482e9a73ef1bd35c695^Aad454b189fe5785af397fd6067cf103268b6626e^A^ADavid Aguilar^AFri Nov 30 05:07:47 2007 -0800^Adavvid@gmail.com^Aupdated model/view/controller api
18 fa5ad6c38be603e2ffd1f9b722a3a5c675f63de2^A1ba04ad185cf9f04c56c8482e9a73ef1bd35c695^A^ADavid Aguilar^AFri Nov 30 05:19:05 2007 -0800^Adavvid@gmail.com^AAvoid multiple signoffs
19 103766573cd4e6799d3ee792bcd632b92cf7c6c0^Afa5ad6c38be603e2ffd1f9b722a3a5c675f63de2^A^ADavid Aguilar^ATue Dec 11 05:13:21 2007 -0800^Adavvid@gmail.com^AAdded TODO
20 e3f5a2d0248de6197d6e0e63c901810b8a9af2f8^Afa5ad6c38be603e2ffd1f9b722a3a5c675f63de2^A^ADavid Aguilar^AMon Dec 3 02:36:06 2007 -0800^Adavvid@gmail.com^AMerged qlistwidgets into master.
21 f4fb8fd5baaa55d9b41faca79be289bb4407281e^Ae3f5a2d0248de6197d6e0e63c901810b8a9af2f8^A^ADavid Aguilar^ATue Dec 4 03:14:56 2007 -0800^Adavvid@gmail.com^ASquashed commit of the following:
22 23e7eab4ba2c94e3155f5d261c693ccac1342eb9^Af4fb8fd5baaa55d9b41faca79be289bb4407281e^A^ADavid Aguilar^AThu Dec 6 18:59:20 2007 -0800^Adavvid@gmail.com^AMerged diffdisplay into master
23 """.strip().replace('^A', chr(0x01)).split('\n') + [''] # Terminator
26 class DAGTestCase(helper
.GitRepositoryTestCase
):
29 helper
.GitRepositoryTestCase
.setUp(self
)
30 self
.params
= dag
.DAG('HEAD', 1000)
31 self
.reader
= dag
.RepoReader(self
.context
, self
.params
)
33 @mock.patch('cola.models.dag.core')
34 def test_repo_reader(self
, core
):
35 expect
= len(LOG_LINES
) - 1
38 core
.readline
.return_value
= LOG_LINES
[0]
39 for idx
, commit
in enumerate(self
.reader
.get()):
40 core
.readline
.return_value
= LOG_LINES
[idx
+1]
43 self
.assertEqual(expect
, actual
)
45 @mock.patch('cola.models.dag.core')
46 def test_repo_reader_order(self
, core
):
48 'ad454b189fe5785af397fd6067cf103268b6626e',
49 '1ba04ad185cf9f04c56c8482e9a73ef1bd35c695',
50 'fa5ad6c38be603e2ffd1f9b722a3a5c675f63de2',
51 '103766573cd4e6799d3ee792bcd632b92cf7c6c0',
52 'e3f5a2d0248de6197d6e0e63c901810b8a9af2f8',
53 'f4fb8fd5baaa55d9b41faca79be289bb4407281e',
54 '23e7eab4ba2c94e3155f5d261c693ccac1342eb9',
56 core
.readline
.return_value
= LOG_LINES
[0]
57 for idx
, commit
in enumerate(self
.reader
.get()):
58 core
.readline
.return_value
= LOG_LINES
[idx
+1]
60 self
.assertEqual(commits
[idx
], commit
.oid
)
62 @mock.patch('cola.models.dag.core')
63 def test_repo_reader_parents(self
, core
):
66 ['ad454b189fe5785af397fd6067cf103268b6626e'],
67 ['1ba04ad185cf9f04c56c8482e9a73ef1bd35c695'],
68 ['fa5ad6c38be603e2ffd1f9b722a3a5c675f63de2'],
69 ['fa5ad6c38be603e2ffd1f9b722a3a5c675f63de2'],
70 ['e3f5a2d0248de6197d6e0e63c901810b8a9af2f8'],
71 ['f4fb8fd5baaa55d9b41faca79be289bb4407281e'],
73 core
.readline
.return_value
= LOG_LINES
[0]
74 for idx
, commit
in enumerate(self
.reader
.get()):
75 core
.readline
.return_value
= LOG_LINES
[idx
+1]
77 self
.assertEqual(parents
[idx
], [p
.oid
for p
in commit
.parents
])
79 @mock.patch('cola.models.dag.core')
80 def test_repo_reader_contract(self
, core
):
81 core
.exists
.return_value
= True
82 core
.readline
.return_value
= LOG_LINES
[0]
84 for idx
, commit
in enumerate(self
.reader
.get()):
85 core
.readline
.return_value
= LOG_LINES
[idx
+1]
87 core
.start_command
.assert_called()
88 call_args
= core
.start_command
.call_args
89 self
.assertTrue('log.abbrevCommit=false' in call_args
[0][0])
90 self
.assertTrue('log.showSignature=false' in call_args
[0][0])