mirror of
https://github.com/deadc0de6/dotdrop.git
synced 2026-02-16 16:45:16 +00:00
adding tests for "include"
This commit is contained in:
@@ -7,6 +7,7 @@ basic unittest for the config parser
|
|||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
import os
|
import os
|
||||||
|
import yaml
|
||||||
import tempfile
|
import tempfile
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
@@ -46,6 +47,64 @@ class TestConfig(unittest.TestCase):
|
|||||||
self.assertTrue(conf._is_valid())
|
self.assertTrue(conf._is_valid())
|
||||||
self.assertTrue(conf.dump() != '')
|
self.assertTrue(conf.dump() != '')
|
||||||
|
|
||||||
|
def test_include(self):
|
||||||
|
tmp = get_tempfolder()
|
||||||
|
self.assertTrue(os.path.exists(tmp))
|
||||||
|
self.addCleanup(clean, tmp)
|
||||||
|
|
||||||
|
# create a base config file
|
||||||
|
confpath = create_fake_config(tmp,
|
||||||
|
configname=self.CONFIG_NAME,
|
||||||
|
dotpath=self.CONFIG_DOTPATH,
|
||||||
|
backup=self.CONFIG_BACKUP,
|
||||||
|
create=self.CONFIG_CREATE)
|
||||||
|
|
||||||
|
# edit the config
|
||||||
|
with open(confpath, 'r') as f:
|
||||||
|
content = yaml.load(f)
|
||||||
|
|
||||||
|
# adding dotfiles
|
||||||
|
df1key = 'f_vimrc'
|
||||||
|
df2key = 'f_xinitrc'
|
||||||
|
content['dotfiles'] = {
|
||||||
|
df1key: {'dst': '~/.vimrc', 'src': 'vimrc'},
|
||||||
|
df2key: {'dst': '~/.xinitrc', 'src': 'xinitrc'}
|
||||||
|
}
|
||||||
|
|
||||||
|
# adding profiles
|
||||||
|
pf1key = 'host1'
|
||||||
|
pf2key = 'host2'
|
||||||
|
content['profiles'] = {
|
||||||
|
pf1key: {'dotfiles': [df2key], 'include': ['host2']},
|
||||||
|
pf2key: {'dotfiles': [df1key]}
|
||||||
|
}
|
||||||
|
|
||||||
|
print(content)
|
||||||
|
print(content['profiles'])
|
||||||
|
|
||||||
|
# save the new config
|
||||||
|
with open(confpath, 'w') as f:
|
||||||
|
yaml.dump(content, f, default_flow_style=False, indent=2)
|
||||||
|
|
||||||
|
# do the tests
|
||||||
|
conf = Cfg(confpath)
|
||||||
|
self.assertTrue(conf is not None)
|
||||||
|
|
||||||
|
# test profile
|
||||||
|
opts = conf.get_configs()
|
||||||
|
print(conf.get_profiles())
|
||||||
|
profiles = conf.get_profiles()
|
||||||
|
self.assertTrue(pf1key in profiles)
|
||||||
|
self.assertTrue(pf2key in profiles)
|
||||||
|
|
||||||
|
# test dotfiles
|
||||||
|
dotfiles = conf.get_dotfiles(pf1key)
|
||||||
|
self.assertTrue(df1key in [x.key for x in dotfiles])
|
||||||
|
self.assertTrue(df2key in [x.key for x in dotfiles])
|
||||||
|
dotfiles = conf.get_dotfiles(pf2key)
|
||||||
|
self.assertTrue(df1key in [x.key for x in dotfiles])
|
||||||
|
self.assertFalse(df2key in [x.key for x in dotfiles])
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user