forked from ashiqks/Flask-Python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_db_interface.py
More file actions
88 lines (69 loc) · 3.29 KB
/
Copy pathtest_db_interface.py
File metadata and controls
88 lines (69 loc) · 3.29 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import unittest2
from db_interface import query_to_json
class TestDb_Interface(unittest2.TestCase):
def test_no_results(self):
q = "SELECT school_name FROM codetran_collegedata.collegescorecard WHERE latest_admissions_act_scores_midpoint_cumulative BETWEEN 36 AND 35"
actualOutput = query_to_json(q)
expectedOutput = {"column_names": [], "rows": []}
self.assertEqual(actualOutput, expectedOutput)
def test_one_col_results(self):
q = 'SELECT school_name FROM codetran_collegedata.collegescorecard WHERE school_name="Pomona College" or school_name="Rice University"'
actualOutput = query_to_json(q)
expectedOutput = {
"column_names": ["school_name"],
"rows": [{
"school_name": "Pomona College"
}, {
"school_name": "Rice University"
}]
}
self.assertEqual(actualOutput["column_names"],
expectedOutput["column_names"])
self.assertEqual(actualOutput["rows"], expectedOutput["rows"])
def test_two_col_results(self):
q = 'SELECT school_name, school_state FROM codetran_collegedata.collegescorecard WHERE school_name="Pomona College" or school_name="Rice University"'
actualOutput = query_to_json(q)
expectedOutput = {
"column_names": ["school_name", "school_state"],
"rows": [{
"school_name": "Pomona College",
"school_state": "CA"
}, {
"school_name": "Rice University",
"school_state": "TX"
}]
}
self.assertEqual(actualOutput["column_names"],
expectedOutput["column_names"])
self.assertEqual(actualOutput["rows"], expectedOutput["rows"])
def test_results_with_id(self):
q = 'SELECT ope6_id, school_name, school_state FROM codetran_collegedata.collegescorecard WHERE school_name="Pomona College" or school_name="Rice University"'
actualOutput = query_to_json(q)
expectedOutput = {
"column_names": ["ope6_id", "school_name", "school_state"],
"rows": [{
"ope6_id": 1173,
"school_name": "Pomona College",
"school_state": "CA"
}, {
"ope6_id": 3604,
"school_name": "Rice University",
"school_state": "TX"
}]
}
self.assertEqual(actualOutput["column_names"],
expectedOutput["column_names"])
self.assertEqual(actualOutput["rows"], expectedOutput["rows"])
# TODO: make test pass
# def test_non_string_results(self):
# q = 'SELECT school_name, latest_student_size FROM codetran_collegedata.collegescorecard WHERE school_name = "Pomona College" OR school_name = "Rice University"'
# actualOutput = query_to_json(q)
# expectedOutput = {
# "column_names": ["school_name", "latest_student_size"],
# "rows": [("Pomona College", 1549.0), ("Rice University", 3962.0)]
# }
# self.assertEqual(actualOutput["column_names"],
# expectedOutput["column_names"])
# self.assertEqual(actualOutput["rows"], expectedOutput["rows"])
if __name__ == '__main__':
unittest2.main()