mirror of
https://github.com/getredash/redash.git
synced 2025-12-19 17:37:19 -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())
|
d['view_only'] = all(project(ds.groups, self.current_user.groups).values())
|
||||||
response[ds.id] = d
|
response[ds.id] = d
|
||||||
|
|
||||||
return response.values()
|
return sorted(response.values(), key=lambda d: d['id'])
|
||||||
|
|
||||||
@require_admin
|
@require_admin
|
||||||
def post(self):
|
def post(self):
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
|
import requests
|
||||||
from celery.utils.log import get_task_logger
|
from celery.utils.log import get_task_logger
|
||||||
from flask.ext.mail import Message
|
from flask.ext.mail import Message
|
||||||
from redash.worker import celery
|
from redash.worker import celery
|
||||||
from redash.version_check import run_version_check
|
from redash.version_check import run_version_check
|
||||||
from redash import models, mail
|
from redash import models, mail, settings
|
||||||
from .base import BaseTask
|
from .base import BaseTask
|
||||||
|
|
||||||
logger = get_task_logger(__name__)
|
logger = get_task_logger(__name__)
|
||||||
@@ -10,7 +11,16 @@ logger = get_task_logger(__name__)
|
|||||||
|
|
||||||
@celery.task(name="redash.tasks.record_event", base=BaseTask)
|
@celery.task(name="redash.tasks.record_event", base=BaseTask)
|
||||||
def record_event(event):
|
def record_event(event):
|
||||||
|
original_event = event.copy()
|
||||||
models.Event.record(event)
|
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)
|
@celery.task(name="redash.tasks.version_check", base=BaseTask)
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
|
from funcy import pairwise
|
||||||
|
|
||||||
from tests import BaseTestCase
|
from tests import BaseTestCase
|
||||||
from redash.models import DataSource
|
from redash.models import DataSource
|
||||||
|
|
||||||
@@ -25,6 +28,12 @@ class TestDataSourceListGet(BaseTestCase):
|
|||||||
|
|
||||||
self.assertEqual(len(response.json), 1)
|
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):
|
class DataSourceTypesTest(BaseTestCase):
|
||||||
def test_returns_data_for_admin(self):
|
def test_returns_data_for_admin(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user