Search in sources :

Example 6 with SourceDescriptorImpl

use of ddf.catalog.source.impl.SourceDescriptorImpl in project ddf by codice.

the class TestRestEndpoint method testGetDocumentSourcesSuccess.

/**
     * Tests getting source information
     *
     * @throws Exception
     */
@Test
public void testGetDocumentSourcesSuccess() throws Exception {
    final String localSourceId = "local";
    final String fed1SourceId = "fed1";
    final String fed2SourceId = "fed2";
    final String version = "4.0";
    final String jsonMimeTypeString = "application/json";
    Set<ContentType> contentTypes = new HashSet<ContentType>();
    contentTypes.add(new ContentTypeImpl("ct1", "v1"));
    contentTypes.add(new ContentTypeImpl("ct2", "v2"));
    contentTypes.add(new ContentTypeImpl("ct3", null));
    JSONArray contentTypesInJSON = new JSONArray();
    for (ContentType ct : contentTypes) {
        JSONObject ob = new JSONObject();
        ob.put("name", ct.getName());
        ob.put("version", ct.getVersion() != null ? ct.getVersion() : "");
        contentTypesInJSON.add(ob);
    }
    Set<SourceDescriptor> sourceDescriptors = new HashSet<SourceDescriptor>();
    SourceDescriptorImpl localDescriptor = new SourceDescriptorImpl(localSourceId, contentTypes);
    localDescriptor.setVersion(version);
    localDescriptor.setAvailable(true);
    SourceDescriptorImpl fed1Descriptor = new SourceDescriptorImpl(fed1SourceId, contentTypes);
    fed1Descriptor.setVersion(version);
    fed1Descriptor.setAvailable(true);
    SourceDescriptorImpl fed2Descriptor = new SourceDescriptorImpl(fed2SourceId, null);
    fed2Descriptor.setAvailable(true);
    sourceDescriptors.add(localDescriptor);
    sourceDescriptors.add(fed1Descriptor);
    sourceDescriptors.add(fed2Descriptor);
    SourceInfoResponse sourceInfoResponse = new SourceInfoResponseImpl(null, null, sourceDescriptors);
    CatalogFramework framework = mock(CatalogFramework.class);
    when(framework.getSourceInfo(isA(SourceInfoRequestEnterprise.class))).thenReturn(sourceInfoResponse);
    RESTEndpoint restEndpoint = new RESTEndpoint(framework);
    Response response = restEndpoint.getDocument(null, null);
    assertEquals(OK, response.getStatus());
    assertEquals(jsonMimeTypeString, response.getMetadata().get("Content-Type").get(0));
    String responseMessage = IOUtils.toString((ByteArrayInputStream) response.getEntity());
    JSONArray srcList = (JSONArray) new JSONParser().parse(responseMessage);
    assertEquals(3, srcList.size());
    for (Object o : srcList) {
        JSONObject src = (JSONObject) o;
        assertEquals(true, src.get("available"));
        String id = (String) src.get("id");
        if (id.equals(localSourceId)) {
            assertThat((Iterable<Object>) src.get("contentTypes"), hasItems(contentTypesInJSON.toArray()));
            assertEquals(contentTypes.size(), ((JSONArray) src.get("contentTypes")).size());
            assertEquals(version, src.get("version"));
        } else if (id.equals(fed1SourceId)) {
            assertThat((Iterable<Object>) src.get("contentTypes"), hasItems(contentTypesInJSON.toArray()));
            assertEquals(contentTypes.size(), ((JSONArray) src.get("contentTypes")).size());
            assertEquals(version, src.get("version"));
        } else if (id.equals(fed2SourceId)) {
            assertEquals(0, ((JSONArray) src.get("contentTypes")).size());
            assertEquals("", src.get("version"));
        } else {
            fail("Invalid ID returned");
        }
    }
}
Also used : ContentTypeImpl(ddf.catalog.data.impl.ContentTypeImpl) SourceDescriptor(ddf.catalog.source.SourceDescriptor) ContentType(ddf.catalog.data.ContentType) SourceDescriptorImpl(ddf.catalog.source.impl.SourceDescriptorImpl) JSONArray(net.minidev.json.JSONArray) Matchers.anyString(org.mockito.Matchers.anyString) SourceInfoRequestEnterprise(ddf.catalog.operation.impl.SourceInfoRequestEnterprise) QueryResponse(ddf.catalog.operation.QueryResponse) Response(javax.ws.rs.core.Response) SourceInfoResponse(ddf.catalog.operation.SourceInfoResponse) JSONObject(net.minidev.json.JSONObject) CatalogFramework(ddf.catalog.CatalogFramework) SourceInfoResponseImpl(ddf.catalog.operation.impl.SourceInfoResponseImpl) JSONParser(net.minidev.json.parser.JSONParser) JSONObject(net.minidev.json.JSONObject) SourceInfoResponse(ddf.catalog.operation.SourceInfoResponse) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 7 with SourceDescriptorImpl

