cmds: provide $DIRNAME in the environment for guitool commands
[git-cola.git] / test / gitops_test.py
blob7fe7d6dd8ffad520c951f7f39778a18e3eeed0e9
1 #!/usr/bin/env python
2 """Tests basic git operations: commit, log, config"""
4 from __future__ import absolute_import, division, unicode_literals
6 import unittest
8 from cola import core
9 from cola.models.main import MainModel
11 from test import helper
14 class ColaBasicGitTestCase(helper.GitRepositoryTestCase):
16 def setUp(self):
17 helper.GitRepositoryTestCase.setUp(self, commit=False)
19 def test_git_commit(self):
20 """Test running 'git commit' via cola.git"""
21 self.write_file('A', 'A')
22 self.write_file('B', 'B')
23 self.git('add', 'A', 'B')
25 model = MainModel(cwd=core.getcwd())
26 model.git.commit(m='commit test')
27 log = self.git('log', '--pretty=oneline')
29 self.assertEqual(len(log.splitlines()), 1)
31 def test_git_config(self):
32 """Test cola.git.config()"""
33 self.git('config', 'section.key', 'value')
34 model = MainModel(cwd=core.getcwd())
35 value = model.git.config('section.key', get=True)
37 self.assertEqual(value, (0, 'value', ''))
39 # Test config_set
40 model.config_set('section.bool', True)
41 value = model.git.config('section.bool', get=True)
43 self.assertEqual(value, (0, 'true', ''))
44 model.config_set('section.bool', False)
46 # Test config_dict
47 config_dict = model.config_dict(local=True)
49 self.assertEqual(config_dict['section_key'], 'value')
50 self.assertEqual(config_dict['section_bool'], False)
52 # Test config_dict --global
53 global_dict = model.config_dict(local=False)
55 self.assertEqual(type(global_dict), dict)
58 if __name__ == '__main__':
59 unittest.main()