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 testFilterSamples(self): sds = SamplesDataSource({}, {}, 'fake_path', _FakeRequest()) sds.get = self._FakeGet self.assertEquals(json.loads(self._ReadLocalFile('expected.json')), sds.FilterSamples('samples.json', 'bobaloo'))