use of ddf.catalog.source.impl.SourceDescriptorImpl in project ddf by codice.

the class SourceInfoResponseImplTest method setup.

@Before
public void setup() {
    firstSource = new SourceDescriptorImpl("aSource", null);
    nextSource = new SourceDescriptorImpl("BSource", null);
    lastSource = new SourceDescriptorImpl("cSource", null);
    sourceDescriptors = new TreeSet<SourceDescriptor>(new SourceDescriptorComparator());
    sourceDescriptors.add(lastSource);
    sourceDescriptors.add(firstSource);
    sourceDescriptors.add(nextSource);
}
Also used : SourceDescriptor(ddf.catalog.source.SourceDescriptor) SourceDescriptorComparator(ddf.catalog.util.impl.SourceDescriptorComparator) SourceDescriptorImpl(ddf.catalog.source.impl.SourceDescriptorImpl) Before(org.junit.Before)

Example 8 with SourceDescriptorImpl

use of ddf.catalog.source.impl.SourceDescriptorImpl in project ddf by codice.

the class SourceInfoResponseImplTest method testSourceInfoResponseNullSourceId.

@Test
public void testSourceInfoResponseNullSourceId() {
    SourceDescriptor desc = new SourceDescriptorImpl(null, null);
    sourceDescriptors.add(desc);
    SourceDescriptor[] expectedDescriptorArr = new SourceDescriptor[] { firstSource, nextSource, lastSource, desc };
    SourceInfoResponse response = new SourceInfoResponseImpl(new SourceInfoRequestLocal(true), null, sourceDescriptors);
    Set<SourceDescriptor> sources = response.getSourceInfo();
    assertArrayEquals(expectedDescriptorArr, sources.toArray(new SourceDescriptor[sources.size()]));
}
Also used : SourceDescriptor(ddf.catalog.source.SourceDescriptor) SourceDescriptorImpl(ddf.catalog.source.impl.SourceDescriptorImpl) SourceInfoRequestLocal(ddf.catalog.operation.impl.SourceInfoRequestLocal) SourceInfoResponseImpl(ddf.catalog.operation.impl.SourceInfoResponseImpl) Test(org.junit.Test)

Aggregations

SourceDescriptorImpl (ddf.catalog.source.impl.SourceDescriptorImpl)8 SourceDescriptor (ddf.catalog.source.SourceDescriptor)5 SourceInfoResponseImpl (ddf.catalog.operation.impl.SourceInfoResponseImpl)3 FederatedSource (ddf.catalog.source.FederatedSource)3 Source (ddf.catalog.source.Source)3 SourceDescriptorComparator (ddf.catalog.util.impl.SourceDescriptorComparator)3 ContentType (ddf.catalog.data.ContentType)2 SourceInfoRequest (ddf.catalog.operation.SourceInfoRequest)2 SourceInfoResponse (ddf.catalog.operation.SourceInfoResponse)2 HashSet (java.util.HashSet)2 TreeSet (java.util.TreeSet)2 Before (org.junit.Before)2 Test (org.junit.Test)2 CatalogFramework (ddf.catalog.CatalogFramework)1 StorageProvider (ddf.catalog.content.StorageProvider)1 ContentTypeImpl (ddf.catalog.data.impl.ContentTypeImpl)1 FrameworkProperties (ddf.catalog.impl.FrameworkProperties)1 QueryResponse (ddf.catalog.operation.QueryResponse)1 SourceInfoRequestEnterprise (ddf.catalog.operation.impl.SourceInfoRequestEnterprise)1 SourceInfoRequestLocal (ddf.catalog.operation.impl.SourceInfoRequestLocal)1