Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def prepare_retry_test():
urls = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'test', 'data', 'invalid-url.yaml')
config = os.path.join(os.path.dirname(__file__), 'data', 'urlwatch.yaml')
cache = os.path.join(os.path.dirname(__file__), 'data', 'cache.db')
hooks = ''
config_storage = YamlConfigStorage(config)
cache_storage = CacheMiniDBStorage(cache)
urls_storage = UrlsYaml(urls)
urlwatch_config = TestConfig(config, urls, cache, hooks, True)
urlwatcher = Urlwatch(urlwatch_config, config_storage, cache_storage, urls_storage)
return urlwatcher, cache_storage
def test_save_load_jobs():
jobs = [
UrlJob(name='news', url='http://news.orf.at/'),
ShellJob(name='list homedir', command='ls ~'),
ShellJob(name='list proc', command='ls /proc'),
]
# tempfile.NamedTemporaryFile() doesn't work on Windows
# because the returned file object cannot be opened again
fd, name = tempfile.mkstemp()
UrlsYaml(name).save(jobs)
jobs2 = UrlsYaml(name).load()
os.chmod(name, 0o777)
jobs3 = UrlsYaml(name).load_secure()
os.close(fd)
os.remove(name)
assert len(jobs2) == len(jobs)
# Assert that the shell jobs have been removed due to secure loading
if sys.platform != 'win32':
assert len(jobs3) == 1
def test_save_load_jobs():
jobs = [
UrlJob(name='news', url='http://news.orf.at/'),
ShellJob(name='list homedir', command='ls ~'),
ShellJob(name='list proc', command='ls /proc'),
]
# tempfile.NamedTemporaryFile() doesn't work on Windows
# because the returned file object cannot be opened again
fd, name = tempfile.mkstemp()
UrlsYaml(name).save(jobs)
jobs2 = UrlsYaml(name).load()
os.chmod(name, 0o777)
jobs3 = UrlsYaml(name).load_secure()
os.close(fd)
os.remove(name)
assert len(jobs2) == len(jobs)
# Assert that the shell jobs have been removed due to secure loading
if sys.platform != 'win32':
assert len(jobs3) == 1
def test_run_watcher():
urls = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'share', 'urlwatch', 'examples', 'urls.yaml.example')
config = os.path.join(os.path.dirname(__file__), 'data', 'urlwatch.yaml')
cache = os.path.join(os.path.dirname(__file__), 'data', 'cache.db')
hooks = ''
config_storage = YamlConfigStorage(config)
urls_storage = UrlsYaml(urls)
cache_storage = CacheMiniDBStorage(cache)
try:
urlwatch_config = TestConfig(config, urls, cache, hooks, True)
urlwatcher = Urlwatch(urlwatch_config, config_storage, cache_storage, urls_storage)
urlwatcher.run_jobs()
finally:
cache_storage.close()
def test_save_load_jobs():
jobs = [
UrlJob(name='news', url='http://news.orf.at/'),
ShellJob(name='list homedir', command='ls ~'),
ShellJob(name='list proc', command='ls /proc'),
]
# tempfile.NamedTemporaryFile() doesn't work on Windows
# because the returned file object cannot be opened again
fd, name = tempfile.mkstemp()
UrlsYaml(name).save(jobs)
jobs2 = UrlsYaml(name).load()
os.chmod(name, 0o777)
jobs3 = UrlsYaml(name).load_secure()
os.close(fd)
os.remove(name)
assert len(jobs2) == len(jobs)
# Assert that the shell jobs have been removed due to secure loading
if sys.platform != 'win32':
assert len(jobs3) == 1
def test_load_urls_yaml():
urls_yaml = 'share/urlwatch/examples/urls.yaml.example'
if os.path.exists(urls_yaml):
assert len(UrlsYaml(urls_yaml).load_secure()) > 0