use of org.codice.alliance.video.stream.mpegts.metacard.ModifiedDateMetacardUpdater in project alliance by codice.
the class CatalogRolloverActionTest method setup.
@Before
public void setup() throws SourceUnavailableException, IngestException {
FilenameGenerator filenameGenerator = mock(FilenameGenerator.class);
String filenameTemplate = "filenameTemplate";
StreamProcessor streamProcessor = mock(StreamProcessor.class);
when(streamProcessor.getMetacardUpdateInitialDelay()).thenReturn(1L);
catalogFramework = mock(CatalogFramework.class);
MetacardType metacardType = mock(MetacardType.class);
tempFile = new File("someTempFile");
URI uri = URI.create("udp://127.0.0.1:10000");
String title = "theTitleString";
childWkt = "POLYGON (( 0.5 0.5, 1.5 0.5, 1.5 1.5, 0.5 1.5, 0.5 0.5 ))";
when(metacardType.getAttributeDescriptor(AttributeNameConstants.TEMPORAL_START)).thenReturn(mock(AttributeDescriptor.class));
when(metacardType.getAttributeDescriptor(AttributeNameConstants.TEMPORAL_END)).thenReturn(mock(AttributeDescriptor.class));
UdpStreamProcessor udpStreamProcessor = mock(UdpStreamProcessor.class);
when(udpStreamProcessor.getSubject()).thenReturn(new SimpleSubject());
Context context = new Context(udpStreamProcessor);
when(udpStreamProcessor.getMetacardTypeList()).thenReturn(Collections.singletonList(metacardType));
when(udpStreamProcessor.getStreamUri()).thenReturn(Optional.of(uri));
when(udpStreamProcessor.getTitle()).thenReturn(Optional.of(title));
Security security = mock(Security.class);
Subject subject = mock(Subject.class);
when(security.getSystemSubject()).thenReturn(subject);
GeometryOperator postUnionGeometryOperator = new GeometryOperatorList(Arrays.asList(new SimplifyGeometryFunction(), new NormalizeGeometry()));
UuidGenerator uuidGenerator = mock(UuidGenerator.class);
when(uuidGenerator.generateUuid()).thenReturn("anId");
catalogRolloverAction = new CatalogRolloverAction(filenameGenerator, filenameTemplate, catalogFramework, context, new ListMetacardUpdater(Arrays.asList(new LocationMetacardUpdater(postUnionGeometryOperator, GeometryOperator.IDENTITY), new TemporalStartMetacardUpdater(), new TemporalEndMetacardUpdater(), new ModifiedDateMetacardUpdater(), new FrameCenterMetacardUpdater(postUnionGeometryOperator))), uuidGenerator);
createdParentMetacard = mock(Metacard.class);
when(createdParentMetacard.getMetacardType()).thenReturn(metacardType);
context.setParentMetacard(createdParentMetacard);
context.getGeometryOperatorContext().setDistanceTolerance(0.0025);
createdChildMetacard = mock(Metacard.class);
when(createdChildMetacard.getMetacardType()).thenReturn(metacardType);
Metacard updatedParentMetacard = mock(Metacard.class);
when(updatedParentMetacard.getMetacardType()).thenReturn(metacardType);
Metacard updatedChildMetacard = mock(Metacard.class);
when(updatedChildMetacard.getMetacardType()).thenReturn(metacardType);
CreateResponse createResponse = mock(CreateResponse.class);
CreateResponse storageCreateResponse = mock(CreateResponse.class);
Update childUpdate = mock(Update.class);
childUpdateResponse = mock(UpdateResponse.class);
Update parentUpdate = mock(Update.class);
parentUpdateResponse = mock(UpdateResponse.class);
when(createResponse.getCreatedMetacards()).thenReturn(Collections.singletonList(createdParentMetacard));
when(storageCreateResponse.getCreatedMetacards()).thenReturn(Collections.singletonList(createdChildMetacard));
when(childUpdate.getNewMetacard()).thenReturn(updatedChildMetacard);
when(childUpdateResponse.getUpdatedMetacards()).thenReturn(Collections.singletonList(childUpdate));
when(parentUpdate.getNewMetacard()).thenReturn(updatedParentMetacard);
when(parentUpdateResponse.getUpdatedMetacards()).thenReturn(Collections.singletonList(parentUpdate));
when(filenameGenerator.generateFilename(any())).thenReturn("someFileName");
when(streamProcessor.getStreamUri()).thenReturn(Optional.of(uri));
when(streamProcessor.getTitle()).thenReturn(Optional.of(title));
when(catalogFramework.create(any(CreateRequest.class))).thenReturn(createResponse);
when(catalogFramework.create(any(CreateStorageRequest.class))).thenReturn(storageCreateResponse);
when(catalogFramework.update(any(UpdateRequest.class))).thenReturn(childUpdateResponse).thenReturn(parentUpdateResponse);
when(createdChildMetacard.getLocation()).thenReturn(childWkt);
when(createdChildMetacard.getAttribute(AttributeNameConstants.TEMPORAL_START)).thenReturn(new AttributeImpl(AttributeNameConstants.TEMPORAL_START, TEMPORAL_START_DATE));
when(createdChildMetacard.getAttribute(AttributeNameConstants.TEMPORAL_END)).thenReturn(new AttributeImpl(AttributeNameConstants.TEMPORAL_END, TEMPORAL_END_DATE));
}
Aggregations