def setUp(self, conf='/test.cfg'): settings = Settings() settings.setFile(base_path + conf) Env.set('settings', settings) Env.set('http_opener', requests.Session()) Env.set('cache', NoCache()) return YGG()
def setUp(self, conf='/test.cfg'): settings = Settings() settings.setFile(base_path + conf) Env.set('settings', settings) Env.set('http_opener', requests.Session()) Env.set('cache', NoCache()) YGG.log.logger.setLevel('DEBUG') YGG.log.logger.addHandler(handler) return YGG()
def setUp(self, conf='/test.cfg'): settings = Settings() settings.setFile(base_path + conf) """ To not regenerate an Travis encrypted token at every ygg hostname change """ if not settings.get('url', 'ygg'): settings.set('ygg', 'url', 'https://www2.yggtorrent.ch') if not settings.get('login_url', 'ygg'): settings.set('ygg', 'login_url', 'https://www.yggtorrent.ch/') Env.set('settings', settings) Env.set('http_opener', requests.Session()) Env.set('cache', NoCache()) return YGG()
class Env: ''' Environment variables ''' _uses_git = False _debug = False _settings = Settings() _loader = Loader() _cache = None _options = None _args = None _quiet = False _deamonize = False _version = 0.5 ''' Data paths and directories ''' _app_dir = "" _data_dir = "" _cache_dir = "" _db_path = "" _log_path = "" @staticmethod def doDebug(): return Env._debug @staticmethod def get(attr): return getattr(Env, '_' + attr) @staticmethod def set(attr, value): return setattr(Env, '_' + attr, value) @staticmethod def setting(attr, section='core', value=None, default=''): # Return setting if value == None: return Env.get('settings').get(attr, default=default, section=section) # Set setting s = Env.get('settings') s.set(section, attr, value) return s @staticmethod def getPermission(type): return int( Env.get('settings').get('permission_%s' % type, default=0777))
class OptionMetaSuite(TestCase): """ tests for ro rw hidden options """ def setUp(self): self.s = Settings() self.meta = self.s.option_meta_suffix() # hide real config-parser: self.s.p = Mock() def test_no_meta_option(self): s = self.s section = 'core' option = 'url' option_meta = option + self.meta # setup mock s.p.getboolean = Mock(return_value=True) # there is no META-record for our option: s.p.has_option = Mock( side_effect=lambda s, o: not (s == section and o == option_meta)) # by default all options are writable and readable self.assertTrue(s.is_option_writable(section, option)) self.assertTrue(s.is_option_readable(section, option)) def test_non_writable(self): s = self.s section = 'core' option = 'url' def mock_get_meta_ro(s, o): if (s == section and o == option_meta): return 'ro' return 11 option_meta = option + self.meta # setup mock s.p.has_option = Mock(return_value=True) s.p.get = Mock(side_effect=mock_get_meta_ro) # by default all options are writable and readable self.assertFalse(s.is_option_writable(section, option)) self.assertTrue(s.is_option_readable(section, option))
class OptionMetaSuite(TestCase): """ tests for ro rw hidden options """ def setUp(self): self.s = Settings() self.meta = self.s.optionMetaSuffix() # hide real config-parser: self.s.p = Mock() def test_no_meta_option(self): s = self.s section = 'core' option = 'url' option_meta = option + self.meta # setup mock s.p.getboolean = Mock(return_value=True) # there is no META-record for our option: s.p.has_option = Mock(side_effect=lambda s, o: not (s == section and o == option_meta)) # by default all options are writable and readable self.assertTrue(s.isOptionWritable(section, option)) self.assertTrue(s.isOptionReadable(section, option)) def test_non_writable(self): s = self.s section = 'core' option = 'url' def mock_get_meta_ro(s, o): if (s == section and o == option_meta): return 'ro' return 11 option_meta = option + self.meta # setup mock s.p.has_option = Mock(return_value=True) s.p.get = Mock(side_effect=mock_get_meta_ro) # by default all options are writable and readable self.assertFalse(s.isOptionWritable(section, option)) self.assertTrue(s.isOptionReadable(section, option))
def setUp(self): self.s = Settings()
def setUp(self): self.s = Settings() self.meta = self.s.option_meta_suffix() # hide real config-parser: self.s.p = Mock()
class Env(object): _appname = 'CouchPotato' ''' Environment variables ''' _app = None _encoding = 'UTF-8' _debug = False _dev = False _settings = Settings() _loader = Loader() _cache = None _options = None _args = None _quiet = False _daemonized = False _desktop = None _engine = None ''' Data paths and directories ''' _app_dir = "" _data_dir = "" _cache_dir = "" _db_path = "" _log_path = "" @staticmethod def doDebug(): return Env._debug @staticmethod def get(attr): return getattr(Env, '_' + attr) @staticmethod def all(): ret = '' for attr in ['encoding', 'debug', 'args', 'app_dir', 'data_dir', 'desktop', 'options']: ret += '%s=%s ' % (attr, Env.get(attr)) return ret @staticmethod def set(attr, value): return setattr(Env, '_' + attr, value) @staticmethod def getSession(): session = sessionmaker(bind = Env.getEngine()) return session() @staticmethod def getEngine(): existing_engine = Env.get('engine') if existing_engine: return existing_engine engine = create_engine(Env.get('db_path'), echo = False) Env.set('engine', engine) return engine @staticmethod def setting(attr, section = 'core', value = None, default = '', type = None): s = Env.get('settings') # Return setting if value is None: return s.get(attr, default = default, section = section, type = type) # Set setting s.addSection(section) s.set(section, attr, value) s.save() return s @staticmethod def prop(identifier, value = None, default = None): s = Env.get('settings') if value is None: v = s.getProperty(identifier) return v if v else default s.setProperty(identifier, value) @staticmethod def getPermission(setting_type): perm = Env.get('settings').get('permission_%s' % setting_type, default = '0777') if perm[0] == '0': return int(perm, 8) else: return int(perm) @staticmethod def fireEvent(*args, **kwargs): return fireEvent(*args, **kwargs) @staticmethod def addEvent(*args, **kwargs): return addEvent(*args, **kwargs) @staticmethod def getPid(): try: try: parent = os.getppid() except: parent = None return '%d %s' % (os.getpid(), '(%d)' % parent if parent and parent > 1 else '') except: return 0 @staticmethod def getIdentifier(): return '%s %s' % (Env.get('appname'), fireEvent('app.version', single = True))
def get(self, key): pass plug = QualityPlugin() qualities = plug.qualities handler = logging.StreamHandler() log = CPLog(__name__) log.logger.setLevel('DEBUG') log.logger.addHandler(handler) Env.set('cache', NoCache()) Env.set('http_opener', requests.Session()) Env.set('loader', Loader()) Env.set('settings', Settings()) class TestPotatoYGG: def setUp(self, conf='/test.cfg'): Env.get('settings').setFile(base_path + conf) loader = Env.get('loader') module = loader.loadModule('ygg') assert module is not None assert loader.loadSettings(module, 'ygg', save=False) return module.autoload() def test_loginKO(self): ygg = self.setUp('/wrong.cfg') assert not ygg.login()
def setUp(self): self.s = Settings() self.meta = self.s.optionMetaSuffix() # hide real config-parser: self.s.p = Mock()