test_class.declarator: temporaryFolder = new TemporaryFolder(new File("target"))
test_class.modifier: @Rule
      public final
test_class.original_string: @Rule
      public final TemporaryFolder temporaryFolder = new TemporaryFolder(new File("target"));
test_class.type: TemporaryFolder
test_class.var_name: temporaryFolder
test_class.file: oak-run-commons/src/test/java/org/apache/jackrabbit/oak/run/cli/ReadOnlyBlobStoreWrapperTest.java
test_class.identifier: ReadOnlyBlobStoreWrapperTest
test_case.body: @Test
      public void readOnly() throws Exception{
          FileDataStore fds = new FileDataStore();
          fds.setPath(temporaryFolder.getRoot().getAbsolutePath());
          fds.init(null);
  
          DataStoreBlobStore writableBS = new DataStoreBlobStore(fds);
  
          BlobStore readOnly = ReadOnlyBlobStoreWrapper.wrap(writableBS);
  
          try {
              readOnly.writeBlob(new ByteArrayInputStream("foo".getBytes()));
              fail();
          } catch (Exception ignore) {
  
          }
  
          String blobId = writableBS.writeBlob(new ByteArrayInputStream("foo".getBytes()));
  
          try(InputStream is = readOnly.getInputStream(blobId)) {
              assertNotNull(is);
          }
  
      }
test_case.class_method_signature: ReadOnlyBlobStoreWrapperTest.readOnly()
test_case.full_signature: @Test public void readOnly()
test_case.identifier: readOnly
test_case.invocations: setPath getAbsolutePath getRoot init wrap writeBlob getBytes fail writeBlob getBytes getInputStream assertNotNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void readOnly()
focal_class.file: oak-run-commons/src/main/java/org/apache/jackrabbit/oak/run/cli/ReadOnlyBlobStoreWrapper.java
focal_class.identifier: ReadOnlyBlobStoreWrapper
focal_class.class_method_signature: ReadOnlyBlobStoreWrapper.wrap(BlobStore delegate)
focal_class.full_signature: public static BlobStore wrap(BlobStore delegate)
focal_class.identifier: wrap
focal_class.modifiers: public static
focal_class.parameters: (BlobStore delegate)
focal_class.return: BlobStore
focal_class.signature: BlobStore wrap(BlobStore delegate)
focal_method.body: public static BlobStore wrap(BlobStore delegate){
          Class[] interfaces = delegate.getClass().getInterfaces();
          return (BlobStore) Proxy.newProxyInstance(ReadOnlyBlobStoreWrapper.class.getClassLoader(),
                  interfaces,
                  new ReadOnlyHandler(delegate));
      }
focal_method.class_method_signature: ReadOnlyBlobStoreWrapper.wrap(BlobStore delegate)
focal_method.full_signature: public static BlobStore wrap(BlobStore delegate)
focal_method.identifier: wrap
focal_method.invocations: getInterfaces getClass newProxyInstance getClassLoader
focal_method.modifiers: public static
focal_method.parameters: (BlobStore delegate)
focal_method.return: BlobStore
focal_method.signature: BlobStore wrap(BlobStore delegate)