Home | History | Annotate | Download | only in server2
      1 #!/usr/bin/env python
      2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 import json
      7 import os
      8 import sys
      9 import unittest
     10 
     11 from samples_data_source import SamplesDataSource
     12 from servlet import Request
     13 from test_util import Server2Path
     14 
     15 
     16 class SamplesDataSourceTest(unittest.TestCase):
     17   def setUp(self):
     18     self._base_path = Server2Path('test_data', 'samples_data_source')
     19 
     20   def _ReadLocalFile(self, filename):
     21     with open(os.path.join(self._base_path, filename), 'r') as f:
     22       return f.read()
     23 
     24   def _FakeGet(self, key):
     25     return json.loads(self._ReadLocalFile(key))
     26 
     27   def testFilterSamples(self):
     28     sds = SamplesDataSource({}, {}, '.', Request.ForTest('/'))
     29     sds.get = self._FakeGet
     30     self.assertEquals(json.loads(self._ReadLocalFile('expected.json')),
     31                       sds.FilterSamples('samples.json', 'bobaloo'))
     32 
     33 if __name__ == '__main__':
     34   unittest.main()
     35