Fix type casting, now we have an unexpected succes :)
This commit is contained in:
parent
130c4cb7b2
commit
8c9a4d5295
2
crud.py
2
crud.py
|
@ -17,7 +17,7 @@ def create_movie(
|
|||
):
|
||||
db_movie = models.Movie(
|
||||
title=title,
|
||||
genres=str(genres),
|
||||
genres=genres,
|
||||
description=description,
|
||||
vote_average=vote_average,
|
||||
vote_count=vote_count,
|
||||
|
|
|
@ -7,7 +7,10 @@ class NaiveStringList(types.TypeDecorator):
|
|||
impl = types.Unicode
|
||||
sep = "\n"
|
||||
|
||||
def process_bind_param(self, value, dialect):
|
||||
def process_bind_param(self, value: list[str], dialect):
|
||||
allowed = list, tuple
|
||||
if not isinstance(value, allowed):
|
||||
raise ValueError(f"{value!r}'s type should be in types{allowed} ")
|
||||
return self.sep.join(value)
|
||||
|
||||
def process_result_value(self, value, dialect):
|
||||
|
|
|
@ -3,7 +3,7 @@ from sqlalchemy import create_engine
|
|||
from sqlalchemy.orm import sessionmaker
|
||||
from sqlalchemy.pool import StaticPool
|
||||
from sqlalchemy import MetaData
|
||||
|
||||
from sqlalchemy import exc
|
||||
from database import Base
|
||||
from dev import app, get_db
|
||||
from models import Movie
|
||||
|
@ -97,8 +97,8 @@ def test_genre_custom_type_serialize_type():
|
|||
try:
|
||||
with db_context() as db:
|
||||
movie = crud.create_movie(db, title=name, genres=csv_genres)
|
||||
except TypeError as exc:
|
||||
assert "tuple" in str(exc)
|
||||
except (ValueError, exc.StatementError) as error:
|
||||
assert "tuple" in str(error)
|
||||
else:
|
||||
raise RuntimeError("Exception should have been raised")
|
||||
|
||||
|
|
Loading…
Reference in New Issue