chore: enforce more ruff rules (#31447)

Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
This commit is contained in:
Maxime Beauchemin
2024-12-18 17:41:34 -08:00
committed by GitHub
parent 9da65d6bfd
commit e51b95ffa8
375 changed files with 1821 additions and 1718 deletions

View File

@@ -64,54 +64,54 @@ MAXIMUM_DATE = date.today()
days_range = (MAXIMUM_DATE - MINIMUM_DATE).days
def get_type_generator( # pylint: disable=too-many-return-statements,too-many-branches
def get_type_generator( # pylint: disable=too-many-return-statements,too-many-branches # noqa: C901
sqltype: sqlalchemy.sql.sqltypes,
) -> Callable[[], Any]:
if isinstance(sqltype, sqlalchemy.dialects.mysql.types.TINYINT):
return lambda: random.choice([0, 1])
return lambda: random.choice([0, 1]) # noqa: S311
if isinstance(
sqltype, (sqlalchemy.sql.sqltypes.INTEGER, sqlalchemy.sql.sqltypes.Integer)
):
return lambda: random.randrange(2147483647)
return lambda: random.randrange(2147483647) # noqa: S311
if isinstance(sqltype, sqlalchemy.sql.sqltypes.BIGINT):
return lambda: random.randrange(sys.maxsize)
return lambda: random.randrange(sys.maxsize) # noqa: S311
if isinstance(
sqltype, (sqlalchemy.sql.sqltypes.VARCHAR, sqlalchemy.sql.sqltypes.String)
):
length = random.randrange(sqltype.length or 255)
length = random.randrange(sqltype.length or 255) # noqa: S311
length = max(8, length) # for unique values
length = min(100, length) # for FAB perms
return lambda: "".join(random.choices(string.ascii_letters, k=length))
return lambda: "".join(random.choices(string.ascii_letters, k=length)) # noqa: S311
if isinstance(
sqltype, (sqlalchemy.sql.sqltypes.TEXT, sqlalchemy.sql.sqltypes.Text)
):
length = random.randrange(65535)
length = random.randrange(65535) # noqa: S311
# "practicality beats purity"
length = max(length, 2048)
return lambda: "".join(random.choices(string.ascii_letters, k=length))
return lambda: "".join(random.choices(string.ascii_letters, k=length)) # noqa: S311
if isinstance(
sqltype, (sqlalchemy.sql.sqltypes.BOOLEAN, sqlalchemy.sql.sqltypes.Boolean)
):
return lambda: random.choice([True, False])
return lambda: random.choice([True, False]) # noqa: S311
if isinstance(
sqltype, (sqlalchemy.sql.sqltypes.FLOAT, sqlalchemy.sql.sqltypes.REAL)
):
return lambda: random.uniform(-sys.maxsize, sys.maxsize)
return lambda: random.uniform(-sys.maxsize, sys.maxsize) # noqa: S311
if isinstance(sqltype, sqlalchemy.sql.sqltypes.DATE):
return lambda: MINIMUM_DATE + timedelta(days=random.randrange(days_range))
return lambda: MINIMUM_DATE + timedelta(days=random.randrange(days_range)) # noqa: S311
if isinstance(sqltype, sqlalchemy.sql.sqltypes.TIME):
return lambda: time(
random.randrange(24),
random.randrange(60),
random.randrange(60),
random.randrange(24), # noqa: S311
random.randrange(60), # noqa: S311
random.randrange(60), # noqa: S311
)
if isinstance(
@@ -123,7 +123,7 @@ def get_type_generator( # pylint: disable=too-many-return-statements,too-many-b
),
):
return lambda: datetime.fromordinal(MINIMUM_DATE.toordinal()) + timedelta(
seconds=random.randrange(days_range * 86400)
seconds=random.randrange(days_range * 86400) # noqa: S311
)
if isinstance(sqltype, sqlalchemy.sql.sqltypes.Numeric):
@@ -133,7 +133,7 @@ def get_type_generator( # pylint: disable=too-many-return-statements,too-many-b
if isinstance(sqltype, sqlalchemy.sql.sqltypes.JSON):
return lambda: {
"".join(random.choices(string.ascii_letters, k=8)): random.randrange(65535)
"".join(random.choices(string.ascii_letters, k=8)): random.randrange(65535) # noqa: S311
for _ in range(10)
}
@@ -144,7 +144,7 @@ def get_type_generator( # pylint: disable=too-many-return-statements,too-many-b
sqlalchemy_utils.types.encrypted.encrypted_type.EncryptedType,
),
):
length = random.randrange(sqltype.length or 255)
length = random.randrange(sqltype.length or 255) # noqa: S311
return lambda: os.urandom(length)
if isinstance(sqltype, sqlalchemy_utils.types.uuid.UUIDType):
@@ -154,7 +154,7 @@ def get_type_generator( # pylint: disable=too-many-return-statements,too-many-b
return lambda: str(uuid4())
if isinstance(sqltype, sqlalchemy.sql.sqltypes.BLOB):
length = random.randrange(sqltype.length or 255)
length = random.randrange(sqltype.length or 255) # noqa: S311
return lambda: os.urandom(length)
logger.warning(
@@ -281,12 +281,12 @@ def add_sample_rows(model: type[Model], count: int) -> Iterator[Model]:
def get_valid_foreign_key(column: Column) -> Any:
foreign_key = list(column.foreign_keys)[0]
table_name, column_name = foreign_key.target_fullname.split(".", 1)
return db.engine.execute(f"SELECT {column_name} FROM {table_name} LIMIT 1").scalar()
return db.engine.execute(f"SELECT {column_name} FROM {table_name} LIMIT 1").scalar() # noqa: S608
def generate_value(column: Column) -> Any:
if hasattr(column.type, "enums"):
return random.choice(column.type.enums)
return random.choice(column.type.enums) # noqa: S311
json_as_string = "json" in column.name.lower() and isinstance(
column.type, sqlalchemy.sql.sqltypes.Text