mirror of
https://github.com/getredash/redash.git
synced 2025-12-21 18:35:48 -05:00
* add default limit 1000 * Add frontend changes and connect to backend * Fix query hash because of default limit * fix CircleCI test * adjust for comment
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
import unittest
|
|
|
|
from redash.utils import query_is_select_no_limit, add_limit_to_query
|
|
|
|
|
|
class TestQueryLimit(unittest.TestCase):
|
|
def test_check_query_limit_no_limit(self):
|
|
query = "SELECT *"
|
|
self.assertEqual(True, query_is_select_no_limit(query))
|
|
|
|
def test_check_query_limit_non_select(self):
|
|
query = "Create Table (PersonID INT)"
|
|
self.assertEqual(False, query_is_select_no_limit(query))
|
|
|
|
def test_check_query_limit_invalid_1(self):
|
|
query = "OFFSET 5"
|
|
self.assertEqual(False, query_is_select_no_limit(query))
|
|
|
|
def test_check_query_limit_invalid_2(self):
|
|
query = "TABLE A FROM TABLE B"
|
|
self.assertEqual(False, query_is_select_no_limit(query))
|
|
|
|
def test_check_query_with_limit(self):
|
|
query = "SELECT * LIMIT 5"
|
|
self.assertEqual(False, query_is_select_no_limit(query))
|
|
|
|
def test_check_query_with_offset(self):
|
|
query = "SELECT * LIMIT 5 OFFSET 3"
|
|
self.assertEqual(False, query_is_select_no_limit(query))
|
|
|
|
def test_add_limit_query_no_limit(self):
|
|
query = "SELECT *"
|
|
self.assertEqual("SELECT * LIMIT 1000", add_limit_to_query(query))
|
|
|
|
def test_add_limit_query_with_punc(self):
|
|
query = "SELECT *;"
|
|
self.assertEqual("SELECT * LIMIT 1000;", add_limit_to_query(query))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|