def ForLocal(): object_store_creator = ObjectStoreCreator(start_empty=False, store_type=TestObjectStore) host_file_system_provider = HostFileSystemProvider.ForLocal( object_store_creator) return ServerInstance( object_store_creator, CompiledFileSystem.Factory(object_store_creator), TestBranchUtility.CreateWithCannedData(), host_file_system_provider, GithubFileSystemProvider.ForEmpty(), CloudStorageFileSystemProvider(object_store_creator))
def setUp(self): object_store_creator = ObjectStoreCreator.ForTest() test_file_system = TestFileSystem(_FILE_SYSTEM_DATA, relative_to=CHROME_EXTENSIONS) object_store_creator = ObjectStoreCreator.ForTest() # TODO(mangini): create tests for GCS self._gcs_fs_provider = CloudStorageFileSystemProvider(object_store_creator) self._content_providers = ContentProviders( object_store_creator, CompiledFileSystem.Factory(object_store_creator), test_file_system, self._gcs_fs_provider)
def CreateServerInstance(self): # start_empty=False because a patch can rely on files that are already in # SVN repository but not yet pulled into data store by cron jobs (a typical # example is to add documentation for an existing API). object_store_creator = ObjectStoreCreator(start_empty=False) unpatched_file_system = self._delegate.CreateHostFileSystemProvider( object_store_creator).GetTrunk() rietveld_patcher = CachingRietveldPatcher( RietveldPatcher( self._issue, AppEngineUrlFetcher(url_constants.CODEREVIEW_SERVER)), object_store_creator) patched_file_system = PatchedFileSystem(unpatched_file_system, rietveld_patcher) patched_host_file_system_provider = ( self._delegate.CreateHostFileSystemProvider( object_store_creator, # The patched file system needs to be online otherwise it'd be # impossible to add files in the patches. offline=False, # The trunk file system for this creator should be the patched one. default_trunk_instance=patched_file_system)) combined_compiled_fs_factory = ChainedCompiledFileSystem.Factory( [unpatched_file_system], object_store_creator) branch_utility = self._delegate.CreateBranchUtility( object_store_creator) server_instance = ServerInstance( object_store_creator, combined_compiled_fs_factory, branch_utility, patched_host_file_system_provider, self._delegate.CreateGithubFileSystemProvider( object_store_creator), CloudStorageFileSystemProvider(object_store_creator), base_path='/_patch/%s/' % self._issue) # HACK: if content_providers.json changes in this patch then the cron needs # to be re-run to pull in the new configuration. _, _, modified = rietveld_patcher.GetPatchedFiles() if CONTENT_PROVIDERS in modified: server_instance.content_providers.Cron().Get() return server_instance
def _CreateServerInstance(commit): '''Creates a ServerInstance based on origin/master. ''' object_store_creator = ObjectStoreCreator( start_empty=False, store_type=PersistentObjectStoreFake) branch_utility = BranchUtility.Create(object_store_creator) host_file_system_provider = HostFileSystemProvider(object_store_creator, pinned_commit=commit) gcs_file_system_provider = CloudStorageFileSystemProvider( object_store_creator) return ServerInstance(object_store_creator, CompiledFileSystem.Factory(object_store_creator), branch_utility, host_file_system_provider, gcs_file_system_provider)
def CreateServerInstance(self): object_store_creator = ObjectStoreCreator(start_empty=False) branch_utility = self._delegate.CreateBranchUtility(object_store_creator) # In production have offline=True so that we can catch cron errors. In # development it's annoying to have to run the cron job, so offline=False. host_file_system_provider = self._delegate.CreateHostFileSystemProvider( object_store_creator, offline=not IsDevServer()) github_file_system_provider = self._delegate.CreateGithubFileSystemProvider( object_store_creator) return ServerInstance(object_store_creator, CompiledFileSystem.Factory(object_store_creator), branch_utility, host_file_system_provider, github_file_system_provider, CloudStorageFileSystemProvider(object_store_creator))
def ForTest(file_system=None, file_system_provider=None, base_path='/'): object_store_creator = ObjectStoreCreator.ForTest() if file_system is None and file_system_provider is None: raise ValueError('Either |file_system| or |file_system_provider| ' 'must be specified') if file_system and file_system_provider: raise ValueError('Only one of |file_system| and |file_system_provider| ' 'can be specified') if file_system_provider is None: file_system_provider = HostFileSystemProvider.ForTest( file_system, object_store_creator) return ServerInstance(object_store_creator, CompiledFileSystem.Factory(object_store_creator), TestBranchUtility.CreateWithCannedData(), file_system_provider, GithubFileSystemProvider.ForEmpty(), CloudStorageFileSystemProvider(object_store_creator), base_path=base_path)
def CreateServerInstance(self): object_store_creator = ObjectStoreCreator(start_empty=False) branch_utility = self._delegate.CreateBranchUtility( object_store_creator) commit_tracker = CommitTracker(object_store_creator) # In production have offline=True so that we can catch cron errors. In # development it's annoying to have to run the cron job, so offline=False. # Note that offline=True if running on any appengine server due to # http://crbug.com/345361. host_file_system_provider = self._delegate.CreateHostFileSystemProvider( object_store_creator, offline=not (IsDevServer() or IsReleaseServer()), pinned_commit=commit_tracker.Get('master').Get(), cache_only=True) return ServerInstance( object_store_creator, CompiledFileSystem.Factory(object_store_creator), branch_utility, host_file_system_provider, CloudStorageFileSystemProvider(object_store_creator))
def CreateServerInstance(self): object_store_creator = ObjectStoreCreator(start_empty=False) branch_utility = self._delegate.CreateBranchUtility( object_store_creator) # In production have offline=True so that we can catch cron errors. In # development it's annoying to have to run the cron job, so offline=False. # # XXX(kalman): The above comment is not true, I have temporarily disabled # this while the cron is running out of memory and not reliably finishing. # In the meantime, live dangerously and fetch content if it's not there. # I.e. never offline. See http://crbug.com/345361. host_file_system_provider = self._delegate.CreateHostFileSystemProvider( object_store_creator, offline=False ) # XXX(kalman): condition should be "not IsDevServer()" github_file_system_provider = self._delegate.CreateGithubFileSystemProvider( object_store_creator) return ServerInstance( object_store_creator, CompiledFileSystem.Factory(object_store_creator), branch_utility, host_file_system_provider, github_file_system_provider, CloudStorageFileSystemProvider(object_store_creator))
def CreateGCSFileSystemProvider(self, object_store_creator): return CloudStorageFileSystemProvider.ForEmpty()