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())
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)
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)
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")) ), }