def test_write_configfile(self): cfg = LayeredConfig(inifile="ferenda.ini") cfg.mymodule.lastrun = datetime(2013,9,18,15,41,0) # calling write for any submodule will force a write of the # entire config file LayeredConfig.write(cfg.mymodule) want = """[__root__] datadir = mydata processes = 4 loglevel = INFO forceparse = True jsfiles = ['default.js','modernizr.js'] [mymodule] loglevel = DEBUG forceparse = False jsfiles = ['pdfviewer.js','zepto.js'] lastrun = 2013-09-18 15:41:00 """ got = util.readfile("ferenda.ini").replace("\r\n","\n") #if not isinstance(got, six.text_type): # got = got.decode("utf-8") self.assertEqual(want,got)
def test_write_noconfigfile(self): cfg = LayeredConfig(defaults={'lastrun': datetime(2012,9,18,15,41,0)}) cfg.lastrun = datetime(2013,9,18,15,41,0) LayeredConfig.write(cfg)
def test_modified(self): defaults = {'lastdownload':None} cfg = LayeredConfig(defaults=defaults) now = datetime.now() cfg.lastdownload = now self.assertEqual(cfg.lastdownload,now)