use of ddf.catalog.data.ContentType in project ddf by codice.
the class SolrProviderContentTypes method testGetContentTypesOne.
@Test
public void testGetContentTypesOne() throws Exception {
deleteAll(provider);
MockMetacard metacard1 = new MockMetacard(Library.getFlagstaffRecord());
metacard1.setContentTypeName(SAMPLE_CONTENT_TYPE_1);
List<Metacard> list = Collections.singletonList(metacard1);
create(list, provider);
Set<ContentType> contentTypes = provider.getContentTypes();
assertEquals(1, contentTypes.size());
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_1, MockMetacard.DEFAULT_VERSION)));
}
use of ddf.catalog.data.ContentType in project ddf by codice.
the class SolrProviderContentTypes method testGetContentTypesOneNoVersion.
@Test
public void testGetContentTypesOneNoVersion() throws Exception {
deleteAll(provider);
MockMetacard metacard1 = new MockMetacard(Library.getFlagstaffRecord());
metacard1.setContentTypeName(SAMPLE_CONTENT_TYPE_1);
metacard1.setContentTypeVersion(null);
List<Metacard> list = Collections.singletonList(metacard1);
create(list, provider);
Set<ContentType> contentTypes = provider.getContentTypes();
assertEquals(1, contentTypes.size());
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_1, null)));
}
use of ddf.catalog.data.ContentType in project ddf by codice.
the class SolrProviderContentTypes method testGetContentTypesComplicated.
@Test
public void testGetContentTypesComplicated() throws Exception {
deleteAll(provider);
List<Metacard> list = new ArrayList<>();
// Single content type and version
MockMetacard metacard1 = new MockMetacard(Library.getFlagstaffRecord());
metacard1.setContentTypeName(SAMPLE_CONTENT_TYPE_1);
metacard1.setContentTypeVersion(SAMPLE_CONTENT_VERSION_1);
list.add(metacard1);
// one content type with multiple versions
metacard1 = new MockMetacard(Library.getFlagstaffRecord());
metacard1.setContentTypeName(SAMPLE_CONTENT_TYPE_2);
metacard1.setContentTypeVersion(SAMPLE_CONTENT_VERSION_1);
list.add(metacard1);
MockMetacard metacard2 = new MockMetacard(Library.getFlagstaffRecord());
metacard2.setContentTypeName(SAMPLE_CONTENT_TYPE_2);
metacard2.setContentTypeVersion(SAMPLE_CONTENT_VERSION_2);
list.add(metacard2);
// multiple records with different content type but same version
metacard1 = new MockMetacard(Library.getFlagstaffRecord());
metacard1.setContentTypeName(SAMPLE_CONTENT_TYPE_3);
metacard1.setContentTypeVersion(SAMPLE_CONTENT_VERSION_3);
list.add(metacard1);
metacard2 = new MockMetacard(Library.getFlagstaffRecord());
metacard2.setContentTypeName(SAMPLE_CONTENT_TYPE_3);
metacard2.setContentTypeVersion(SAMPLE_CONTENT_VERSION_4);
list.add(metacard2);
// multiple records with different content type and different version
metacard1 = new MockMetacard(Library.getFlagstaffRecord());
metacard1.setContentTypeName(SAMPLE_CONTENT_TYPE_4);
metacard1.setContentTypeVersion(SAMPLE_CONTENT_VERSION_1);
list.add(metacard1);
metacard2 = new MockMetacard(Library.getFlagstaffRecord());
metacard2.setContentTypeName(SAMPLE_CONTENT_TYPE_1);
metacard2.setContentTypeVersion(SAMPLE_CONTENT_VERSION_4);
list.add(metacard2);
metacard1 = new MockMetacard(Library.getFlagstaffRecord());
metacard1.setContentTypeName(SAMPLE_CONTENT_TYPE_4);
metacard1.setContentTypeVersion(SAMPLE_CONTENT_VERSION_1);
list.add(metacard1);
metacard2 = new MockMetacard(Library.getFlagstaffRecord());
metacard2.setContentTypeName(SAMPLE_CONTENT_TYPE_1);
metacard2.setContentTypeVersion(SAMPLE_CONTENT_VERSION_4);
list.add(metacard2);
create(list, provider);
Set<ContentType> contentTypes = provider.getContentTypes();
assertEquals(7, contentTypes.size());
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_1, SAMPLE_CONTENT_VERSION_1)));
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_2, SAMPLE_CONTENT_VERSION_1)));
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_2, SAMPLE_CONTENT_VERSION_2)));
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_3, SAMPLE_CONTENT_VERSION_3)));
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_3, SAMPLE_CONTENT_VERSION_4)));
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_4, SAMPLE_CONTENT_VERSION_1)));
assertThat(contentTypes, hasItem((ContentType) new ContentTypeImpl(SAMPLE_CONTENT_TYPE_1, SAMPLE_CONTENT_VERSION_4)));
}
use of ddf.catalog.data.ContentType in project ddf by codice.
the class CswSourceTest method testAddingContentTypesOnQueries.
@Test
public void testAddingContentTypesOnQueries() throws CswException, UnsupportedQueryException, SecurityServiceException {
Csw mockCsw = createMockCsw();
List<String> expectedNames = new LinkedList<>(Arrays.asList("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"));
ServiceRegistration<?> mockRegisteredMetacardType = (ServiceRegistration<?>) mock(ServiceRegistration.class);
LOGGER.info("mockRegisteredMetacardType: {}", mockRegisteredMetacardType);
doReturn(mockRegisteredMetacardType).when(mockContext).registerService(eq(MetacardType.class.getName()), any(MetacardType.class), any());
ServiceReference<?> mockServiceReference = (ServiceReference<?>) mock(ServiceReference.class);
doReturn(mockServiceReference).when(mockRegisteredMetacardType).getReference();
when(mockServiceReference.getProperty(eq(Metacard.CONTENT_TYPE))).thenReturn(expectedNames);
AbstractCswSource source = getCswSource(mockCsw, mockContext);
assertThat(source.getContentTypes(), hasSize(10));
Set<ContentType> expected = generateContentType(expectedNames);
assertThat(source.getContentTypes(), is(expected));
CswRecordCollection collection = generateCswCollection("/getRecordsResponse.xml");
when(mockCsw.getRecords(any(GetRecordsType.class))).thenReturn(collection);
QueryImpl propertyIsLikeQuery = new QueryImpl(builder.attribute(Metacard.ANY_TEXT).is().like().text("*"));
expectedNames.add("dataset");
expectedNames.add("dataset 2");
expectedNames.add("dataset 3");
expected = generateContentType(expectedNames);
source.query(getQueryRequestWithSubject(propertyIsLikeQuery));
assertThat(source.getContentTypes(), hasSize(13));
assertThat(source.getContentTypes(), is(expected));
}
use of ddf.catalog.data.ContentType in project ddf by codice.
the class WfsSourceTest method testConfigureFeatureTypes.
@Test
public void testConfigureFeatureTypes() throws WfsException {
ArgumentCaptor<DescribeFeatureTypeRequest> captor = ArgumentCaptor.forClass(DescribeFeatureTypeRequest.class);
WfsSource source = getWfsSource(ONE_TEXT_PROPERTY_SCHEMA, MockWfsServer.getFilterCapabilities(), 1);
final String SAMPLE_FEATURE_NAME0 = SAMPLE_FEATURE_NAME + "0";
verify(mockWfs).describeFeatureType(captor.capture());
DescribeFeatureTypeRequest describeFeatureType = captor.getValue();
// sample feature 0 does not have a prefix
assertThat(SAMPLE_FEATURE_NAME0, equalTo(describeFeatureType.getTypeName()));
assertTrue(source.isAvailable());
assertThat(source.featureTypeFilters.size(), is(1));
WfsFilterDelegate delegate = source.featureTypeFilters.get(new QName(SAMPLE_FEATURE_NAME0));
assertThat(delegate, notNullValue());
assertThat(source.getContentTypes().size(), is(1));
List<ContentType> types = new ArrayList<>();
types.addAll(source.getContentTypes());
assertTrue(SAMPLE_FEATURE_NAME0.equals(types.get(0).getName()));
}
Aggregations