def source_context(self): with self.temporary_base_directory_context(): config = Configuration.from_disk(None) setup_all(config) with self.ftp_server_context(config), self.rpc_server_context( config), self.web_server_context(config): yield config
def server_context(self): with self.temporary_base_directory_context(): config = Configuration.from_disk(None) setup_all(config) with self.ftp_server_context(config), self.rpc_server_context(config), self.web_server_context(config): sleep(1) yield config
def test_reload_configuration_from_disk(self): with self.temporary_base_directory_context(): config = Configuration.from_disk(None) config.to_disk() with self.rpc_server_context(config): client = service.get_client(config) client.reload_configuration_from_disk() client.reload_configuration_from_disk()
def target_context(self): with self.temporary_base_directory_context(): config = Configuration.from_disk(None) config.ftpserver.port += 10 config.webserver.port += 10 config.rpcserver.port += 10 setup_all(config) with self.ftp_server_context(config), self.rpc_server_context(config), self.web_server_context(config): yield config
def _setup_context(self): with self.temporary_base_directory_context(), patch_all(): config = Configuration.from_disk(None) ensure_incoming_and_rejected_directories_exist_for_all_indexers(config) setup_gpg(config) try: yield config finally: destroy_all(config)
def test_process_filepath_by_name(self): with self.temporary_base_directory_context(): config = Configuration.from_disk(None) ensure_incoming_and_rejected_directories_exist_for_all_indexers(config) filepath = self.write_new_package_in_incoming_directory(config, package_basename='some-package-1.0-linux-redhat-7-x64', extension='rpm') indexer = DummyIndexer(config, 'main-stable') config.get_indexers = lambda name: [indexer] service.process_filepath_by_name(config, 'main-stable', filepath) self.assertTrue(indexer.consumed)
def target_context(self): with self.temporary_base_directory_context(): config = Configuration.from_disk(None) config.ftpserver.port += 10 config.webserver.port += 10 config.rpcserver.port += 10 setup_all(config) with self.ftp_server_context(config), self.rpc_server_context( config), self.web_server_context(config): yield config
def test_counters_from_web_and_ftp_servers(self): with patch_all(), self.temporary_base_directory_context(): config = Configuration.from_disk(None) setup_all(config) with self.web_server_context(config), self.ftp_server_context(config): self._get_from_http(config, "/packages/main-stable/index/packages.json") self._get_from_ftp(config, "/packages/main-stable/index/packages.json") sleep(1) counters = get_counters(config) self.assertEquals(counters, {"/packages/main-stable/index/packages.json": 2})
def _setup_context(self): with self.temporary_base_directory_context(), patch_all(): config = Configuration.from_disk(None) ensure_incoming_and_rejected_directories_exist_for_all_indexers( config) setup_gpg(config) try: yield config finally: destroy_all(config)
def test_push(self): from os import path with self.with_new_devlopment_config_file() as configfile: config = Configuration.from_disk(configfile) worker.init(config) src = "incoming/host-power-tools-0.18-windows-x86.msi" with patch("infi.execute.execute_assert_success") as execute_assert_success: from infi.app_repo import tasks tasks.push_package.run(config.remote.fqdn, "user", "password", config.base_directory, src) self.assertTrue(execute_assert_success.called) execute_assert_success.assert_called_with(["curl", "-T", path.join(config.base_directory, src), "ftp://*****:*****@repo.lab.il.infinidat.com:"])
def test_process_filepath_by_name(self): with self.temporary_base_directory_context(): config = Configuration.from_disk(None) ensure_incoming_and_rejected_directories_exist_for_all_indexers( config) filepath = self.write_new_package_in_incoming_directory( config, package_basename='some-package-1.0-linux-redhat-7-x64', extension='rpm') indexer = DummyIndexer(config, 'main-stable') config.get_indexers = lambda name: [indexer] service.process_filepath_by_name(config, 'main-stable', filepath) self.assertTrue(indexer.consumed)
def test_counters_from_web_and_ftp_servers(self): with patch_all(), self.temporary_base_directory_context(): config = Configuration.from_disk(None) setup_all(config) with self.web_server_context(config), self.ftp_server_context( config): self._get_from_http( config, "/packages/main-stable/index/packages.json") self._get_from_ftp( config, "/packages/main-stable/index/packages.json") sleep(1) counters = get_counters(config) self.assertEquals(counters, {"/packages/main-stable/index/packages.json": 2})
def test_pull(self): if not environ.get("JENKINS_URL"): raise SkipTest("runs on our jenkins only") with self.with_new_devlopment_config_file() as configfile: cmd = "bin/app_repo -f {} install".format(configfile) execute_assert_success(cmd, shell=True) execute_assert_success("service app_repo_worker stop", shell=True) execute_assert_success("service app_repo_webserver stop", shell=True) config = Configuration.from_disk(configfile) worker.init(config) self.pull_msi(config) self.pull_deb(config) self.pull_rpm(config) before = listdir("data/incoming") self.update_metadata(config) after = listdir("data/incoming") self.assertNotEquals(before, after)
def test__load_save_config(self): self.delete_config_file() config = Configuration(filepath=Configuration.get_default_config_file()) config.to_disk() Configuration.from_disk(Configuration.get_default_config_file())
def delete_config_file(self): from os import remove, path if path.exists(Configuration.get_default_config_file()): remove(Configuration.get_default_config_file())
def setUp(self): from gevent.event import Event super(FtpWithRpcTestCase, self).setUp() self.config = Configuration.from_disk(None) ensure_directory_exists(path.join(self.config.incoming_directory, 'main-stable')) self.test_succeded = Event()
def setUp(self): super(FtpServerTestCase, self).setUp() self.config = Configuration.from_disk(None) ensure_directory_exists(self.config.incoming_directory) self.test_succeded = False
def _get_config_for_test(self): """Private method for testing- returns Configuration for testing purposes""" config = Configuration.from_disk(None) config.reset_to_development_defaults() return config
def get_config(args): from infi.app_repo.config import Configuration return Configuration.from_disk(args.get("--file", Configuration.get_default_config_file()))
def test_save_and_load(self): self.config.to_disk() Configuration.from_disk(self.config.filepath)
def setUp(self): super(ConfigTestCase, self).setUp() self.config = Configuration.from_disk(None)