Files
redash/tests/query_runner/test_oracle.py
2023-07-11 19:13:54 +10:00

31 lines
1.1 KiB
Python

import unittest
from redash.query_runner.oracle import Oracle
class TestOracle(unittest.TestCase):
def setUp(self):
self.query_runner = Oracle({})
def test_add_limit_query_no_limit(self):
query = "SELECT *"
self.assertEqual("SELECT * FETCH NEXT 1000 ROWS ONLY", self.query_runner.add_limit_to_query(query))
def test_add_limit_query_with_punc(self):
query = "SELECT *;"
self.assertEqual("SELECT * FETCH NEXT 1000 ROWS ONLY;", self.query_runner.add_limit_to_query(query))
def test_apply_auto_limit_origin_no_limit_1(self):
origin_query_text = "SELECT 2"
query_text = self.query_runner.apply_auto_limit(origin_query_text, True)
self.assertEqual("SELECT 2 FETCH NEXT 1000 ROWS ONLY", query_text)
def test_apply_auto_limit_origin_have_limit_1(self):
origin_query_text = "SELECT 2 LIMIT 100 FETCH NEXT 1000 ROWS ONLY"
query_text = self.query_runner.apply_auto_limit(origin_query_text, True)
self.assertEqual(origin_query_text, query_text)
if __name__ == "__main__":
unittest.main()