mirror of
https://github.com/apache/superset.git
synced 2026-04-18 23:55:00 +00:00
[cli] New, command line option to create or set a db URI (#7918)
* [cli] New, command line option to create or set a db URI * [tests] New, get or create db on utils * [tests] flake8 and black * [tests] Fix, remove dummy comments * [cli] dummy commit to re-trigger build * [cli] dummy commit to re-trigger build
This commit is contained in:
committed by
Maxime Beauchemin
parent
5f98d661f8
commit
994ac04c1f
@@ -23,13 +23,16 @@ import uuid
|
||||
from flask import Flask
|
||||
from flask_caching import Cache
|
||||
import numpy
|
||||
from sqlalchemy.exc import ArgumentError
|
||||
|
||||
from superset import app
|
||||
from superset import app, db, security_manager
|
||||
from superset.exceptions import SupersetException
|
||||
from superset.models.core import Database
|
||||
from superset.utils.core import (
|
||||
base_json_conv,
|
||||
convert_legacy_filters_into_adhoc,
|
||||
datetime_f,
|
||||
get_or_create_db,
|
||||
get_since_until,
|
||||
get_stacktrace,
|
||||
json_int_dttm_ser,
|
||||
@@ -813,3 +816,22 @@ class UtilsTestCase(unittest.TestCase):
|
||||
except Exception:
|
||||
stacktrace = get_stacktrace()
|
||||
assert stacktrace is None
|
||||
|
||||
def test_get_or_create_db(self):
|
||||
get_or_create_db("test_db", "sqlite:///superset.db")
|
||||
database = db.session.query(Database).filter_by(database_name="test_db").one()
|
||||
self.assertIsNotNone(database)
|
||||
self.assertEqual(database.sqlalchemy_uri, "sqlite:///superset.db")
|
||||
self.assertIsNotNone(
|
||||
security_manager.find_permission_view_menu(
|
||||
"datasource_access", database.perm
|
||||
)
|
||||
)
|
||||
# Test change URI
|
||||
get_or_create_db("test_db", "sqlite:///changed.db")
|
||||
database = db.session.query(Database).filter_by(database_name="test_db").one()
|
||||
self.assertEqual(database.sqlalchemy_uri, "sqlite:///changed.db")
|
||||
|
||||
def test_get_or_create_db_invalid_uri(self):
|
||||
with self.assertRaises(ArgumentError):
|
||||
get_or_create_db("test_db", "yoursql:superset.db/()")
|
||||
|
||||
Reference in New Issue
Block a user