예제 #1
0
 def testFetchResource(self):
     fetcher = LocalFetcher('')
     local_path = os.path.join('test_data', 'local_fetcher')
     self.assertEquals(
         'test1\n',
         fetcher.FetchResource(os.path.join(local_path,
                                            'test1.txt')).content)
     self.assertEquals(
         'test2\n',
         fetcher.FetchResource(os.path.join(local_path,
                                            'test2.txt')).content)
     self.assertEquals(
         'test3\n',
         fetcher.FetchResource(os.path.join(local_path,
                                            'test3.txt')).content)
예제 #2
0
 def _GetInstanceForBranch(self, branch):
     if branch in SERVER_INSTANCES:
         return SERVER_INSTANCES[branch]
     if branch == 'local':
         fetcher = LocalFetcher(EXTENSIONS_PATH)
         # No cache for local doc server.
         cache_timeout_seconds = 0
     else:
         fetcher = SubversionFetcher(branch, EXTENSIONS_PATH, urlfetch)
         cache_timeout_seconds = 300
     cache_builder = FetcherCache.Builder(fetcher, cache_timeout_seconds)
     api_data_source = APIDataSource(cache_builder, API_PATH)
     intro_data_source = IntroDataSource(cache_builder,
                                         [INTRO_PATH, ARTICLE_PATH])
     samples_data_source = SamplesDataSource(fetcher, cache_builder,
                                             EXAMPLES_PATH)
     template_data_source = TemplateDataSource(
         branch, api_data_source, intro_data_source, samples_data_source,
         cache_builder, [PUBLIC_TEMPLATE_PATH, PRIVATE_TEMPLATE_PATH])
     example_zipper = ExampleZipper(fetcher, cache_builder, DOCS_PATH,
                                    EXAMPLES_PATH)
     SERVER_INSTANCES[branch] = ServerInstance(template_data_source,
                                               example_zipper,
                                               cache_builder)
     return SERVER_INSTANCES[branch]
 def testPartials(self):
   self._base_path = os.path.join(self._base_path, 'partials')
   fetcher = LocalFetcher(self._base_path)
   cache_builder = FetcherCache.Builder(fetcher, 0)
   t_data_source = self._CreateTemplateDataSource(self._fake_api_data_source,
                                                   cache_builder)
   self.assertEqual(self._ReadLocalFile('test_expected.html'),
       t_data_source['test_tmpl'].render(
           json.loads(self._ReadLocalFile('input.json')), t_data_source).text)
예제 #4
0
  def testSimple(self):
    fetcher = LocalFetcher(self._base_path)
    cache_builder = FetcherCache.Builder(fetcher, 0)
    data_source = APIDataSource(cache_builder, './')

    # Take the dict out of the list.
    expected = json.loads(self._ReadLocalFile('expected_test_file.json'))
    self.assertEqual(expected, data_source['test_file'])
    self.assertEqual(expected, data_source['testFile'])
    self.assertEqual(expected, data_source['testFile.html'])

    self.assertEqual(None, data_source['junk'])
 def testRender(self):
   self._base_path = os.path.join(self._base_path, 'render')
   fetcher = LocalFetcher(self._base_path)
   context = json.loads(self._ReadLocalFile('test1.json'))
   cache_builder = FetcherCache.Builder(fetcher, 0)
   self._RenderTest(
       'test1',
       self._CreateTemplateDataSource(
           json.loads(self._ReadLocalFile('test1.json')),
                          cache_builder))
   self._RenderTest(
       'test2',
       self._CreateTemplateDataSource(
           json.loads(self._ReadLocalFile('test2.json')),
                          cache_builder))
  def testSimple(self):
    self._base_path = os.path.join(self._base_path, 'simple')
    fetcher = LocalFetcher(self._base_path)
    cache_builder = FetcherCache.Builder(fetcher, 0)
    t_data_source = self._CreateTemplateDataSource(self._fake_api_data_source,
                                                    cache_builder)
    template_a1 = Handlebar(self._ReadLocalFile('test1.html'))
    self.assertEqual(template_a1.render({}, {'templates': {}}).text,
        t_data_source['test1'].render({}, {'templates': {}}).text)

    template_a2 = Handlebar(self._ReadLocalFile('test2.html'))
    self.assertEqual(template_a2.render({}, {'templates': {}}).text,
        t_data_source['test2'].render({}, {'templates': {}}).text)

    self.assertEqual(None, t_data_source['junk.html'])
예제 #7
0
class LocalFetcherTest(unittest.TestCase):
  def setUp(self):
    self._base_path = os.path.join('test_data', 'local_fetcher')
    self._fetcher = LocalFetcher(self._base_path)

  def testFetchResource(self):
    self.assertEquals('test1\n',
                      self._fetcher.FetchResource('test1.txt').content)
    self.assertEquals('test2\n',
                      self._fetcher.FetchResource('test2.txt').content)
    self.assertEquals('test3\n',
                      self._fetcher.FetchResource('test3.txt').content)

  def testListDirectory(self):
    expected = ['file%d.html' % i for i in range(7)]
    self.assertEquals(
        expected,
        sorted(self._fetcher.ListDirectory('recursive_list/list').content))
    expected2 = ['recursive_list/' + x for x in expected]
    expected2.extend(['recursive_list/list/' + x for x in expected])
    self.assertEquals(
        expected2,
        sorted(self._fetcher.ListDirectory('recursive_list',
                                    recursive=True).content))
예제 #8
0
 def _GetInstanceForBranch(self, branch):
   if branch in SERVER_INSTANCES:
     return SERVER_INSTANCES[branch]
   if branch == 'local':
     fetcher = LocalFetcher(EXTENSIONS_PATH)
     # No cache for local doc server.
     cache_timeout_seconds = 0
   else:
     fetcher = SubversionFetcher(branch, EXTENSIONS_PATH, urlfetch)
     cache_timeout_seconds = 300
   cache_builder = FetcherCache.Builder(fetcher, cache_timeout_seconds)
   api_data_source = APIDataSource(cache_builder, API_PATH)
   template_data_source = TemplateDataSource(
       branch,
       api_data_source,
       cache_builder,
       [PUBLIC_TEMPLATE_PATH, PRIVATE_TEMPLATE_PATH])
   SERVER_INSTANCES[branch] = ServerInstance(
       template_data_source,
       cache_builder)
   return SERVER_INSTANCES[branch]
예제 #9
0
 def setUp(self):
   self._base_path = os.path.join('test_data', 'local_fetcher')
   self._fetcher = LocalFetcher(self._base_path)