@Test
public void testPreferNewestSegment() throws Exception
{
dataSourceDir = temporaryFolder.newFolder();
descriptor1 = new File(dataSourceDir.getAbsolutePath() + "/interval10/v10/0/older", DESCRIPTOR_JSON);
descriptor2 = new File(dataSourceDir.getAbsolutePath() + "/interval10/v10/0/newer", DESCRIPTOR_JSON);
descriptor1.getParentFile().mkdirs();
descriptor2.getParentFile().mkdirs();
mapper.writeValue(descriptor1, SEGMENT_1);
mapper.writeValue(descriptor2, SEGMENT_1);
indexZip1 = new File(descriptor1.getParentFile(), INDEX_ZIP);
indexZip2 = new File(descriptor2.getParentFile(), INDEX_ZIP);
FileOutputStream fos1 = new FileOutputStream(indexZip1);
fos1.getFD().sync();
fos1.close();
Thread.sleep(1000);
FileOutputStream fos2 = new FileOutputStream(indexZip2);
fos2.getFD().sync();
fos2.close();
final Set<DataSegment> segments = new LocalDataSegmentFinder(mapper).findSegments(
dataSourceDir.getAbsolutePath(), false
);
Assert.assertEquals(1, segments.size());
Assert.assertEquals(indexZip2.getAbsolutePath(), segments.iterator().next().getLoadSpec().get("path"));
}