Skip to content

Commit dc2c836

Browse files
author
kabulov kozim
committed
add tests
1 parent 743bc4a commit dc2c836

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

test/test_core.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import sqlalchemy as sa
88
import ydb
99
from sqlalchemy import Column, Integer, String, Table, Unicode
10+
from sqlalchemy.orm import declarative_base, sessionmaker
1011
from sqlalchemy.testing.fixtures import TablesTest, TestBase, config
1112
from ydb._grpc.v4.protos import ydb_common_pb2
1213

@@ -89,6 +90,46 @@ def test_sa_crud_with_add_declare(self):
8990
self.test_sa_crud(connection)
9091

9192

93+
class TestDirectories(TablesTest):
94+
__backend__ = True
95+
96+
def prepare_table(self, engine):
97+
base = declarative_base()
98+
class Table(base):
99+
__tablename__ = 'dir/test'
100+
id = Column(Integer, primary_key=True)
101+
text = Column(Unicode)
102+
base.metadata.create_all(engine)
103+
session = sessionmaker(bind=engine)()
104+
session.add(Table(id=2, text="foo"))
105+
session.commit()
106+
return base, Table, session
107+
108+
def try_update(self, session, Table):
109+
row = session.query(Table).first()
110+
row.text = "bar"
111+
session.commit()
112+
return row
113+
114+
def drop_table(self, base, engine):
115+
base.metadata.drop_all(engine)
116+
117+
def test_directories(self):
118+
engine_good = sa.create_engine(config.db_url, directories=["dir"])
119+
base, Table, session = self.prepare_table(engine_good)
120+
row = self.try_update(session, Table)
121+
assert row.id == 2
122+
assert row.text == "bar"
123+
self.drop_table(base, engine_good)
124+
125+
engine_bad = sa.create_engine(config.db_url)
126+
base, Table, session = self.prepare_table(engine_bad)
127+
with pytest.raises(Exception) as excinfo:
128+
self.try_update(session, Table)
129+
assert "Unknown name: $dir" in str(excinfo.value)
130+
self.drop_table(base, engine_bad)
131+
132+
92133
class TestSimpleSelect(TablesTest):
93134
__backend__ = True
94135

0 commit comments

Comments
 (0)