Search in sources :

Example 36 with ReliableResource

use of ddf.catalog.resource.data.ReliableResource in project ddf by codice.

the class MetacardResourceStatus method isResourceCached.

private boolean isResourceCached(Metacard metacard, ResourceRequest resourceRequest) {
    String key = getCacheKey(metacard, resourceRequest);
    ReliableResource cachedResource = (ReliableResource) cache.getValid(key, metacard);
    return cachedResource != null;
}
Also used : ReliableResource(ddf.catalog.resource.data.ReliableResource)

Example 37 with ReliableResource

use of ddf.catalog.resource.data.ReliableResource in project ddf by codice.

the class MetacardResourceSizePluginTest method testWhenCachedResourceSizeIsZero.

@Test
public void testWhenCachedResourceSizeIsZero() throws Exception {
    ResourceCacheInterface cache = mock(ResourceCacheInterface.class);
    ReliableResource cachedResource = mock(ReliableResource.class);
    when(cachedResource.getSize()).thenReturn(0L);
    when(cache.getValid(anyString(), any())).thenReturn(cachedResource);
    MetacardImpl metacard = new MetacardImpl();
    metacard.setId("abc123");
    metacard.setSourceId("ddf-1");
    metacard.setResourceSize("N/A");
    Result result = new ResultImpl(metacard);
    List<Result> results = new ArrayList<Result>();
    results.add(result);
    QueryResponse input = mock(QueryResponse.class);
    when(input.getResults()).thenReturn(results);
    MetacardResourceSizePlugin plugin = new MetacardResourceSizePlugin(cache);
    QueryResponse queryResponse = plugin.process(input);
    assertThat(queryResponse.getResults().size(), is(1));
    Metacard resultMetacard = queryResponse.getResults().get(0).getMetacard();
    assertThat(metacard, is(notNullValue()));
    // Since using Metacard vs. MetacardImpl have to get resource-size as an
    // Attribute vs. Long
    Attribute resourceSizeAttr = resultMetacard.getAttribute(Metacard.RESOURCE_SIZE);
    assertThat((String) resourceSizeAttr.getValue(), equalTo("N/A"));
}
Also used : Metacard(ddf.catalog.data.Metacard) Attribute(ddf.catalog.data.Attribute) QueryResponse(ddf.catalog.operation.QueryResponse) ArrayList(java.util.ArrayList) ResultImpl(ddf.catalog.data.impl.ResultImpl) ResourceCacheInterface(ddf.catalog.cache.ResourceCacheInterface) ReliableResource(ddf.catalog.resource.data.ReliableResource) MetacardImpl(ddf.catalog.data.impl.MetacardImpl) Result(ddf.catalog.data.Result) Test(org.junit.Test)

Example 38 with ReliableResource

use of ddf.catalog.resource.data.ReliableResource in project ddf by codice.

the class ResourceCacheImplTest method testPutThenGetNotPending.

/**
 * Verifies that put() method works even if entry being added was never in the pending cache list.
 */
@Test
public void testPutThenGetNotPending() throws URISyntaxException {
    MetacardImpl metacard = generateMetacard();
    ReliableResource reliableResource = createCachedResource(metacard);
    resourceCache.put(reliableResource);
    assertFalse("cache should be noop", resourceCache.isPending(CACHED_RESOURCE_KEY));
    assertNull("cache should be noop", resourceCache.getValid(CACHED_RESOURCE_KEY, metacard));
}
Also used : MetacardImpl(ddf.catalog.data.impl.MetacardImpl) ReliableResource(ddf.catalog.resource.data.ReliableResource) Test(org.junit.Test)

Example 39 with ReliableResource

use of ddf.catalog.resource.data.ReliableResource in project ddf by codice.

the class ResourceCacheImplTest method testValidationNullMetacard.

@Test(expected = IllegalArgumentException.class)
public void testValidationNullMetacard() throws URISyntaxException {
    MetacardImpl metacard = generateMetacard();
    ReliableResource cachedResource = new ReliableResource("key", "", null, null, metacard);
    resourceCache.validateCacheEntry(cachedResource, null);
}
Also used : MetacardImpl(ddf.catalog.data.impl.MetacardImpl) ReliableResource(ddf.catalog.resource.data.ReliableResource) Test(org.junit.Test)

Example 40 with ReliableResource

use of ddf.catalog.resource.data.ReliableResource in project ddf by codice.

the class ResourceCacheImplTest method containsDefaultResourceInCache.

@Test
public void containsDefaultResourceInCache() {
    ReliableResource cachedResource = createCachedResource(cachedMetacard);
    resourceCache.put(cachedResource);
    assertThat("cache should be noop", newResourceCache.contains(cachedMetacard), is(false));
}
Also used : ReliableResource(ddf.catalog.resource.data.ReliableResource) Test(org.junit.Test)

Aggregations

ReliableResource (ddf.catalog.resource.data.ReliableResource)44 Test (org.junit.Test)32 MetacardImpl (ddf.catalog.data.impl.MetacardImpl)15 Metacard (ddf.catalog.data.Metacard)14 HazelcastInstance (com.hazelcast.core.HazelcastInstance)7 Attribute (ddf.catalog.data.Attribute)7 Result (ddf.catalog.data.Result)7 File (java.io.File)7 MockInputStream (ddf.catalog.cache.MockInputStream)6 ResourceCacheInterface (ddf.catalog.cache.ResourceCacheInterface)6 ResultImpl (ddf.catalog.data.impl.ResultImpl)6 QueryResponse (ddf.catalog.operation.QueryResponse)6 ResourceRetriever (ddf.catalog.resourceretriever.ResourceRetriever)6 ArrayList (java.util.ArrayList)6 ByteArrayOutputStream (java.io.ByteArrayOutputStream)5 CacheKey (ddf.catalog.cache.impl.CacheKey)4 ResourceRequestById (ddf.catalog.operation.impl.ResourceRequestById)3 Resource (ddf.catalog.resource.Resource)3 MimeType (javax.activation.MimeType)3 Ignore (org.junit.Ignore)3