Search in sources :

Example 56 with ByteSource

use of com.google.common.io.ByteSource in project ddf by codice.

the class TestTemporaryFileBackedOutputStream method testWriteByteArrayOffLen.

@Test
public void testWriteByteArrayOffLen() throws IOException {
    temporaryFileBackedOutputStream.write(TEST_BYTE_ARRAY, 0, 1);
    ByteSource byteSource = temporaryFileBackedOutputStream.asByteSource();
    assertThat(byteSource.read(), is(TEST_BYTE_ARRAY));
}
Also used : ByteSource(com.google.common.io.ByteSource) Test(org.junit.Test)

Example 57 with ByteSource

use of com.google.common.io.ByteSource in project ddf by codice.

the class TestTemporaryFileBackedOutputStream method testWriteByteArray.

@Test
public void testWriteByteArray() throws IOException {
    temporaryFileBackedOutputStream.write(TEST_BYTE_ARRAY);
    ByteSource byteSource = temporaryFileBackedOutputStream.asByteSource();
    assertThat(byteSource.read(), is(TEST_BYTE_ARRAY));
}
Also used : ByteSource(com.google.common.io.ByteSource) Test(org.junit.Test)

Example 58 with ByteSource

use of com.google.common.io.ByteSource in project ddf by codice.

the class FileSystemStorageProviderTest method testRollback.

@Test(expected = StorageException.class)
public void testRollback() throws Exception {
    String id = UUID.randomUUID().toString().replaceAll("-", "");
    ByteSource byteSource = new ByteSource() {

        @Override
        public InputStream openStream() throws IOException {
            return IOUtils.toInputStream(TEST_INPUT_CONTENTS);
        }
    };
    Metacard metacard = mock(Metacard.class);
    when(metacard.getId()).thenReturn(id);
    ContentItem contentItem = new ContentItemImpl(id, byteSource, NITF_MIME_TYPE, TEST_INPUT_FILENAME, TEST_INPUT_CONTENTS.getBytes().length, metacard);
    CreateStorageRequest createRequest = new CreateStorageRequestImpl(Collections.singletonList(contentItem), null);
    CreateStorageResponse createStorageResponse = provider.create(createRequest);
    provider.rollback(createRequest);
    ReadStorageRequest readStorageRequest = new ReadStorageRequestImpl(new URI("content:" + id), null);
    ReadStorageResponse read = provider.read(readStorageRequest);
}
Also used : CreateStorageResponse(ddf.catalog.content.operation.CreateStorageResponse) Metacard(ddf.catalog.data.Metacard) ReadStorageRequest(ddf.catalog.content.operation.ReadStorageRequest) CreateStorageRequestImpl(ddf.catalog.content.operation.impl.CreateStorageRequestImpl) ByteSource(com.google.common.io.ByteSource) Matchers.isEmptyString(org.hamcrest.Matchers.isEmptyString) ReadStorageRequestImpl(ddf.catalog.content.operation.impl.ReadStorageRequestImpl) ReadStorageResponse(ddf.catalog.content.operation.ReadStorageResponse) URI(java.net.URI) ContentItem(ddf.catalog.content.data.ContentItem) ContentItemImpl(ddf.catalog.content.data.impl.ContentItemImpl) CreateStorageRequest(ddf.catalog.content.operation.CreateStorageRequest) Test(org.junit.Test)

Example 59 with ByteSource

use of com.google.common.io.ByteSource in project ddf by codice.

the class FileSystemStorageProviderTest method assertContentItemWithQualifier.

