|
1 | 1 | from redash import redis_connection |
2 | | -from redash.tasks.queries import QueryTaskTracker |
| 2 | +from redash.tasks.queries import QueryTaskTracker, enqueue_query, execute_query |
3 | 3 | from unittest import TestCase |
| 4 | +from tests import BaseTestCase |
| 5 | +from mock import MagicMock |
| 6 | +from collections import namedtuple |
4 | 7 |
|
5 | 8 |
|
6 | 9 | class TestPrune(TestCase): |
@@ -29,3 +32,19 @@ def test_removes_oldest_items_first(self): |
29 | 32 |
|
30 | 33 | for k in self.keys[0:50]: |
31 | 34 | self.assertFalse(redis_connection.exists(k)) |
| 35 | + |
| 36 | + |
| 37 | +result = namedtuple('Result', 'id') |
| 38 | + |
| 39 | + |
| 40 | +class TestEnqueueTask(BaseTestCase): |
| 41 | + def test_enqueue(self): |
| 42 | + query = self.factory.create_query() |
| 43 | + execute_query.apply_async = MagicMock(return_value=result('testing')) |
| 44 | + |
| 45 | + enqueue_query(query.query, query.data_source, True, {'Username': 'Arik', 'Query ID': query.id}) |
| 46 | + enqueue_query(query.query, query.data_source, True, {'Username': 'Arik', 'Query ID': query.id}) |
| 47 | + enqueue_query(query.query, query.data_source, True, {'Username': 'Arik', 'Query ID': query.id}) |
| 48 | + |
| 49 | + self.assertEqual(1, execute_query.apply_async.call_count) |
| 50 | + self.assertEqual(1, redis_connection.zcard(QueryTaskTracker.WAITING_LIST)) |
0 commit comments