in src/integrationtests/java/com/aws/iot/integrationtests/edgeconnectorforkvs/videorecorder/VideoRecorderIntegrationTest.java [94:134]
public void addFileSinkTest_startRecording_storeFiles() {
VideoRecorderBuilder builder = new VideoRecorderBuilder((rec, st, desc) -> {
});
// add camera
Assertions.assertTrue(() -> builder.registerCamera(REC_TYPE, SRC_URL));
// add file sink
final String filePrefix = RandomStringUtils.randomAlphanumeric(RECORDING_FILE_PREFIX_LEN);
final String filePathPrefix = FILE_FOLDER + "/" + filePrefix;
Assertions.assertTrue(builder.registerFileSink(CON_TYPE, filePathPrefix));
Assertions.assertFalse(builder.registerFileSink(CON_TYPE, filePathPrefix));
Assertions.assertTrue(builder.setFilePathProperty("max-size-time", 5_000_000_000L));
VideoRecorder recorder = builder.construct();
Thread recordThread = new Thread(new RunnableRecorder(recorder));
recordThread.start();
try {
TimeUnit.SECONDS.sleep(RECORDING_TIME_IN_SECONDS);
} catch (InterruptedException e) {
Assertions.fail();
}
recorder.stopRecording();
// Check stored files
long fileLen = 0;
File dir = new File(FILE_FOLDER);
FileFilter fileFilter = new WildcardFileFilter(filePrefix + "_*.mkv");
File[] files = dir.listFiles(fileFilter);
for (int i = 0; i < files.length; ++i) {
fileLen += files[i].length();
}
System.out.println("addFileSinkTest_startRecording_storeFiles: " + fileLen);
Assertions.assertTrue(fileLen > 0);
// Clean files
for (int i = 0; i < files.length; ++i) {
files[i].delete();
}
}