Exemplo n.º 1
0
 def test_exceptions(self):
     """If get_version() failed, default version is set on the rref."""
     for exception in (Violation(), RemoteException(ValueError())):
         rref = LocalWrapper(FakeGetVersion(exception), fireNow)
         result = self.successResultOf(
             rrefutil.add_version_to_remote_reference(rref, "Default"))
         self.assertEqual(result.version, "Default")
         self.assertIdentical(result, rref)
Exemplo n.º 2
0
 def slot_testv_and_readv_and_writev(
     self,
     storage_index,
     secrets,
     tw_vectors,
     r_vector,
 ):
     mutable_client = StorageClientMutables(self._http_client)
     we_secret, lr_secret, lc_secret = secrets
     client_tw_vectors = {}
     for share_num, (test_vector, data_vector,
                     new_length) in tw_vectors.items():
         client_test_vectors = [
             TestVector(offset=offset, size=size, specimen=specimen)
             for (offset, size, specimen) in test_vector
         ]
         client_write_vectors = [
             WriteVector(offset=offset, data=data)
             for (offset, data) in data_vector
         ]
         client_tw_vectors[share_num] = TestWriteVectors(
             test_vectors=client_test_vectors,
             write_vectors=client_write_vectors,
             new_length=new_length)
     client_read_vectors = [
         ReadVector(offset=offset, size=size) for (offset, size) in r_vector
     ]
     try:
         client_result = yield mutable_client.read_test_write_chunks(
             storage_index,
             we_secret,
             lr_secret,
             lc_secret,
             client_tw_vectors,
             client_read_vectors,
         )
     except ClientException as e:
         if e.code == http.UNAUTHORIZED:
             raise RemoteException(
                 "Unauthorized write, possibly you passed the wrong write enabler?"
             )
         raise
     return (client_result.success, client_result.reads)
Exemplo n.º 3
0
 def _wrap_exception(f):
     return Failure(RemoteException(f))
Exemplo n.º 4
0
 def callRemote(self, action, *args, **kwargs):
     try:
         result = yield getattr(self.local_object, action)(*args, **kwargs)
         defer.returnValue(result)
     except HTTPClientException as e:
         raise RemoteException(e.args)