def load_config(config): """Load data from the specified configuration file.""" listify_string = lambda x: [item.strip() for item in x.split(",")] config = utilities.load_config(config) mykey = utilities.safe_load(config, "pgpprocessor", "keyid", 0) protocols = listify_string( utilities.safe_load(config, "connectors", "protocols")) connectors = {} force_sender = utilities.safe_load(config, "connectors", "force_sender") # services to host and consume url = utilities.safe_load(config, "general", "url") if protocols == ['']: raise RuntimeError("No protocols detected. Have you run 'make'?") # loop through the protocols, finding connectors each protocol uses # load the settings for each connector. for protocol in protocols: protocol_connectors = listify_string( utilities.safe_load(config, protocol, "connectors")) if not protocol_connectors: continue for connector in protocol_connectors: connectors[connector] = dict( utilities.safe_load(config, connector, None, {})) return mykey, protocols, connectors, force_sender, url
def setUp(self): self.gpg = gnupg.GPG(homedir='src/tests/data/test_gpg_home') config = utilities.load_config("src/tests/data/test_gpg.cfg") self.key_id = utilities.safe_load(config, "pgpprocessor", "keyid", 0) self.recipient = "*****@*****.**" self.message = {'lol': 'cats'}
def setUp(self): self.gpg = gnupg.GPG(homedir='src/tests/data/test_gpg_home') self.keyid = utilities.load_config("src/tests/data/test_gpg.cfg").get("pgpprocessor", "keyid") self.test_keyid = "1" * 40 self.original_update_time = time.time() a_service = Santiago.SERVICE_NAME hosting = { self.keyid: { a_service: ["http://127.0.0.1"], Santiago.update_time(a_service): str(self.original_update_time) }} consuming = { self.keyid: { a_service: ["http://127.0.0.2"], Santiago.update_time(a_service): str(self.original_update_time) }}, self.santiago = Santiago( hosting = hosting, consuming = consuming, my_key_id = self.keyid, gpg = self.gpg, save_dir='src/tests/data/CLI_Controller') self.cliListener = controller.CliListener(santiago_to_use = self.santiago)
def setUp(self): self.gpg = gnupg.GPG(homedir='src/tests/data/test_gpg_home') self.keyid = utilities.load_config("src/tests/data/test_gpg.cfg").get( "pgpprocessor", "keyid") self.test_keyid = "1111111111111111111111111111111111111111" self.santiago = santiago.Santiago( hosting={ self.keyid: { santiago.Santiago.SERVICE_NAME: ["http://127.0.0.1"], santiago.Santiago.SERVICE_NAME + '-update-timestamp': None } }, consuming={ self.keyid: { santiago.Santiago.SERVICE_NAME: ["http://127.0.0.2"], santiago.Santiago.SERVICE_NAME + '-update-timestamp': None } }, my_key_id=self.keyid, gpg=self.gpg, save_dir='src/tests/data/CLI_Controller') self.cliSender = controller.CliSender( santiago_to_use=self.santiago, https_sender= "python src/connectors/https/controller.py --outgoing $REQUEST --destination $DESTINATION", cli_sender="echo $DESTINATION $REQUEST")
def test_load_from_config(self): config_file = utilities.load_config(self.config) (mykey, protocols, connectors, force_sender) = utilities.get_config_values(config_file) listeners, senders, monitors = utilities.configure_connectors(protocols, connectors) self.assertEqual('8888', listeners['https']['socket_port']) self.assertEqual('data/freedombuddy.crt', listeners['https']['ssl_certificate']) self.assertEqual('data/freedombuddy.crt', listeners['https']['ssl_private_key'])
def setUp(self): self.gpg = gnupg.GPG(homedir='src/tests/data/test_gpg_home') self.keyid = utilities.load_config("src/tests/data/test_gpg.cfg").get( "pgpprocessor", "keyid") self.test_keyid = "1111111111111111111111111111111111111111" self.original_update_time = time.time() self.santiago = santiago.Santiago( hosting={ self.keyid: { santiago.Santiago.SERVICE_NAME: ["http://127.0.0.1"], santiago.Santiago.SERVICE_NAME + '-update-timestamp': str(self.original_update_time) } }, consuming={ self.keyid: { santiago.Santiago.SERVICE_NAME: ["http://127.0.0.2"], santiago.Santiago.SERVICE_NAME + '-update-timestamp': str(self.original_update_time) } }, my_key_id=self.keyid, gpg=self.gpg, save_dir='src/tests/data/CLI_Controller') self.cliListener = controller.CliListener( santiago_to_use=self.santiago)
def setUp(self): valid = 'src/tests/data/test_revoked_keys/test_revoked_then_valid_keys/' revoked = 'src/tests/data/test_revoked_keys/test_still_revoked_keys/' revoked_config = 'src/tests/data/test_revoked_keys/test_revoked_then_valid.cfg' self.iterations = 3 self.gpg_revoked_then_valid = gnupg.GPG(gnupghome=valid) self.gpg_revoked = gnupg.GPG(gnupghome=revoked) self.config = utilities.load_config(revoked_config)
def setUp(self): valid = 'src/tests/data/test_expired_keys/test_expired_then_valid_keys/' expired = 'src/tests/data/test_expired_keys/test_still_expired_keys/' expired_config = 'src/tests/data/test_expired_keys/test_expired_then_valid.cfg' self.iterations = 3 self.gpg_expired_then_valid = gnupg.GPG(homedir=valid) self.gpg_expired = gnupg.GPG(homedir=expired) self.config = utilities.load_config(expired_config)
def setUp(self): self.iterations = 3 self.gpg = gnupg.GPG(homedir='src/tests/data/test_gpg_home') config = utilities.load_config("src/tests/data/test_gpg.cfg") self.key_id = utilities.safe_load(config, "pgpprocessor", "keyid", 0) self.messages = utilities.multi_sign(message="hi", gpg=self.gpg, iterations=self.iterations, keyid=self.key_id)
def test_load_from_config(self): config_file = utilities.load_config(self.config) (mykey, protocols, connectors, force_sender) = utilities.get_config_values(config_file) listeners, senders, monitors = utilities.configure_connectors( protocols, connectors) self.assertEqual('8888', listeners['https']['socket_port']) self.assertEqual('data/freedombuddy.crt', listeners['https']['ssl_certificate']) self.assertEqual('data/freedombuddy.crt', listeners['https']['ssl_private_key'])
def setUp(self): self.iterations = 3 self.gpg = gnupg.GPG(homedir='src/tests/data/test_gpg_home') config = utilities.load_config("src/tests/data/test_gpg.cfg") self.key_id = utilities.safe_load(config, "pgpprocessor", "keyid", 0) self.messages = utilities.multi_sign( message = "hi", gpg = self.gpg, iterations = self.iterations, keyid = self.key_id)
def setUp(self): self.gpg = gnupg.GPG(homedir='src/tests/data/test_gpg_home') self.keyid = utilities.load_config("src/tests/data/test_gpg.cfg").get("pgpprocessor", "keyid") self.test_keyid = "1111111111111111111111111111111111111111" self.santiago = santiago.Santiago( hosting = {self.keyid: {santiago.Santiago.SERVICE_NAME: ["http://127.0.0.1"], santiago.Santiago.SERVICE_NAME+'-update-timestamp': None }}, consuming = {self.keyid: {santiago.Santiago.SERVICE_NAME: ["http://127.0.0.2"], santiago.Santiago.SERVICE_NAME+'-update-timestamp': None }}, my_key_id = self.keyid, gpg = self.gpg, save_dir='src/tests/data/CLI_Controller') self.cliSender = controller.CliSender(santiago_to_use = self.santiago, https_sender = "python src/connectors/https/controller.py --outgoing $REQUEST --destination $DESTINATION", cli_sender = "echo $DESTINATION $REQUEST")
def test_default_value_returned_from_config_file_with_incorrect_section(self): self.config = utilities.load_config(self.config_to_use) self.assertEqual(None, utilities.safe_load(self.config,"incorrectly_named_section"))
def test_correct_section_returned_from_config_file(self): self.config = utilities.load_config(self.config_to_use) self.assertEqual([('keyid', '95801F1ABE01C28B05ADBE5FA7C860604DAE2628')], utilities.safe_load(self.config,"pgpprocessor"))
def test_correct_value_returned_from_config_file(self): self.config = utilities.load_config(self.config_to_use) self.assertEqual("95801F1ABE01C28B05ADBE5FA7C860604DAE2628", utilities.safe_load(self.config,"pgpprocessor","keyid"))
def test_confirm_error_raised_if_config_file_does_not_exist(self): self.config = utilities.load_config('d') self.assertRaises(NoSectionError, self.config.get,"pgpprocessor","keyid")
def test_confirm_config_loaded_from_correct_file(self): self.config = utilities.load_config(self.config_to_use) self.assertEqual("95801F1ABE01C28B05ADBE5FA7C860604DAE2628", self.config.get("pgpprocessor","keyid"))
def test_default_value_returned_if_config_file_does_not_exist(self): self.config = utilities.load_config('d') self.assertEqual( "test", utilities.safe_load(self.config, "pgpprocessor", "keyid", "test"))
def test_confirm_error_raised_if_config_file_does_not_exist(self): self.config = utilities.load_config('d') self.assertRaises(NoSectionError, self.config.get, "pgpprocessor", "keyid")
def load_default_configs(self): return utilities.load_config([x + "test.cfg" for x in utilities.CONFIG_DIRS])
def test_default_value_returned_if_config_file_does_not_exist(self): self.config = utilities.load_config('d') self.assertEqual("test", utilities.safe_load(self.config,"pgpprocessor","keyid","test"))
def test_correct_section_returned_from_config_file(self): self.config = utilities.load_config(self.config_to_use) self.assertEqual( [('keyid', '95801F1ABE01C28B05ADBE5FA7C860604DAE2628')], utilities.safe_load(self.config, "pgpprocessor"))
def test_correct_value_returned_from_config_file(self): self.config = utilities.load_config(self.config_to_use) self.assertEqual( "95801F1ABE01C28B05ADBE5FA7C860604DAE2628", utilities.safe_load(self.config, "pgpprocessor", "keyid"))
if __name__ == "__main__": (options, args) = parse_args(sys.argv) if options.trace: import pdb pdb.set_trace() if options.verbose > 0: logging.getLogger().setLevel(logging.DEBUG) logging.getLogger("cherrypy.error").setLevel(logging.CRITICAL) if options.verbose > 1: logging.getLogger("cherrypy.error").setLevel(logging.DEBUG) # load configuration settings config_data = (utilities.load_config(options.config) if options.config else utilities.load_default_configs()) mykey = config_data.get("general", "keyid") protocols = listify_string(config_data.get("connectors", "protocols")) connectors = load_connectors(protocols, config_data) force_sender = config_data.get("connectors", "force_sender") # create listeners and senders listeners, senders, monitors = configure_connectors(protocols, connectors) # if we can't find a service config file, load default services. hosting, consuming = load_services(utilities.CONFIG_DIRS, config_data) santiago.debug_log("Santiago!") freedombuddy = santiago.Santiago(
def test_confirm_config_loaded_from_correct_file(self): self.config = utilities.load_config(self.config_to_use) self.assertEqual("95801F1ABE01C28B05ADBE5FA7C860604DAE2628", self.config.get("pgpprocessor", "keyid"))
def test_default_value_returned_from_config_file_with_incorrect_section( self): self.config = utilities.load_config(self.config_to_use) self.assertEqual( None, utilities.safe_load(self.config, "incorrectly_named_section"))