mirror of
https://github.com/getredash/redash.git
synced 2025-12-19 09:27:23 -05:00
Merge pull request #1030 from getredash/fixes_160504
Make sure data sources list ordered by id
This commit is contained in:
@@ -67,7 +67,7 @@ class DataSourceListResource(BaseResource):
|
||||
d['view_only'] = all(project(ds.groups, self.current_user.groups).values())
|
||||
response[ds.id] = d
|
||||
|
||||
return response.values()
|
||||
return sorted(response.values(), key=lambda d: d['id'])
|
||||
|
||||
@require_admin
|
||||
def post(self):
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import requests
|
||||
from celery.utils.log import get_task_logger
|
||||
from flask.ext.mail import Message
|
||||
from redash.worker import celery
|
||||
from redash.version_check import run_version_check
|
||||
from redash import models, mail
|
||||
from redash import models, mail, settings
|
||||
from .base import BaseTask
|
||||
|
||||
logger = get_task_logger(__name__)
|
||||
@@ -10,7 +11,16 @@ logger = get_task_logger(__name__)
|
||||
|
||||
@celery.task(name="redash.tasks.record_event", base=BaseTask)
|
||||
def record_event(event):
|
||||
original_event = event.copy()
|
||||
models.Event.record(event)
|
||||
for hook in settings.EVENT_REPORTING_WEBHOOKS:
|
||||
logger.debug("Forwarding event to: %s", hook)
|
||||
try:
|
||||
response = requests.post(hook, original_event)
|
||||
if response.status_code != 200:
|
||||
logger.error("Failed posting to %s: %s", hook, response.content)
|
||||
except Exception:
|
||||
logger.exception("Failed posting to %s", hook)
|
||||
|
||||
|
||||
@celery.task(name="redash.tasks.version_check", base=BaseTask)
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
import json
|
||||
|
||||
from funcy import pairwise
|
||||
|
||||
from tests import BaseTestCase
|
||||
from redash.models import DataSource
|
||||
|
||||
@@ -25,6 +28,12 @@ class TestDataSourceListGet(BaseTestCase):
|
||||
|
||||
self.assertEqual(len(response.json), 1)
|
||||
|
||||
def test_returns_data_sources_ordered_by_id(self):
|
||||
self.factory.create_data_source(group=self.factory.org.default_group)
|
||||
self.factory.create_data_source(group=self.factory.org.default_group)
|
||||
response = self.make_request("get", "/api/data_sources", user=self.factory.user)
|
||||
self.assertTrue(all(left <= right for left, right in pairwise(response.json)))
|
||||
|
||||
|
||||
class DataSourceTypesTest(BaseTestCase):
|
||||
def test_returns_data_for_admin(self):
|
||||
|
||||
Reference in New Issue
Block a user