xref: /aosp_15_r20/external/rappor/pipeline/task_spec_test.py (revision 2abb31345f6c95944768b5222a9a5ed3fc68cc00)
1*2abb3134SXin Li#!/usr/bin/python -S
2*2abb3134SXin Li"""
3*2abb3134SXin Litask_spec_test.py: Tests for task_spec.py
4*2abb3134SXin Li"""
5*2abb3134SXin Li
6*2abb3134SXin Liimport cStringIO
7*2abb3134SXin Liimport unittest
8*2abb3134SXin Li
9*2abb3134SXin Liimport task_spec  # module under test
10*2abb3134SXin Li
11*2abb3134SXin Li
12*2abb3134SXin Liclass TaskSpecTest(unittest.TestCase):
13*2abb3134SXin Li
14*2abb3134SXin Li  def testCountReports(self):
15*2abb3134SXin Li    f = cStringIO.StringIO("""\
16*2abb3134SXin Li1,2
17*2abb3134SXin Li3,4
18*2abb3134SXin Li5,6
19*2abb3134SXin Li""")
20*2abb3134SXin Li    c = task_spec.CountReports(f)
21*2abb3134SXin Li    self.assertEqual(9, c)
22*2abb3134SXin Li
23*2abb3134SXin Li  def testDist(self):
24*2abb3134SXin Li    # NOTE: These files are opened, in order to count the reports.  Maybe skip
25*2abb3134SXin Li    # that step.
26*2abb3134SXin Li    f = cStringIO.StringIO("""\
27*2abb3134SXin Li_tmp/counts/2015-12-01/exp_counts.csv
28*2abb3134SXin Li_tmp/counts/2015-12-01/gauss_counts.csv
29*2abb3134SXin Li_tmp/counts/2015-12-02/exp_counts.csv
30*2abb3134SXin Li_tmp/counts/2015-12-02/gauss_counts.csv
31*2abb3134SXin Li""")
32*2abb3134SXin Li    input_iter = task_spec.DistInputIter(f)
33*2abb3134SXin Li    #for row in input_iter:
34*2abb3134SXin Li    #  print row
35*2abb3134SXin Li
36*2abb3134SXin Li    field_id_lookup = {}
37*2abb3134SXin Li
38*2abb3134SXin Li    # var name -> map filename
39*2abb3134SXin Li    f = cStringIO.StringIO("""\
40*2abb3134SXin Livar,map_filename
41*2abb3134SXin Liexp,map.csv
42*2abb3134SXin Liunif,map.csv
43*2abb3134SXin Ligauss,map.csv
44*2abb3134SXin Li""")
45*2abb3134SXin Li    dist_maps = task_spec.DistMapLookup(f, '_tmp/maps')
46*2abb3134SXin Li
47*2abb3134SXin Li    f2 = cStringIO.StringIO("""\
48*2abb3134SXin Limetric,var,var_type,params
49*2abb3134SXin Liexp,,string,params
50*2abb3134SXin Liunif,,string,params
51*2abb3134SXin Ligauss,,string,params
52*2abb3134SXin Li""")
53*2abb3134SXin Li    var_schema = task_spec.VarSchema(f2, '_tmp/config')
54*2abb3134SXin Li
55*2abb3134SXin Li    for row in task_spec.DistTaskSpec(
56*2abb3134SXin Li        input_iter, field_id_lookup, var_schema, dist_maps, None):
57*2abb3134SXin Li      print row
58*2abb3134SXin Li
59*2abb3134SXin Li
60*2abb3134SXin Liif __name__ == '__main__':
61*2abb3134SXin Li  unittest.main()
62