]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fix permission error and path on windows 5055/head
authorFederico Caselli <cfederico87@gmail.com>
Fri, 27 Dec 2019 10:23:34 +0000 (11:23 +0100)
committerFederico Caselli <cfederico87@gmail.com>
Fri, 27 Dec 2019 10:23:34 +0000 (11:23 +0100)
test/dialect/test_sqlite.py
test/ext/test_horizontal_shard.py

index ec88277a6c3c2b9c349f9299c421ee1547e28ff9..da349c1f84864357513f06a2eb1516eb2074b96d 100644 (file)
@@ -43,6 +43,7 @@ from sqlalchemy.testing import assert_raises
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.testing import AssertsCompiledSQL
 from sqlalchemy.testing import AssertsExecutionResults
+from sqlalchemy.testing import combinations
 from sqlalchemy.testing import engines
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import expect_warnings
@@ -722,40 +723,43 @@ class DialectTest(fixtures.TestBase, AssertsExecutionResults):
         e = create_engine("sqlite+pysqlite:///foo.db")
         assert e.pool.__class__ is pool.NullPool
 
-    def test_connect_args(self):
+    @combinations(
+        (
+            "sqlite:///foo.db",  # file path is absolute
+            ([os.path.abspath("foo.db")], {}),
+        ),
+        (
+            "sqlite:////abs/path/to/foo.db",
+            ([os.path.abspath("/abs/path/to/foo.db")], {}),
+        ),
+        ("sqlite://", ([":memory:"], {})),
+        (
+            "sqlite:///?check_same_thread=true",
+            ([":memory:"], {"check_same_thread": True}),
+        ),
+        (
+            "sqlite:///file:path/to/database?"
+            "check_same_thread=true&timeout=10&mode=ro&nolock=1&uri=true",
+            (
+                ["file:path/to/database?mode=ro&nolock=1"],
+                {"check_same_thread": True, "timeout": 10.0, "uri": True},
+            ),
+        ),
+        (
+            "sqlite:///file:path/to/database?" "mode=ro&uri=true",
+            (["file:path/to/database?mode=ro"], {"uri": True}),
+        ),
+        (
+            "sqlite:///file:path/to/database?uri=true",
+            (["file:path/to/database"], {"uri": True}),
+        ),
+    )
+    def test_connect_args(self, url, expected):
         """test create_connect_args scenarios including support for uri=True"""
 
         d = pysqlite_dialect.dialect()
-        for url, expected in [
-            (
-                "sqlite:///foo.db",  # file path is absolute
-                ([os.path.abspath("foo.db")], {}),
-            ),
-            ("sqlite:////abs/path/to/foo.db", (["/abs/path/to/foo.db"], {})),
-            ("sqlite://", ([":memory:"], {})),
-            (
-                "sqlite:///?check_same_thread=true",
-                ([":memory:"], {"check_same_thread": True}),
-            ),
-            (
-                "sqlite:///file:path/to/database?"
-                "check_same_thread=true&timeout=10&mode=ro&nolock=1&uri=true",
-                (
-                    ["file:path/to/database?mode=ro&nolock=1"],
-                    {"check_same_thread": True, "timeout": 10.0, "uri": True},
-                ),
-            ),
-            (
-                "sqlite:///file:path/to/database?" "mode=ro&uri=true",
-                (["file:path/to/database?mode=ro"], {"uri": True}),
-            ),
-            (
-                "sqlite:///file:path/to/database?uri=true",
-                (["file:path/to/database"], {"uri": True}),
-            ),
-        ]:
-            url = make_url(url)
-            eq_(d.create_connect_args(url), expected)
+        url = make_url(url)
+        eq_(d.create_connect_args(url), expected)
 
     @testing.combinations(
         ("no_persisted", "ignore"),
index e292cb2b089d5b65078c74a1b051cfa705f46267..f78f1ff068cbfa4a53c2fb21b3d9a61da3dd4401 100644 (file)
@@ -29,6 +29,7 @@ from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing import provision
 from sqlalchemy.testing.engines import testing_engine
+from sqlalchemy.testing.engines import testing_reaper
 
 
 # TODO: ShardTest can be turned into a base for further subclasses
@@ -619,6 +620,8 @@ class LazyLoadIdentityKeyTest(fixtures.DeclarativeMappedTest):
     def teardown(self):
         for db in self.dbs:
             db.connect().invalidate()
+
+        testing_reaper.close_all()
         for i in range(1, 3):
             os.remove("shard%d_%s.db" % (i, provision.FOLLOWER_IDENT))