mirror of
https://github.com/apache/superset.git
synced 2026-04-21 00:54:44 +00:00
Create users if not found. (#1753)
* Create users if not found. * Do not fail is user is a duplicate. * Make endpoint faster.
This commit is contained in:
@@ -354,14 +354,17 @@ class RequestAccessTests(SupersetTestCase):
|
||||
if update_role:
|
||||
db.session.delete(update_role)
|
||||
db.session.commit()
|
||||
with self.assertRaises(AttributeError):
|
||||
self.get_resp(
|
||||
'/superset/update_role/',
|
||||
data=json.dumps({
|
||||
'usernames': ['gamma'],
|
||||
'role_name': update_role_str,
|
||||
})
|
||||
)
|
||||
data = json.dumps({
|
||||
'users': [{
|
||||
'username': 'gamma',
|
||||
'first_name': 'Gamma',
|
||||
'last_name': 'Gamma',
|
||||
'email': 'gamma@superset.com',
|
||||
}],
|
||||
'role_name': update_role_str})
|
||||
r = self.client.post('/superset/update_role/', data=data,
|
||||
follow_redirects=True)
|
||||
self.assertEquals(500, r.status_code)
|
||||
|
||||
def test_update_role(self):
|
||||
update_role_str = 'update_me'
|
||||
@@ -370,7 +373,12 @@ class RequestAccessTests(SupersetTestCase):
|
||||
resp = self.client.post(
|
||||
'/superset/update_role/',
|
||||
data=json.dumps({
|
||||
'usernames': ['gamma'],
|
||||
'users': [{
|
||||
'username': 'gamma',
|
||||
'first_name': 'Gamma',
|
||||
'last_name': 'Gamma',
|
||||
'email': 'gamma@superset.com'
|
||||
}],
|
||||
'role_name': update_role_str
|
||||
}),
|
||||
follow_redirects=True
|
||||
@@ -383,7 +391,17 @@ class RequestAccessTests(SupersetTestCase):
|
||||
resp = self.client.post(
|
||||
'/superset/update_role/',
|
||||
data=json.dumps({
|
||||
'usernames': ['alpha', 'unknown'],
|
||||
'users': [{
|
||||
'username': 'alpha',
|
||||
'first_name': 'Alpha',
|
||||
'last_name': 'Alpha',
|
||||
'email': 'alpha@superset.com'
|
||||
}, {
|
||||
'username': 'unknown',
|
||||
'first_name': 'Unknown1',
|
||||
'last_name': 'Unknown2',
|
||||
'email': 'unknown@superset.com'
|
||||
}],
|
||||
'role_name': update_role_str
|
||||
}),
|
||||
follow_redirects=True
|
||||
@@ -391,9 +409,16 @@ class RequestAccessTests(SupersetTestCase):
|
||||
self.assertEquals(resp.status_code, 201)
|
||||
update_role = sm.find_role(update_role_str)
|
||||
self.assertEquals(
|
||||
update_role.user, [sm.find_user(username='alpha')])
|
||||
|
||||
update_role.user, [
|
||||
sm.find_user(username='alpha'),
|
||||
sm.find_user(username='unknown'),
|
||||
])
|
||||
unknown = sm.find_user(username='unknown')
|
||||
self.assertEquals('Unknown2', unknown.last_name)
|
||||
self.assertEquals('Unknown1', unknown.first_name)
|
||||
self.assertEquals('unknown@superset.com', unknown.email)
|
||||
db.session.delete(update_role)
|
||||
db.session.delete(unknown)
|
||||
db.session.commit()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user