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