Beispiel #1
0
    def test_local_import_case() -> None:
        """
        Test code with local import case.
        """
        # Given
        module = Module("module.toto")
        source_file = SourceFile(module=module, code=SourceCode(_LOCAL_CASE))

        # When
        dependencies = get_import_from_dependencies(source_file, PARSER)

        # Then
        assert dependencies == _LOCAL_RESULT_IMPORT_FROM
Beispiel #2
0
    def test_simple_case() -> None:
        """
        Test simple code case.
        """
        # Given
        module = Module("toto_program")
        source_file = SourceFile(module=module, code=SourceCode(_SIMPLE_CASE))

        # When
        dependencies = get_import_from_dependencies(source_file, PARSER)

        # Then
        assert dependencies == _SIMPLE_RESULT_IMPORT_FROM
Beispiel #3
0
 def _iter_error(self, source_file: SourceFile) -> Iterator[DependencyError]:
     rules = self._get_rules(source_file.module)
     self.all_rules.update(set(rules))
     dependencies = get_import_from_dependencies(source_file, self.parser)
     dependencies = self.std_lib_filter.filter(dependencies)
     for dependency in dependencies:
         try:
             self.used_rules |= check_dependency(self.parser, dependency, rules)
         except NotAllowedDependencyException as error:
             yield DependencyError(
                 source_file.module,
                 error.dependency,
                 tuple(sorted(error.authorized_modules)),
             )
Beispiel #4
0
    def test_empty() -> None:
        """
        Test empty code case.
        """
        # Given
        module = Module("")
        source_code = SourceCode("")
        source_file = SourceFile(module=module, code=source_code)

        # When
        dependencies = get_import_from_dependencies(source_file, PARSER)

        # Then
        assert dependencies == frozenset()
Beispiel #5
0
    def test_multi_imports_after_from() -> None:
        # Given
        module = Module("module.toto")
        source_file = SourceFile(
            module=module,
            code=SourceCode(
                "from module import amodule, othermodule, moduleagain"),
        )

        # When
        dependencies = get_import_from_dependencies(source_file, PARSER)

        # Then
        assert dependencies == set((Dependency(
            Module("module"),
            frozenset((
                Module("amodule"),
                Module("othermodule"),
                Module("moduleagain"),
            )),
        ), ))