forked from getredash/redash
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_utils.py
More file actions
32 lines (24 loc) · 1.2 KB
/
test_utils.py
File metadata and controls
32 lines (24 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-
from unittest import TestCase
from redash.query_runner import TYPE_DATETIME, TYPE_FLOAT, TYPE_INTEGER, TYPE_BOOLEAN, TYPE_STRING
from redash.query_runner.drill import guess_type
class TestGuessType(TestCase):
def test_handles_unicode(self):
self.assertEqual(guess_type(u'Текст'), TYPE_STRING)
def test_detects_booleans(self):
self.assertEqual(guess_type('true'), TYPE_BOOLEAN)
self.assertEqual(guess_type('True'), TYPE_BOOLEAN)
self.assertEqual(guess_type('TRUE'), TYPE_BOOLEAN)
self.assertEqual(guess_type('false'), TYPE_BOOLEAN)
self.assertEqual(guess_type('False'), TYPE_BOOLEAN)
self.assertEqual(guess_type('FALSE'), TYPE_BOOLEAN)
def test_detects_strings(self):
self.assertEqual(guess_type(None), TYPE_STRING)
self.assertEqual(guess_type(''), TYPE_STRING)
self.assertEqual(guess_type('redash'), TYPE_STRING)
def test_detects_integer(self):
self.assertEqual(guess_type('42'), TYPE_INTEGER)
def test_detects_float(self):
self.assertEqual(guess_type('3.14'), TYPE_FLOAT)
def test_detects_date(self):
self.assertEqual(guess_type('2018-10-31'), TYPE_DATETIME)