def test_missingsection(tmpdir, default_settings_dict): f = tmpdir.mkdir('fold').join('sets.ini') text = """UpdateEvery = 60\nRootFOlder = root\n \nSyncNewCourses = True""" with open(str(f), 'w') as setsfile: setsfile.write(text) sets = settingsFromFile(str(f), default_settings_dict) assert sets == default_settings_dict
def test_somepresent_allinvalid(tmpdir, default_settings_dict): """Not all values present, all are invalid, file accessible""" conf = RawConfigParser() conf.optionxform = lambda option: option conf['General'] = {'UpdateEvery': 'noatanumer', 'SyncNewCourses': 'False'} f = tmpdir.mkdir('fold').join('sets.ini') with open(str(f), 'w') as setsfile: conf.write(setsfile) sets = settingsFromFile(str(f), default_settings_dict) nice = { 'UpdateEvery': '60', 'RootFolder': 'root', 'SyncNewCourses': 'False' } assert sets == nice
def test_notallvaluesarepresent(tmpdir, default_settings_dict): """Not all values are present; all are valid, file is accessible""" conf = RawConfigParser() conf.optionxform = lambda option: option conf['General'] = { 'UpdateEvery': '50', 'RootFolder': 'custom', } f = tmpdir.mkdir('fold').join('sets.ini') with open(str(f), 'w') as setsfile: conf.write(setsfile) sets = settingsFromFile(str(f), default_settings_dict) merge = { 'UpdateEvery': '50', 'RootFolder': 'custom', 'SyncNewCourses': 'False' } assert sets == merge
def test_savefileexists(tmpdir, default_settings_dict): f = tmpdir.mkdir('fold').join('sets.ini') conf = RawConfigParser() conf.optionxform = lambda option: option conf['General'] = { 'UpdateEvery': '30', 'RootFolder': 'anotherroot', 'SyncNewCourses': 'False' } with open(str(f), 'w') as setsfile: conf.write(setsfile) newsettings = { 'UpdateEvery': '20', 'RootFolder': 'finalroot', 'SyncNewCourses': 'True' } settingsToFile(newsettings, str(f)) assert settingsFromFile(str(f), default_settings_dict) == newsettings
def test_somepresent_allinvalid(tmpdir, default_settings_dict): """Not all values present, all are invalid, file accessible""" conf = RawConfigParser() conf.optionxform = lambda option: option conf['General'] = { 'UpdateEvery': 'noatanumer', 'SyncNewCourses': 'False' } f = tmpdir.mkdir('fold').join('sets.ini') with open(str(f), 'w') as setsfile: conf.write(setsfile) sets = settingsFromFile(str(f), default_settings_dict) nice = { 'UpdateEvery': '60', 'RootFolder': 'root', 'SyncNewCourses': 'False' } assert sets == nice
def load_settings(self): for path in [user_config_dir(self.appname), user_data_dir(self.appname)]: try: os.makedirs(path, exist_ok=True) except OSError: logger.critical('OSError while calling os.makedirs.', exc_info=True) logger.critical(f"I couldn't create {path}.\nStart" " poliBeePsync with --debug " "error to get more details.") self.settings_path = os.path.join(user_config_dir(self.appname), self.settings_fname) defaults = { 'UpdateEvery': '60', 'RootFolder': os.path.join(os.path.expanduser('~'), self.appname), 'SyncNewCourses': 'False' } self.settings = filesettings.settingsFromFile(self.settings_path, defaults)
def load_settings(self): for path in [ user_config_dir(self.appname), user_data_dir(self.appname) ]: try: os.makedirs(path, exist_ok=True) except OSError: logger.critical('OSError while calling os.makedirs.', exc_info=True) self.myStream_message("I couldn't create {}.\nStart" " poliBeePsync with --debug " "error to get more details.") self.settings_path = os.path.join(user_config_dir(self.appname), self.settings_fname) defaults = { 'UpdateEvery': '60', 'RootFolder': os.path.join(os.path.expanduser('~'), self.appname), 'SyncNewCourses': 'False' } self.settings = filesettings.settingsFromFile(self.settings_path, defaults)
def test_allvaluesvalidpresent(default_settings_file, default_settings_dict): """All values are present in the config file All values are valid File is accessible""" sets = settingsFromFile(default_settings_file, default_settings_dict) assert sets == default_settings_dict
def test_missingfile(tmpdir, default_settings_dict): f = tmpdir.mkdir('fold') sets = settingsFromFile(str(f) + "nofile.ini", default_settings_dict) assert sets == default_settings_dict
def test_missingfolder(default_settings_dict): sets = settingsFromFile('/i/dont/exist/sets.ini', default_settings_dict) assert sets == default_settings_dict
def test_missingfile(tmpdir, default_settings_dict): f = tmpdir.mkdir('fold') sets = settingsFromFile(str(f)+"nofile.ini", default_settings_dict) assert sets == default_settings_dict