mirror of
https://github.com/apache/superset.git
synced 2026-04-18 23:55:00 +00:00
Feature: "Impersonate user" setting on Datasource (#3404)
* Add "Impersonate user" setting to Datasource * Add tests * Use g.user.username for all the sync cases * use uri.username instead of uri.user * Small refactoring
This commit is contained in:
committed by
Maxime Beauchemin
parent
a26e65f418
commit
c988080990
@@ -54,3 +54,16 @@ class DatabaseModelTestCase(unittest.TestCase):
|
||||
|
||||
db = make_url(model.get_sqla_engine(schema='staging').url).database
|
||||
self.assertEquals('staging', db)
|
||||
|
||||
def test_database_impersonate_user(self):
|
||||
uri = 'mysql://root@localhost'
|
||||
example_user = 'giuseppe'
|
||||
model = Database(sqlalchemy_uri=uri)
|
||||
|
||||
model.impersonate_user = True
|
||||
user_name = make_url(model.get_sqla_engine(user_name=example_user).url).username
|
||||
self.assertEquals(example_user, user_name)
|
||||
|
||||
model.impersonate_user = False
|
||||
user_name = make_url(model.get_sqla_engine(user_name=example_user).url).username
|
||||
self.assertNotEquals(example_user, user_name)
|
||||
|
||||
Reference in New Issue
Block a user