def test_syslog_ng_paths(fake_testcase_parameters): syslog_ng_paths = SyslogNgPaths(fake_testcase_parameters) syslog_ng_paths.set_syslog_ng_paths(instance_name="server") assert set(list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths)) == { "dirs", "file_paths", "binary_file_paths" } assert set(list( syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["dirs"])) == { "install_dir" } assert set( list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["file_paths"]) ) == { "config_path", "persist_path", "pid_path", "control_socket_path", "stderr", "stdout", } assert set( list(syslog_ng_paths. _SyslogNgPaths__syslog_ng_paths["binary_file_paths"])) == { "syslog_ng_binary", "syslog_ng_ctl", "loggen", "slogkey", "slogverify", }
def test_syslog_ng_paths(tc_unittest): syslog_ng_paths = SyslogNgPaths(tc_unittest.testcase_context, tc_unittest.get_fake_testcase_parameters()) syslog_ng_paths.set_syslog_ng_paths(instance_name="server") assert set(list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths)) == { "dirs", "file_paths", "binary_file_paths" } assert set(list( syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["dirs"])) == { "working_dir", "install_dir" } assert set( list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["file_paths"]) ) == { "config_path", "persist_path", "pid_path", "control_socket_path", "stderr", "stdout", } assert set( list(syslog_ng_paths. _SyslogNgPaths__syslog_ng_paths["binary_file_paths"])) == { "syslog_ng_binary", "syslog_ng_ctl", }
def test_instance_already_configured(tc_unittest): syslog_ng_paths_server = SyslogNgPaths( tc_unittest.testcase_context, tc_unittest.get_fake_testcase_parameters()).set_syslog_ng_paths( instance_name="server") with pytest.raises(Exception): syslog_ng_paths_server.set_syslog_ng_paths(instance_name="client")
def test_syslog_ng_paths_parent_class_of_paths(fake_testcase_parameters): syslog_ng_paths = SyslogNgPaths(fake_testcase_parameters) syslog_ng_paths.set_syslog_ng_paths(instance_name="server") for __key, value in syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["file_paths"].items(): assert isinstance(value, PosixPath) is True for __key, value in syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["dirs"].items(): assert isinstance(value, PosixPath) is True for __key, value in syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["binary_file_paths"].items(): assert isinstance(value, PosixPath) is True
def __init__(self, testcase_parameters): self.instance_paths = SyslogNgPaths( testcase_parameters).set_syslog_ng_paths("server") self.master_key = None self.derived_key = None self.decryption_key = None self.slogkey = self.instance_paths.get_slogkey_bin() self.slogverify = self.instance_paths.get_slogverify_bin() self.create_master_key() self.create_derived_key() self.create_decryption_key()
def test_syslog_ng_paths_client_relay_server(fake_testcase_parameters): syslog_ng_paths_server = SyslogNgPaths( fake_testcase_parameters, ).set_syslog_ng_paths(instance_name="server") syslog_ng_paths_relay = SyslogNgPaths( fake_testcase_parameters, ).set_syslog_ng_paths(instance_name="relay") syslog_ng_paths_client = SyslogNgPaths( fake_testcase_parameters, ).set_syslog_ng_paths(instance_name="client") assert syslog_ng_paths_client.get_instance_name() == "client" assert syslog_ng_paths_relay.get_instance_name() == "relay" assert syslog_ng_paths_server.get_instance_name() == "server"
def new_syslog_ng(self, instance_name="server"): instance_paths = SyslogNgPaths( self.__testcase_context, self.__testcase_parameters).set_syslog_ng_paths(instance_name) syslog_ng = SyslogNg(self.__logger_factory, instance_paths, self.__testcase_parameters) self.__teardown_actions.append(syslog_ng.stop) return syslog_ng
def test_syslog_ng_paths(fake_testcase_parameters): syslog_ng_paths = SyslogNgPaths(fake_testcase_parameters) syslog_ng_paths.set_syslog_ng_paths(instance_name="server") assert set(list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths)) == {"dirs", "file_paths", "binary_file_paths"} assert set(list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["dirs"])) == {"working_dir", "install_dir"} assert set(list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["file_paths"])) == { "config_path", "persist_path", "pid_path", "control_socket_path", "stderr", "stdout", "valgrind", } assert set(list(syslog_ng_paths._SyslogNgPaths__syslog_ng_paths["binary_file_paths"])) == { "syslog_ng_binary", "syslog_ng_ctl", }
def test_syslog_ng_paths_client_relay_server(tc_unittest): syslog_ng_paths_server = SyslogNgPaths( tc_unittest.testcase_context, tc_unittest.get_fake_testcase_parameters()).set_syslog_ng_paths( instance_name="server") syslog_ng_paths_relay = SyslogNgPaths( tc_unittest.testcase_context, tc_unittest.get_fake_testcase_parameters()).set_syslog_ng_paths( instance_name="relay") syslog_ng_paths_client = SyslogNgPaths( tc_unittest.testcase_context, tc_unittest.get_fake_testcase_parameters()).set_syslog_ng_paths( instance_name="client") assert syslog_ng_paths_client.get_instance_name() == "client" assert syslog_ng_paths_relay.get_instance_name() == "relay" assert syslog_ng_paths_server.get_instance_name() == "server"
def __register_instance(self, instance_name): instance_paths = SyslogNgPaths( self.__testcase_context, self.__testcase_parameters).set_syslog_ng_paths(instance_name) syslog_ng_cli = SyslogNgCli(self.__logger_factory, instance_paths, self.__testcase_parameters) syslog_ng = SyslogNg(syslog_ng_cli) self.__teardown_actions.append(syslog_ng.stop) self.__instances.update({instance_name: {}}) self.__instances[instance_name]["syslog-ng"] = syslog_ng self.__instances[instance_name]["config"] = SyslogNgConfig( self.__logger_factory, instance_paths, syslog_ng.get_version())
def test_syslog_ng_paths_client_relay_server(fake_testcase_parameters): syslog_ng_paths_server = SyslogNgPaths( fake_testcase_parameters ).set_syslog_ng_paths(instance_name="server") syslog_ng_paths_relay = SyslogNgPaths( fake_testcase_parameters ).set_syslog_ng_paths(instance_name="relay") syslog_ng_paths_client = SyslogNgPaths( fake_testcase_parameters ).set_syslog_ng_paths(instance_name="client") assert syslog_ng_paths_client.get_instance_name() == "client" assert syslog_ng_paths_relay.get_instance_name() == "relay" assert syslog_ng_paths_server.get_instance_name() == "server"
def syslog_ng(request, testcase_parameters): instance_paths = SyslogNgPaths(testcase_parameters).set_syslog_ng_paths( "server") syslog_ng = SyslogNg(instance_paths, testcase_parameters) request.addfinalizer(lambda: syslog_ng.stop()) return syslog_ng
def syslog_ng(request, testcase_parameters): tc_parameters.INSTANCE_PATH = SyslogNgPaths(testcase_parameters).set_syslog_ng_paths("server") syslog_ng = SyslogNg(tc_parameters.INSTANCE_PATH, testcase_parameters) request.addfinalizer(lambda: syslog_ng.stop()) return syslog_ng
def test_instance_already_configured(fake_testcase_parameters): syslog_ng_paths_server = SyslogNgPaths( fake_testcase_parameters, ).set_syslog_ng_paths(instance_name="server") with pytest.raises(Exception): syslog_ng_paths_server.set_syslog_ng_paths(instance_name="client")
class SecureLogging(): def __init__(self, testcase_parameters): self.instance_paths = SyslogNgPaths( testcase_parameters).set_syslog_ng_paths("server") self.master_key = None self.derived_key = None self.decryption_key = None self.slogkey = self.instance_paths.get_slogkey_bin() self.slogverify = self.instance_paths.get_slogverify_bin() self.create_master_key() self.create_derived_key() self.create_decryption_key() def create_master_key(self): slogkey_stdout = Path(tc_parameters.WORKING_DIR, "slogkey_stdout_master") slogkey_stderr = Path(tc_parameters.WORKING_DIR, "slogkey_stderr_master") self.master_key = Path(tc_parameters.WORKING_DIR, "master.key") CommandExecutor().run( [self.slogkey, "-m", self.master_key], slogkey_stdout, slogkey_stderr, ) def create_derived_key(self): slogkey_stdout = Path(tc_parameters.WORKING_DIR, "slogkey_stdout_derived") slogkey_stderr = Path(tc_parameters.WORKING_DIR, "slogkey_stderr_derived") self.derived_key = Path(tc_parameters.WORKING_DIR, "derived.key") self.cmac = Path(tc_parameters.WORKING_DIR, "cmac") CommandExecutor().run( [ self.slogkey, "-d", self.master_key, "foo", "bar", self.derived_key ], slogkey_stdout, slogkey_stderr, ) def create_decryption_key(self): self.decryption_key = Path(tc_parameters.WORKING_DIR, "decryption.key") copy_file(self.derived_key, self.decryption_key) def decrypt(self, input_file): slogverify_stdout = Path(tc_parameters.WORKING_DIR, "slogverify_stdout") slogverify_stderr = Path(tc_parameters.WORKING_DIR, "slogverify_stderr") encrypted = Path(tc_parameters.WORKING_DIR, input_file) decrypted = Path(tc_parameters.WORKING_DIR, "decrypted.txt") CommandExecutor().run( [ self.slogverify, "-k", self.decryption_key, "-m", self.cmac, encrypted, decrypted, ], slogverify_stdout, slogverify_stderr, ) return decrypted.read_text().rstrip("\n").split("\n")
def test_instance_already_configured(fake_testcase_parameters): syslog_ng_paths_server = SyslogNgPaths( fake_testcase_parameters ).set_syslog_ng_paths(instance_name="server") with pytest.raises(Exception): syslog_ng_paths_server.set_syslog_ng_paths(instance_name="client")