use of ddf.catalog.content.data.ContentItem in project ddf by codice.
the class CatalogFrameworkImplTest method testCreateStorage.
/**
* Tests that the framework properly passes a create request to the local provider.
*/
@Test
public void testCreateStorage() throws Exception {
List<ContentItem> contentItems = new ArrayList<>();
MetacardImpl newCard = new MetacardImpl();
newCard.setId(null);
ByteSource byteSource = new ByteSource() {
@Override
public InputStream openStream() throws IOException {
return new ByteArrayInputStream("blah".getBytes());
}
};
ContentItemImpl newItem = new ContentItemImpl(uuidGenerator.generateUuid(), byteSource, "application/octet-stream", "blah", 0L, newCard);
contentItems.add(newItem);
CreateResponse response = framework.create(new CreateStorageRequestImpl(contentItems, null));
assertEquals(response.getCreatedMetacards().size(), provider.size());
assertEquals(response.getCreatedMetacards().size(), storageProvider.size());
for (Metacard curCard : response.getCreatedMetacards()) {
assertNotNull(curCard.getId());
}
// make sure that the event was posted correctly
assertTrue(eventAdmin.wasEventPosted());
Metacard[] array = {};
array = response.getCreatedMetacards().toArray(array);
assertTrue(eventAdmin.wasEventPosted());
assertEquals(eventAdmin.getLastEvent(), array[array.length - 1]);
}
use of ddf.catalog.content.data.ContentItem in project ddf by codice.
the class HistorianTest method testRollbackFailed.
@Test(expected = IngestException.class)
public void testRollbackFailed() throws StorageException, UnsupportedQueryException, SourceUnavailableException, IngestException {
List<Metacard> metacards = getMetacardUpdatePair();
// Mock out a bad storage provider
StorageProvider exceptionStorageProvider = mock(StorageProvider.class);
doThrow(StorageException.class).when(exceptionStorageProvider).commit(any());
doThrow(StorageException.class).when(exceptionStorageProvider).rollback(any());
ContentItem item = mock(ContentItem.class);
when(item.getId()).thenReturn(METACARD_ID);
when(item.getUri()).thenReturn(RESOURCE_URI);
when(item.getMetacard()).thenReturn(metacards.get(0));
ReadStorageResponse readStorageResponse = mock(ReadStorageResponse.class);
when(readStorageResponse.getContentItem()).thenReturn(item);
when(exceptionStorageProvider.read(any())).thenReturn(readStorageResponse);
when(exceptionStorageProvider.create(any())).thenReturn(mock(CreateStorageResponse.class));
historian.setStorageProviders(Collections.singletonList(exceptionStorageProvider));
// Parameters for historian
UpdateStorageRequest storageRequest = mock(UpdateStorageRequest.class);
UpdateStorageResponse storageResponse = mock(UpdateStorageResponse.class);
UpdateResponse updateResponse = mock(UpdateResponse.class);
// send a request to update the metacard
updateMetacard(storageRequest, storageResponse, metacards.get(1));
mockQuery(metacards.get(1));
historian.version(storageRequest, storageResponse, updateResponse);
verify(exceptionStorageProvider).rollback(any(StorageRequest.class));
}
use of ddf.catalog.content.data.ContentItem in project ddf by codice.
the class HistorianTest method storeMetacard.
private void storeMetacard(Metacard metacard) {
ContentItem item = mock(ContentItem.class);
when(item.getId()).thenReturn(METACARD_ID);
when(item.getUri()).thenReturn(RESOURCE_URI);
when(item.getMetacard()).thenReturn(metacard);
storageProvider.storageMap.put(item.getUri(), item);
}
use of ddf.catalog.content.data.ContentItem in project ddf by codice.
the class TestChecksum method initialize.
@Before
public void initialize() throws IOException, NoSuchAlgorithmException {
mockChecksumProvider = mock(ChecksumProvider.class);
InputStream inputStream = mock(InputStream.class);
when(mockChecksumProvider.getChecksumAlgorithm()).thenReturn(SAMPLE_CHECKSUM_ALGORITHM);
when(mockChecksumProvider.calculateChecksum(inputStream)).thenReturn(SAMPLE_CHECKSUM_VALUE);
checksum = new Checksum(mockChecksumProvider);
List<ContentItem> mockContentItems = new ArrayList<>();
ContentItem mockContentItem = mock(ContentItem.class);
when(mockContentItem.getInputStream()).thenReturn(inputStream);
when(mockContentItem.getMetacard()).thenReturn(new MetacardImpl());
mockContentItems.add(mockContentItem);
mockCreateRequest = mock(CreateStorageRequest.class);
when(mockCreateRequest.getContentItems()).thenReturn(mockContentItems);
mockUpdateRequest = mock(UpdateStorageRequest.class);
when(mockUpdateRequest.getContentItems()).thenReturn(mockContentItems);
}
use of ddf.catalog.content.data.ContentItem in project ddf by codice.
the class PreviewStoragePlugin method createPreviewItem.
private ContentItem createPreviewItem(Metacard metacard) {
ContentItem preview = new ContentItemImpl(metacard.getId(), "preview", ByteSource.wrap(metacard.getThumbnail()), "image/jpg", metacard.getTitle(), metacard.getThumbnail().length, metacard);
metacard.setAttribute(new AttributeImpl(Metacard.DERIVED_RESOURCE_URI, preview.getUri()));
return preview;
}
Aggregations