summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2016-02-03 18:26:00 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2016-02-03 18:26:00 -0500
commitc01d11907cbc98ddefe323c6115bc954b908f101 (patch)
treef87751bcfecf32ace000b865b60ba3cacc5e8594
parentd464933fd56ffef7d6c9364a922bb72e9d37af99 (diff)
downloadsqlalchemy-c01d11907cbc98ddefe323c6115bc954b908f101.tar.gz
- add multi-database provisioning for oracle
-rw-r--r--lib/sqlalchemy/testing/provision.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py
index ce60e99d3..555a75b53 100644
--- a/lib/sqlalchemy/testing/provision.py
+++ b/lib/sqlalchemy/testing/provision.py
@@ -235,5 +235,34 @@ def _mysql_drop_db(cfg, eng, ident):
pass
+@_create_db.for_db("oracle")
+def _oracle_create_db(cfg, eng, ident):
+ with eng.connect() as conn:
+ conn.execute("create user %s identified by xe" % ident)
+ conn.execute("create user %s_ts1 identified by xe" % ident)
+ conn.execute("create user %s_ts2 identified by xe" % ident)
+ conn.execute("grant dba to %s" % (ident, ))
+
+
+@_configure_follower.for_db("oracle")
+def _oracle_configure_follower(config, ident):
+ config.test_schema = "%s_ts1" % ident
+ config.test_schema_2 = "%s_ts2" % ident
+
+
+@_drop_db.for_db("oracle")
+def _oracle_drop_db(cfg, eng, ident):
+ with eng.connect() as conn:
+ conn.execute("drop user %s" % ident)
+ conn.execute("drop user %s_ts1" % ident)
+ conn.execute("drop user %s_ts2" % ident)
+
+
+@_follower_url_from_main.for_db("oracle")
+def _oracle_follower_url_from_main(url, ident):
+ url = sa_url.make_url(url)
+ url.username = ident
+ url.password = 'xe'
+ return url