cli[patch]: Ignore imports that change the name of the class (#21026)

Not currently handeled by migration script
This commit is contained in:
Eugene Yurtsev
2024-04-29 12:20:30 -04:00
committed by GitHub
parent ce89b34fc0
commit aab78a37f3
3 changed files with 43 additions and 2 deletions

View File

@@ -0,0 +1,31 @@
"""Verify that the code migrations do not involve alias changes.
Migration script only updates imports not the rest of the code that uses the
import.
"""
from langchain_cli.namespaces.migrate.codemods.replace_imports import (
RULE_TO_PATHS,
_load_migrations_from_fixtures,
)
def test_migration_files() -> None:
"""Generate a codemod to replace imports."""
errors = []
for paths in list(RULE_TO_PATHS.values()):
for path in paths:
migrations = _load_migrations_from_fixtures([path])
for migration in migrations:
old = migration[0].split(".")[-1]
new = migration[1].split(".")[-1]
if old != new:
errors.append((path, migration))
if errors:
raise ValueError(
f"Migration involves an alias change: {errors}. The "
f"migration script does not currently support "
f"corresponding code changes."
)