public CreateStorageResponse assertContentItemWithQualifier(String data, String mimeTypeRawData, String filename, String id, String qualifier, Map<String, Serializable> properties) throws Exception {
    // Simulates what ContentFrameworkImpl would do
    String uuid = StringUtils.defaultIfBlank(id, UUID.randomUUID().toString().replaceAll("-", ""));
    ByteSource byteSource = new ByteSource() {

        @Override
        public InputStream openStream() throws IOException {
            return IOUtils.toInputStream(data);
        }
    };
    ContentItem contentItem = new ContentItemImpl(uuid, qualifier, byteSource, mimeTypeRawData, filename, byteSource.size(), mock(Metacard.class));
    CreateStorageRequest createRequest = new CreateStorageRequestImpl(Collections.singletonList(contentItem), properties);
    CreateStorageResponse createResponse = provider.create(createRequest);
    List<ContentItem> createdContentItems = createResponse.getCreatedContentItems();
    ContentItem createdContentItem = createdContentItems.isEmpty() ? null : createdContentItems.get(0);
    assertNotNull(createdContentItem);
    String createdId = createdContentItem.getId();
    assertNotNull(createdId);
    assertThat(createdId, equalTo(uuid));
    String contentUri = createdContentItem.getUri();
    LOGGER.debug("contentUri = {}", contentUri);
    assertNotNull(contentUri);
    String expectedContentUri = ContentItem.CONTENT_SCHEME + ":" + uuid + ((StringUtils.isNotBlank(qualifier)) ? "#" + qualifier : "");
    assertThat(contentUri, equalTo(expectedContentUri));
    assertTrue(createdContentItem.getSize() > 0);
    String createdMimeType = createdContentItem.getMimeTypeRawData().replace(";", "");
    List<String> createdMimeTypeArr = new ArrayList<>(Arrays.asList(createdMimeType.split(" ")));
    List<String> givenMimeTypeArr = new ArrayList<>(Arrays.asList(mimeTypeRawData.replace(";", "").split(" ")));
    assertEquals(createdMimeTypeArr.size(), givenMimeTypeArr.size());
    givenMimeTypeArr.removeAll(createdMimeTypeArr);
    assertThat(givenMimeTypeArr.size(), is(0));
    provider.commit(createRequest);
    return createResponse;
}
Also used : CreateStorageResponse(ddf.catalog.content.operation.CreateStorageResponse) Metacard(ddf.catalog.data.Metacard) CreateStorageRequestImpl(ddf.catalog.content.operation.impl.CreateStorageRequestImpl) ArrayList(java.util.ArrayList) ByteSource(com.google.common.io.ByteSource) Matchers.isEmptyString(org.hamcrest.Matchers.isEmptyString) ContentItem(ddf.catalog.content.data.ContentItem) ContentItemImpl(ddf.catalog.content.data.impl.ContentItemImpl) CreateStorageRequest(ddf.catalog.content.operation.CreateStorageRequest)

Example 60 with ByteSource

use of com.google.common.io.ByteSource in project ddf by codice.

the class FileSystemStorageProviderTest method testUpdateMultipleQualifiedItemsInTheSameRequest.

@Test
public void testUpdateMultipleQualifiedItemsInTheSameRequest() throws Exception {
    // store unqualified content item
    final CreateStorageResponse createResponse = assertContentItem(TEST_INPUT_CONTENTS, NITF_MIME_TYPE, TEST_INPUT_FILENAME);
    final ContentItem createdContentItem = createResponse.getCreatedContentItems().get(0);
    final String id = createdContentItem.getId();
    final Metacard metacard = createdContentItem.getMetacard();
    // add 2 new qualified content items with the same id
    final ByteSource q1ByteSource = new ByteSource() {

        @Override
        public InputStream openStream() throws IOException {
            return IOUtils.toInputStream("q1 content");
        }
    };
    final ContentItem q1ContentItem = new ContentItemImpl(id, "q1", q1ByteSource, "image/png", "q1.png", q1ByteSource.size(), metacard);
    final ByteSource q2ByteSource = new ByteSource() {

        @Override
        public InputStream openStream() throws IOException {
            return IOUtils.toInputStream("q2 content");
        }
    };
    final ContentItem q2ContentItem = new ContentItemImpl(id, "q2", q2ByteSource, "image/png", "q2.png", q2ByteSource.size(), metacard);
    submitAndVerifySuccessfulUpdateStorageRequest(q1ContentItem, q2ContentItem);
}
Also used : CreateStorageResponse(ddf.catalog.content.operation.CreateStorageResponse) Metacard(ddf.catalog.data.Metacard) ByteSource(com.google.common.io.ByteSource) Matchers.isEmptyString(org.hamcrest.Matchers.isEmptyString) ContentItem(ddf.catalog.content.data.ContentItem) ContentItemImpl(ddf.catalog.content.data.impl.ContentItemImpl) Test(org.junit.Test)

Aggregations

ByteSource (com.google.common.io.ByteSource)68 Test (org.junit.Test)33 IOException (java.io.IOException)30 InputStream (java.io.InputStream)22 ByteArrayInputStream (java.io.ByteArrayInputStream)18 Metacard (ddf.catalog.data.Metacard)15 ContentItem (ddf.catalog.content.data.ContentItem)14 ContentItemImpl (ddf.catalog.content.data.impl.ContentItemImpl)14 File (java.io.File)14 ArrayList (java.util.ArrayList)10 CreateStorageRequestImpl (ddf.catalog.content.operation.impl.CreateStorageRequestImpl)9 URI (java.net.URI)8 HashMap (java.util.HashMap)8 CreateStorageResponse (ddf.catalog.content.operation.CreateStorageResponse)7 ByteArrayOutputStream (java.io.ByteArrayOutputStream)7 Path (java.nio.file.Path)7 Matchers.isEmptyString (org.hamcrest.Matchers.isEmptyString)7 FileInputStream (java.io.FileInputStream)6 Serializable (java.io.Serializable)6 StringWriter (java.io.StringWriter)6