Exemple #1
0
def test_that_shell_filter_is_run_from_config_directory(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',
    )
    modules = {
        'A': {
            'on_startup': {
                'compile': [
                    {
                        'content': str(shell_filter_template),
                        'target': str(shell_filter_template_target),
                    },
                ],
            },
        },
    }

    module_manager = ModuleManager(modules=modules)
    module_manager.execute(action='compile', block='on_startup')

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

    os.remove(shell_filter_template_target)
Exemple #2
0
    def test_compilation_of_template(
        self,
        valid_module_section,
        simple_application_config,
        module,
        conf,
        caplog,
    ):
        valid_module_section[
            'test_module'
        ][
            'event_listener'
        ][
            'type'
        ] = 'solar'

        compiled_template_content = 'some text\n' + os.environ['USER'] \
            + '\nFuraMono Nerd Font'
        module_manager = ModuleManager(
            config=simple_application_config,
            modules=valid_module_section,
            context=Context({
                'fonts': {1: 'FuraMono Nerd Font'},
            }),
        )
        directory = module_manager.config_directory

        caplog.clear()
        module_manager.execute(action='compile', block='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.compiler',
                logging.INFO,
                f'[Compiling] Template: "{template_file}" '
                f'-> Target: "{compiled_template}"',
            ),
        ]