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
Exemple #4
0
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))
Exemple #9
0
 def CreateGCSFileSystemProvider(self, object_store_creator):
   return CloudStorageFileSystemProvider.ForEmpty()