mirror of
https://github.com/getredash/redash.git
synced 2025-12-25 01:03:20 -05:00
Add "Active at" column to user list. (#3026)
* add last_active_at to users page * Use our JSON encoder as the SQLAlchemy JSON serializer. * Fixed some inconsistencies in the user query class methods. * Minor cosmetic fixes. * Add some make tasks for easier development. * Add user detail sync system based on Redis backend. There is a periodic Celery task that updates a new “details” JSONB column in the “user” table with the data from Redis. Currently this is only used for tracking the date of last activity of a user but can be extended with other user information later. Updates a few dependencies. * Normalize a few Flask extension API names. * Reduce implementation complexity of JSONEncoder. * Use request_started signal to make sure we have a request context. Otherwise loading the user based on the request won’t work. * Fix test that checks if disabled users can login. This correctly uses a URL path that includes the current organization and checks for the error message. The previous test seems to have been a red herring. * Minor cosmetic fixes. * Remove needs_sync in favor of just deleting things. * Misc review fixes. * Ignore line length. * Split redash.models import several modules. * Move walrus UTC DateTimeField into redash.models.types. * Restore distinctly loading dashboards. * Simplify default values for user details. * Define __repr__ methods generically. * Consistently have underscore methods at the top of model methods. * Fix tests. * Split redash.models import several modules. * Update to latest walrus and redis-py. * Update kombu to 4.2.2 for redis-py 3.x compatibility. * Remove redis-cli container after running Make task. * Move buffer condition after datetime/time conditions. * Update walrus to 0.7.1. * Refactor some query APIs. This uses the flask-sqlalchemy helpers consistently and makes more use of mixins. * Post rebase fixes. * Use correct kombu version * Fix migration down revision
This commit is contained in:
committed by
Arik Fraimovich
parent
569430e5cd
commit
44dff83046
@@ -28,7 +28,6 @@ class TestUserListResourcePost(BaseTestCase):
|
||||
rv = self.make_request('post', '/api/users', data=test_user, user=admin)
|
||||
self.assertEqual(rv.status_code, 400)
|
||||
|
||||
|
||||
def test_creates_user(self):
|
||||
admin = self.factory.create_admin()
|
||||
|
||||
@@ -274,12 +273,12 @@ class TestUserDisable(BaseTestCase):
|
||||
self.db.session.commit()
|
||||
|
||||
with patch('redash.handlers.authentication.login_user') as login_user_mock:
|
||||
rv = self.client.post('/login', data={'email': user.email, 'password': 'password'})
|
||||
rv = self.post_request('/login', data={'email': user.email, 'password': 'password'}, org=self.factory.org)
|
||||
# login handler should not be called
|
||||
login_user_mock.assert_not_called()
|
||||
# check for redirect back to login page
|
||||
self.assertEquals(rv.status_code, 301)
|
||||
self.assertIn('/login', rv.headers.get('Location', None))
|
||||
# check if error is raised
|
||||
self.assertEquals(rv.status_code, 200)
|
||||
self.assertIn('Wrong email or password', rv.data)
|
||||
|
||||
def test_disabled_user_should_not_access_api(self):
|
||||
# Note: some API does not require user, so check the one which requires
|
||||
|
||||
Reference in New Issue
Block a user