Esempio n. 1
0
def test_empty() -> None:
    """
    Test result with no source files given.
    """
    # Given
    source_files: Iterator[SourceFile] = iter([])
    dependencies_writer = Mock()
    use_case = BuildConfigurationUC(dependencies_writer, PARSER, source_files)

    # When
    use_case.run()

    # Then
    dependencies_writer.write.assert_called_with(Configuration())
Esempio n. 2
0
 def create_build_use_case(self) -> BuildConfigurationUC:
     """
     Plumbing to make build use case working.
     """
     configuration_io = YamlConfigurationIO(self.args.output)
     code_parser = PythonParser()
     source_files = source_file_iterator(self.args.root_dir)
     return BuildConfigurationUC(configuration_io, code_parser, source_files)
Esempio n. 3
0
 def create_build_use_case(self) -> BuildConfigurationUC:
     """
     Plumbing to make build use case working.
     """
     configuration_io = YamlConfigurationIO(self.args.output)
     code_parser = (PythonParser()
                    if self.args.lang in ["py", "python"] else GoParser())
     source_files = source_file_iterator(self.args.root_dir,
                                         self.args.lang[:2])
     return BuildConfigurationUC(configuration_io, code_parser,
                                 source_files, self.args.lang)
Esempio n. 4
0
def test_nominal(source_files) -> None:
    """
    Test result with a set source files.
    """
    # Given
    dependencies_writer = Mock()
    use_case = BuildConfigurationUC(dependencies_writer, PARSER, source_files, "python")

    # When
    use_case.run()

    # Then
    dependencies_writer.write.assert_called()  # type: ignore
    configuration = dependencies_writer.write.call_args[0][0]
    assert not configuration.local_init
    dependency_rules = {
        module_regex: set(rules)
        for module_regex, rules in configuration.dependency_rules.items()
    }
    assert dependency_rules == {
        "simple_module": set(
            (
                ModuleWildcard("module"),
                ModuleWildcard("module.inside.module"),
                ModuleWildcard("amodule"),
            )
        ),
        "amodule.local_module": set(
            (
                ModuleWildcard("module"),
                ModuleWildcard("module.inside.module"),
                ModuleWildcard("amodule"),
                ModuleWildcard("amodule.inside"),
            )
        ),
        "amodule.std_module": set(
            (ModuleWildcard("module"), ModuleWildcard("module.inside.module"))
        ),
    }