Example #1
0
def test_that_shell_filter_is_run_from_config_directory(
    default_global_options,
    _runtime,
    test_config_directory,
):
    shell_filter_template = Path(__file__).parents[
        1] / 'templates' / 'shell_filter_working_directory.template'
    shell_filter_template_target = Path(
        '/tmp/astrality/shell_filter_working_directory.template')
    config = {
        'module/A': {
            'on_startup': {
                'compile': [{
                    'source': str(shell_filter_template),
                    'target': str(shell_filter_template_target),
                }],
            },
        },
    }
    config.update(default_global_options)
    config.update(_runtime)
    module_manager = ModuleManager(config)
    module_manager.compile_templates('on_startup')

    with open(shell_filter_template_target) as compiled:
        assert compiled.read() == str(test_config_directory)

    os.remove(shell_filter_template_target)
Example #2
0
    def test_compilation_of_template(
        self,
        simple_application_config,
        module,
        conf,
        caplog,
    ):
        simple_application_config['module/test_module']['event_listener'][
            'type'] = 'solar'
        compiled_template_content = 'some text\n' + os.environ[
            'USER'] + '\nFuraMono Nerd Font'
        module_manager = ModuleManager(simple_application_config)
        directory = module_manager.config_directory

        caplog.clear()
        module_manager.compile_templates('on_startup')

        template_file = str(
            (directory / '../templates/test_template.conf').resolve())
        compiled_template = str(
            list(
                module_manager.modules['test_module']\
                    .performed_compilations()[Path(template_file)]\
            )[0]
        )

        with open('/tmp/compiled_result', 'r') as file:
            compiled_result = file.read()

        assert compiled_template_content == compiled_result
        assert caplog.record_tuples == [
            ('astrality', logging.INFO,
             f'[Compiling] Template: "{template_file}" -> Target: "{compiled_template}"'
             ),
        ]